Shopify: How to avoid the 100 variations limit

Create new product for each configuration in Shopify

This feature requires to have a working Expivi Shopify Integration.

This document described the Expivi Plugin feature to create new products for each configuration that is ordered which is meant as an alternative to the default plugin option that creates product variants for each configuration. Because Shopify has a limit of a 100 price variants for a single product this new option serves as an alternative to avoid the price variants limit from being reached.

As an additional benefit the new option supports the inclusion of a rendered image of the configured product in the check out.

Standard Method Alternative Method
create new variant for each configuration create new product for each variation
include standard Shopfiy product image in check out include image of configuration in checkout
update stock of original product update stock of original product

When you have installed the Expivi Shopify app, it is possible that you have not given Expivi all the necessary permissions to function properly. A warning should appear on the top of the Shopify Expivi admin panel.

The steps consist of the following:

  1. Change the option within the Shopify Expivi admin panel
  2. Make some theme changes to adapt to the new functionality
    2a. product-template.liquid
    2b. theme.liquid
  3. Create a filter on your existing collections.

1. Change the option within the Shopify Expivi admin panel

In your Shopify admin environment

  1. Go to the apps section and open the Expivi app
  2. Look for the General Settings section
  3. To activate the new feature set this setting to “Create an Expivi product replica for each configuration”.

2. Update your theme to adapt to the new functionality

The theme changes that you add to your theme will be used so that the configured product will redirect to the main product. These theme changes will also make sure that the Expivi Product Replica’s will be hidden from SEO.

You can edit your theme in the theme’s menu by “editing the code”

2a product-template.liquid

The product-template liquid has been adjusted so that it takes the new Expivi Product Replica into consideration. All the “Configure” buttons will redirect themselves to the main product.

Please be careful when changing this code since this is all theme dependent. Below is just an example of the default Shopify theme.

In the theme files of Shopify you should find a product-template.liquid you have changed before. The code that needs to be changed for the product-template.liquid is as follows:

{% if product.type != "Configurable Product" %}

at the start of the code for the buy/configure button. This needs to be changed into

{% if product.type != "Configurable Product" and product.type != "Expivi Product Replica" %}

A little more below there is a piece of code that looks like this:

{% else %}
<div class="product-form__controls-group product-form__controls-group--submit">
<a href="/apps/configurator?catalogue={{}}&amp;currency={{cart.currency.iso_code}}&amp;locale={{request.locale.iso_code}}" 
class="btn product-form__cart-submit">Configure</a>
{% endif %}

Change this into:

{% else %}
<div class="product-form__controls-group product-form__controls-group--submit">          
<a href="/apps/configurator?catalogue={%- if product.type == "Expivi Product Replica" %}{{product.metafields.expivi.parent_id}}{%- else -%}{{}}{%- endif -%}&amp;currency={{cart.currency.iso_code}}&amp;locale={{request.locale.iso_code}}" 
class="btn product-form__cart-submit">Configure</a>
{% endif %}

2b. theme.liquid

To make sure Expivi Product Replica’s do not show up on SEO, you have to add a small piece of code within the <head> tag in the theme.liquid file:

{% if product.type == "Expivi Product Replica" %}  <meta name="robots" content="noindex">{% endif %}

3. Create a filter on your existing collections.

This new functionality adds, as stated before, for each new configuration a new product. To make sure that the configured product does not show up in your catalogue you need to add a filter to your existing catalogues. This can be done by navigating to Products → Collections → select the collection you are displaying on your site → Add the condition: “product type” “is not equal to” “Expivi Product Replica”. Repeat this for all the collections that you are displaying on your shop. It is very important that the third part of the condition is correct.

4. Result

a. A rendered image of the configuration is shown in the check out

b. A product replica is created for each configuration (this can be filtered out to not make these shown on in webshop)

c. The stock from the original product is updated