LensAdvisor FAQ
Basic Usage
How do I install LensAdvisor?
1. Visit our Shopify app page here and click "add app".
Once the app is installed, you will need to do the following:
For Shopify 2.0 Themes:
2. In Shopify navigate to Sales Channels > Online Store > Themes
3. For your currently active theme, click 'Customize'
---
Next: product page install
---
4. From the middle, top dropdown select 'Product' and then 'Default Product'
5. Add LensAdvisor to into the in the left hand panel by clicking the '+ Add Block'. (Most stores add this under the 'Apps' section, but it can be anywhere on the page.)
6. Select 'LensAdvisor' from the apps tab
7. Click 'Save' at the top right
---
Next: cart page install
---
8. From the middle top dropdown select 'Cart'
9. In the left hand panel, under click '+ Add Section'
10. Select 'LensAdvisor' from the apps tab
11. Click 'Save' at the top right
For Shopify 1.0 Themes:
2. Please manually install LensAdvisor following the FAQ guide below.
How do I use LensAdvisor?
LensAdvisor works similarly to how you would add products to a collection in Shopify. With LensAdvisor, you'll be creating a Lens Flow to which you'll add lenses.
1. Decide what lenses you want to offer with your products.
2. Create a Lens Flow.
3. Add your lenses.
4. Assign frame products to the Lens Flow.
Boom.
The products assigned in Step 4 will feature an add-to-cart process that shows the lenses added in Step 3
How do I hide lens products on my store?
The 'All' product collection
Many themes use this hidden collection as the main product catalog page. Instead of using this default, you can create your own product collection called 'all' and set it to exclude products with vendor=LensAdvizor.
More information
Recommended products
Shopify's default product recommender does not allow you to exclude products. If you would like this section on your site, please use a product recommender app from the Shopify app store.
I like your icons, can I use them?
Yes, you can use any of our default icons from our google drive link when setting up your Lens Flows in LensAdvisor.
Does LensAdvisor work with Cart Drawers?
LensAdvisor keeps frames and lenses bundled together on the cart page, so that it's not possible for a customer to remove just one of the items from their cart.
However your theme may have a cart drawer and which would allow a customer to remove just one of these bundled items before checking out.
LensAdvisor supports the following cart drawers:
App:
- UpCart
Theme:
- Dawn
- Vision
- Focal
- Impulse
- Flow
- Impact
If your theme is not listed, we are able to build an integration with your theme's cart drawer for a one time custom development fee of $298 USD.
To Turn on a cart drawer:
Shopify
1. Go to Shopify > online store > theme > customize
2. Click on App Embeds
3. Turn on LensAdvisor: Cart Drawer
4. From the dropdown select your theme
LensAdvisor App
5. Open the LensAdvisor App
6. From the left hand navigation select 'Settings'
7. Turn the "Advanced: Add to Cart Custom Event" setting to "Yes, Enable LensAdvizor.postAddToCart Custom Event"
Advanced Usage
How can I deploy to a Shopify 1.0 theme?
1. Download this copy of lensadvizor.liquid. Create a new snippet on your theme called lensadvizor.liquid, and copy the contents of the downloaded file into it and save.
2. Add this code block to theme.liquid. It can be anywhere in the file, but the default is just after the body tag.
<!-- LensAdvizor snippet starts -->
{% if request.page_type == 'product' or request.page_type == 'cart' %}
{% render 'lensadvizor' %}
{% endif %}
<!-- LensAdvizor snippet ends -->
How can I show LensAdvisor buttons on Home and Collection pages?
You can show LensAdvisor buttons for any product on any page. To do this:
- Go to your Sales Channel > Online Store Theme > Customize
- Click on App Embeds in the far left icon menu
- Turn on "LensAdvisor Quick Buy"
- Modify your theme code wherever you would like the button and inject the following:
<lensadvizor-quick-buy
class="la-select-lenses-btn"
data-la-quick-buy
data-la-product-id="{{ product.id }}"
data-la-variant-id="{{ product.selected_or_first_available_variant.id }}"
data-la-product-json="{{ product | json | escape }}"
data-la-flow-id=""
>
</lensadvizor-quick-buy>
5. For products assigned by product collection:
{% liquid
assign lacollectionId = ""
unless request.page_type == "collection"
for collection in product.collections
if collection.metafields.lensadvisor.collection_id != blank
assign lacollectionId = collection.metafields.lensadvisor.collection_id
endif
endfor
else
assign lacollectionId = collection.metafields.lensadvisor.collection_id
endunless
%}
<lensadvizor-quick-buy
class="la-select-lenses-btn"
data-la-quick-buy
data-la-product-id="{{ product.id }}"
data-la-variant-id="{{ product.selected_or_first_available_variant.id }}"
data-la-product-json="{{ product | json | escape }}"
data-la-flow-id="{{ lacollectionId }}"
>
</lensadvizor-quick-buy>
---
NOTE: Replace product and collection variables with the product and collection variables used in your theme code.
---
If this code is dynamically loaded
(e.g. using the section-rendering concept of Shopify), please also add data-la-quick-view="1" to <lensadvizor-quick-buy> or call LensAdvizor.init()
---
Advanced
If the product object is not immediately available:
1. You can replace data-la-product-json with data-la-product-handle, and provide the product handle instead.
2. If you are loading the product data from another source, you can omit data-la-product-json and instead load it in javascript, for example:
<script type="application/json" data-lensadvizor-product="{{ product.id }}">{{ product | json }}</script>
How do I display the lens products differently in the cart?
You can use template variables to test if a Line Item is a lens product and then choose how to display this row. This requires knowledge of HTML, CSS, and Shopify Template code.
If the product vendor has not been modified, you can use this code to test that it is a lens product:
{% unless item.vendor == "LensAdvizor" %}
{% endunless %}
If the product vendor has been modified, you can iterate over the Line Item properties and test for _productType=="lens"
How can I hide internal properties from the cart?
In your cart.liquid template, you find the code that loops over and displays cart item properties. Just inside this loop, update the code that checks for the first character to the following:
{% assign first_character_in_key = p.first | truncate: 1, '' %}
{% unless p.last == blank or first_character_in_key == '_' %}
{%endunless%}
Usually you will replace:
{% unless p.last == blank %}
with:
{% assign first_character_in_key = p.first | truncate: 1, '' %}
{% unless p.last == blank or first_character_in_key == '_' %}
How can I exclude specific products from showing the Select Lenses button?
You can exclude specific products from a Lens Flow, even if you have assigned by product collection, by adding the tag remove-rx on the frame product. This will prevent the Select Lenses button from appearing on that specific product.
How can I hide LensAdvisor products from my home and collection pages?
All shopify stores have a default “all” collection which shows every product attached to your store. This means LensAdvisor products may start to appear on your product pages. To remove them:
- Go to “Collection”
- Create a new collection called: “All”
- In Collection Type:
- Automated.
- Product Must Match: All Collections
- Product Vendor | Is not equal to | LensAdvizor
4. Save
This process will override the default “all” collection and remove all the LensAdvisor products.
How can I translate text?
Please use the Translation left hand navigation menu in the app.
Clicking on the Settings gear icon will allow you to add a new translation for a locale, please make sure the locale is in all lowercase characters, such as 'pt-pt' instead of 'pt-PT'.
- Translate Default Text -
All default text is in English, so you can 'translate English into English' by using the locale code 'en'.
- Find your locale code -
You can find the locale code your theme is using by going to Sales Channels > Online Store > Current Theme > Edit Code. Scroll down and open the 'Locales' folder. You will see files named <locale code>.json.
Example locale codes:
English = 'en'
Spanish = 'es'
French = 'fr'
How do I create values for contact lenses?
Every box of contacts has different valid values. You can create the values by making a copy of our Google Spreadsheet and choosing the valid values for each of your contact lens box products
Pricing
How do the pricing plans work?
There is a fixed monthly fee based on the plan you choose.
Commission is charged as a percentage of each order you process through LensAdvisor after the initial included orders. This means that you only pay commission on orders if the number of orders exceeds the monthly plan's included orders.
- Commission is charged on the price of Order Line Items that are added through the LensAdvisor flow. Any other Line Items added through other means will not have commission charges.
- Commission is not charged on Shipping, Tax, or any other Shopify fees.
- Commission is not charged on the 'Direct to Cart' Prescription Type, unless Add Ons are enabled for this prescription type.
What does "% per order value" mean?
We charge a set percentage as a fee on the value of order line items processed through LensAdvisor after the set number of included orders on your plan.
This means that for a Pro plan, you will be charged 1.99 USD for 100 USD of order line item revenue, and this is only applicable to orders processed after the number of included orders have been exceeded.
What are the main differences in each tier?
Most features of LensAdvisor are available to every tier.
The Pro plan comes with the ability to assign by product collection, create Add-Ons, and set Rx Limits. Each tier also has a different percentage cost per order value. Support priority also differs for each tier. Please see our pricing page for more information.