Update products in Shopify
Lesson 15 of 18 7 min read
Control which products Supply Lens creates or updates in Shopify, which price it uses, customer price lists, and which fields to protect.
If your back-office system is where products and prices are maintained, Supply Lens can keep Shopify up to date for you. Because this touches what customers see, the settings are cautious by default. In this lesson you'll learn which products get updated, which price is used, and how to protect the fields your web team looks after.
The flow
You need a Product Updates Configuration with Send ticked on the Shopify Integration, and a Mapping from the back-office Integration to Shopify.
Which products are touched?
| updateActiveProducts | By default only DRAFT products are updated. When true, active (published) products are updated too. Set this carefully, because it changes what customers see. |
|---|---|
| tagIncludeFilter | When it has values, only products with at least one of these tags are created or updated in Shopify. When empty, all products are processed. |
| generateProductUpdates | When true (the default), products are created or updated in Shopify. When false, only other operations, such as customer price list updates, run. |
When to choose which. The safe default means your back office can prepare new products
as drafts while live products stay under your web team's control. Turn on
updateActiveProducts when the back office should own live product data too, such as
prices. Use tagIncludeFilter to limit the sync to a subset, for example products tagged
erp-managed. Turn off generateProductUpdates if you only want customer price lists
synced.
Test before you update active products
With updateActiveProducts on, a mistake in the back office goes straight to your live
store. Try it with a tagIncludeFilter on a handful of products first.
Which price?
| priceKey | When set, the price stored under this key in the product’s keyed prices is used instead of the standard price. Use it to send a particular price list to Shopify. |
|---|
For example, if your back office holds a retail price and a trade price, set priceKey
to the key for the retail price so Shopify always shows that one.
Customer price lists
Shopify can show particular customers their own prices through price lists.
| generateCustomerPriceListUpdates | When true, customer-specific price lists in Shopify are updated alongside product prices. |
|---|---|
| customerPricingIdentifierMap | Maps tags to customer identifiers, to work out which Shopify customer price list belongs to each customer. |
| customerPriceListNameIdentifierRegex | A pattern applied to the price list name to pull out the customer identifier. |
| customerPriceListNameIdentifierReplacement | An optional replacement used with that pattern to reshape the matched value. |
Price list matching depends on how your price lists are named, so it's usually set up with your Supply Lens contact.
Protecting fields
| disabledFieldMappings | A list of field names, each set to true or false. Setting a field to true stops Supply Lens overwriting it during the sync. |
|---|
When to use it. If your web team writes product descriptions in Shopify but prices come from the back office, disable the description field so the sync never overwrites their copy.
Hilltop Coffee's prices
Hilltop's prices are set in Unleashed. Priya wants Shopify prices to follow, but the
marketing team writes product descriptions in Shopify. She adds a Product Updates
Configuration with Send ticked, sets priceKey to the retail price key and uses
disabledFieldMappings to protect descriptions. She tags three products erp-managed,
sets tagIncludeFilter to that tag and turns on updateActiveProducts. After a week of
checking those three, she clears the tag filter.
Good to know
The exact field names to use in disabledFieldMappings aren't listed in the settings
guide. Ask your Supply Lens contact for the names that match the fields you want to
protect.
Recap
- By default only draft products are updated;
updateActiveProductsextends this to live products. tagIncludeFilterlimits the sync to tagged products, which is ideal for a trial.priceKeychooses which of the back office's prices Shopify shows.- Customer price list settings keep per-customer pricing in Shopify up to date.
disabledFieldMappingsprotects fields your web team owns.
Quick guides for this topic
Your progress is saved in this browser. Create a free account to keep it everywhere, take quizzes and earn certificates.