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

Install App Extension


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.


The products assigned in Step 4 will feature an add-to-cart process that shows the lenses added in Step 3

What lenses can I add?

LensAdvisor allows you to add unlimited lenses, including:​

1. Clear
2. Blue-Light-Blocking
3. Photochromic (light-sensitive)
4. Non-Polarised Sunglasses
5. Polarised Sunglasses

You are free to create any Lens Grouping you like in LensAdvisor to fit your needs.

What prescription types can I add?

During the lens selection process, customers can choose five options:​

1. Single Vision
2. Progressive
3. Reading
4. Non-Prescription
5. Frame Only

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.

What does "Capped amount limit reached" mean?

When you sign up for a pricing plan, Shopify sets a cap for how much can be charged in any given month. When you see this message, it means that you are approaching this limit. Click on the "Update now" link to set a higher cap.

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:


  • UpCart


  • Vision
  • Focal
  • Impulse
  • Flow

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.

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 deploy to a draft Shopify 2.0 theme

Follow the same instructions under "How do I install LensAdvisor?" above.

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:

  1. Go to your Sales Channel > Online Store Theme > Customize
  2. Click on App Embeds in the far left icon menu
  3. Turn on "LensAdvisor Quick Buy"
  4. Modify your theme code wherever you would like the button and inject the following:
5. For products assigned directly (not by product collection):
        data-la-product-id="{{ product.id }}"
        data-la-variant-id="{{ product.selected_or_first_available_variant.id }}"
        data-la-product-json="{{ product | json | escape }}"
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
            assign lacollectionId = collection.metafields.lensadvisor.collection_id
      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 }}"


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()



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 == '_' %}

Usually you will replace:

{% unless p.last == blank %}


{% 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 a Lens Flow?

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: 

  1. Go to “Collection”
  2. Create a new collection called: “All” 
  3. 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 the pricing plans work?

There is a fixed monthly fee based on the plan you choose.

Commission based plans charge a percentage of each order you process through LensAdvisor after the initial included orders. This means that you only pay for what you use after the monthly plan's included orders.

What does "% per order value" mean?

We charge a set percentage as a fee on the value of orders processed through LensAdvisor after the set number of included orders.

This means that for a Pro plan, you will be charged 0.199 USD for 10 USD of order 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.