# Quable PIM & DAM > Shopify

By
The Quable Team
Published 2024-05-24

# Subscription

# Introduction

Quable PIM and Shopify have collaborated together to introduce an advanced connector designed to enhance online sales.
Shopify offers a user-friendly platform to create and manages e-commerce stores while Quable PIM centralises and unifies product information, providing a solid platform for efficient management of products.
The integration between these two platforms is key when it comes to improving productivity.
This connector provides automatic real-time synchronisation of your products from Quable PIM to Shopify.

Quable x Shopify seamless workflow
Quable x Shopify seamless workflow


# Features

  • Product synchronization:
    Automatically synchronize all your products, variants and assets. This ensures that your Shopify store is always up-to-date with your Quable PIM.

  • Synchronization filters:
    Use dynamic filters to synchronize products based on specific criteria such as sales channel, completeness and specific attributes of products or variants.
    Only relevant products are updated on the Shopify store.

  • Multi-stores support:
    Manage and synchronize your product across multiple Shopify stores, directly from your Quable PIM.

  • Multi-currency support:
    Extend your global reach with multi-currency support.

  • Multi-language support:
    Synchronize product information in multiple languages.

  • Sales channel and markets:
    Publish your product on your sales channel and specific markets.

  • Locations:
    Enable inventory levels and product availability by activating stock locations.

  • Attribute mapping:
    Map product attributes, including variants, metaobject, metafields, pricing, and locale from Quable to Shopify.

  • Metaobject mapping:
    Map your PIM document to push to Shopify as a meta object. This includes all its attributes and main assets.

  • Product links:
    Support the cross-sell and other related product links.

  • Create, Update ?
    Depending on your needs, you can configure the connector to :

    • Create products from Quable to Shopify
    • Update products
    • Create variants
    • Update variants
  • Activity logs:
    View detailed information about each synchronisation event.

  • Configuration logs:
    View detailed information about each change in the connector configuration.

  • Configuration copy/export/import:
    You can easily copy, export and import your connector settings between different Shopify stores.


# Install the connector

Quable and Shopify integration is seamless through two applications: The Quable Shopify App and the Shopify Quable App .

These applications work together to synchronize data in real-time, ensuring that your product information remains consistent and up-to-date across both platforms.

# Install the Quable Application in your Shopify store

To connect Quable to Shopify, the first step is to install the Shopify Quable App, available on the Shopify App Store.

Quable PIM with Shopify - Install


# Add instance's name and API token

Once you added the app to your store, you will be redirected to an authentication page.
You will be asked for your instance's name as well as Quable API token.
You can find those informations in your Quable back-office:

  • In Administration -> System -> API token for the token
  • From your Quable PIM URL for the instance's name: https://{{instance}}.quable.com

Quable PIM with Shopify - Instance URL

# Install the Shopify Application in your Quable PIM instance

If previous authentication information you provided are valid, the Shopify Quable app will be also installed on your Quable PIM.
Now, You Shopify Shop is connected with your Quable instance (but not yet configured).

Click on "Direct Link" to access the Quable App Shopify. From here, you'll see all shops connected to your PIM .

Quable PIM with Shopify - Direct Link


# Configuration

In the Quable App Shopify application, you can manage the synchronisation settings, such as data model configuration, data mapping, filters etc.
You can also monitor the status of data synchronisation.

Quable PIM with Shopify - Configuration

From this point, there are three possible cases :

  • You already own a live Shopify store and a new empty Quable PIM.
    Quable and your dedicated partner can help you retrieve DataModel and datas from your Shopify shop to Quable.
    Please take contact with your partner and this actionw ill be planned with our team.

  • You're already live with your Quable PIM and want to push to an empty Shopify store.
    You can fill the Shopify store with your Quable PIM data.

# Data model

The first point in configuring synchronisation from Quable to Shopify is to set up your data model.
As you PIM Datamodel can be different from a simple Product + Variant mode, this is important for determining what type of documents will be synchronised to Shopify.
So this screen will help you define the depth of the data model and the default language for products and variants pushed to Shopify.

Quable PIM with Shopify - Datamodel

1- Select your product document type
Choose which of the document types your defined in your Quable PIM will be used as a product on Shopify.

2- Data model depth
The depth of your data model determines how the connector will manager Shopify variants.

  • PIM Datamodel with just one document type and no variants
    If your PIM data model consists of unique products with no variants, please select One level as a variant type.
    On Shopify, each product must however include one variant. The connector will be push your unique document type a product and variant.

  • PIM Datamodel with one document type and variants
    If your data model includes documents with variants (colors, sizes, materials...), you need to select Two levels. Then, select "use the variants of my documents".
    Thus, the connector will consider your documents as products and the variants of your document as variations in Shopify

  • PIM Datamodel with two document types and no variants
    If your data model includes 2 document types and you do not use the variant feature in the PIM, you need to select Two levels.
    Then, select the LinkType configured between those 2 types.
    For example, if you do have a document type "model" and another "model_variant", then select :

  • "model" as the PIM document type to push

  • "Two levels" as you datamodel depth

  • The LinkType between "model" and "model_variant"
    Thus, the connector will consider "model" as products and "model_variant" as variations in Shopify

  • PIM Datamodel with two document types and variants
    If your data model includes 2 document types and you use the variant feature in the PIM, you need to select Three levels.
    Then, select the LinkType configured between those 2 types.
    For example, if you do have a document type "model" and another "model_color" (using variant), then select :

  • "model" as the PIM document type to push

  • "Three levels" as you datamodel depth

  • The LinkType between "model" and "model_variant"
    Thus, the connector will consider "model" as products and "model_color" variants as variations in Shopify

3- Select your default locale
Select the default language used for product/variant synchronisation.
Please Check the default language of your shopify shop to match it.

# Assets

In the "Asset" tab, you can define the resources that will be used for the assets of your Shopify products.
The connector is exclusively based on the link types between products and assets. Link types determine how assets are linked to products. For example, you can link images, videos or documents to products.

Quable PIM with Shopify - Images & medias

  • Product default asset
    Select the asset link that contains your product images
    (Only images are supported)
  • Variants default asset
    Select the asset link that contains your variant images
    (Only images are supported and only the first asset will be synchronized)
  • Product & variant extra link
    Select additional asset links to upload to your Shopify store.
    When you select additional asset bindings, the connector will automatically create metafields on Shopify to reference them. These metafields will contain the GID needed to associate the additional assets with the corresponding products or variants in Shopify.
  • Alt text : Select the asset attribute to use for the SEO alternative text value.

# Filters

Filters allow you to determine precisely which products should be synchronised with your shopify shop.

Quable PIM with Shopify - Filters

  • Channel filter
    Filtering by channel allows to keep only a selection of products coming from one specific channel.

  • Completeness filter
    You can filter your products by completeness value. You can learn more about completeness on this page

  • Workflow filter
    You can filter your products by their workflow status. Learn more about workflows in Quable PIM on this page

  • Product and variant attributes filter
    You can filter your documents to sync by attributes values of the product or it's variant.

# Mapping

Please have a look at the mapping main section.

# Multi-locales

Data can be send to Shopify in one or multiple languages.
To do this, you need to activate the desired languages on your Shopify store and map them in the connector.

Once you've mapped the languages, all product attributes and metafields will be automatically translated with Quable PIM translation.
By using this multilocales feature, you can easily manage product data in multiple languages from Quable PIM.

# Multi-price

When you use Quable PIM to manage your products prices, you also have the possibility of managing several price levels, by mapping prices by currency for example.

# Import / Export / Copy configurations

You can manage your shop's configurations by export, import and copy the configuration from one shop to another. This last feature is particularly useful when you have several Shopify shops. By copying the configuration from one shop to another, you can easily copy synchronisation settings, such as the data model, mapping and filters.

# Mapping & metafields

One of the most important step is the mapping, which is the association of Shopify metafields with your Quable PIM attributes. The quality of mapped attributes will impact your product's synchronization.

You can configure product, variant, metafields, locale and price mapping.

# Product fields

Quable PIM with Shopify - product fields

Here are the elements that can be configured for each Shopify field relating to Products

Attribute Description One value for all products One value for each product
handle Unique identifier of a product on Shopify No Yes
title Product title No Yes
body_html Description with HTML content No Yes
status Status of your product when sync Yes Yes
product_type Product type to apply on product while sync No Yes
product_category Product category to apply on product while sync No Yes
template_suffix Template to apply on product while sync No Yes
sales_channel Sales channel to apply on product while sync Yes Yes
markets Shopify markets to apply on product while sync Yes Yes
tags Set of keywords to help you organize your code No Yes
vendor Manufacturer or supplier name of the product No Yes
seo_title SEO title for search engine optimization No Yes
seo_description SEO description for search engine optimization No Yes

# Variant fields

Quable PIM with Shopify - variant fields

Here are the elements that can be configured for each Shopify field relating to Variants

Shopify field Description One value for all variants One value for each variant
sku Stock Keeping Unit (SKU) of the variant No Yes
price Price of the variant No Yes
compare_at_price Compare at price No Yes
cost_per_item Cost per item No Yes
inventory_policy Shopify Inventory policy Yes Yes
track_inventory Shopify Inventory tracking Yes Yes
harmonized_system_code Customs code No Yes
country_code_of_origin Product country of origin No Yes
barcode Product barcode No Yes
tax_code Tax code No Yes
weight Variant weight No Yes
weight_unit Weight measurement unit. Possible values are GRAMS, KILOGRAMS, OUNCES, and POUNDS Yes Yes
locations Shopify Locations GIDs Yes Yes

Quable PIM with Shopify - variants

# Metafields

Metafields in Shopify let you store extra and specific information about your products.
They can be used for internal tracking or displaying custom product information on your online store. Our connector supports a large number of shopify metafield types, both single and list.

Quable PIM with Shopify - metafields

You can map every single PIM attribute to a Shopify metafield, including rich text (HTML attribute) and JSON.

# Metaobjects mapping

The Metaobject feature allows you to use a PIM document as a metaobject in Shopify. This feature allows you to manage your metaobject directly in the PIM by linking your product to another document type, such as materials or colors.

Quable PIM with Shopify - Metaobject

# Advandced configuration

Advanced configurations empower you to define additional synchronization options for your products. It's provide you a flexible and powerful way to tailor your product synchronization to your specific needs.

Quable PIM with Shopify - advanced configuration

# Multi value separator

This option allows you to choose how you want to separate multiple values for your multi-select fields. For example, you can choose a comma, semicolon, or any other available character as a separator to separate multiple values within a single field. This will ensure that the values are correctly parsed and displayed in accordance with your preferences.

# Synchronization filter policy

This allows you to manage the status of your product when it has been pushed in the past but becomes ineligible.
For example, product A was pushed yesterday.
Product A has now changed and is no longer eligible according to the filters you have configured.
What should I do with this product on Shopify?
There are 3 options for this configuration :

  • NOTHING : The connector will not changed anything on Shopify -> the product you have on your store is the last "good" version
  • DRAFT : The connector will tell Shopify to set the product as "draft"
  • ARCHIVED : The connector will tell Shopify to set the product as "archived"

# Image profile

While pushing assets to Shopify, our connector can use the "original" format of the image.
But you can decide to select a specific Image Profile in order to send lighter or different format.
Please see documentation about Image Studio

# Synchronization mode

Depending of the dataflow in your SI, you may want the PIM not ot create and update products and variants.
So you have the choice to telle the connector to :

  • Create only : "CREATE"
  • Update only : "UPDATE"
  • Create & Update : "CREATE and UPDATE"

# Sort variants by

If you want the connector to push the variants of a product in a specific order, you can choose an attribute.
The values of this attribute will be used to sort the variants of each product.
You can also decide whether the values should be sorted alphabetically or in reverse order.

# Document links to synchronize

This feature allows you to synchronize document links, linking your products in Shopify. This is particularly useful for cross-sell and up-sell scenarios. For example, you can define a cross-sell link in the PIM for products such as a t-shirt, jeans and a cap. When this link is synced, a Shopify metafield is added to your product. This metafield contains the cross-sell you have defined.

# Link Synchronization Mode

This feature allows you to choose the synchronization mode for your product links in Shopify. You can select one of the following options:

  • Child links only: Synchronizes links only for the child documents of your product.
  • Parent links only: Synchronizes links only for the parent documents of your product.
  • Child and Parent links: Synchronizes links for both child and parent products.

This flexibility helps you optimize your cross-sell and up-sell strategies by tailoring the synchronization to your business needs.

# Authorize different axes of variations

  • If this option is not checked, the connector will not push variants with a missing value for any of the configured options.
  • If this option is checked, the connector will push variants even with a missing value for any of the configured options.

# Disable metaobjects validation

This option allows you to disable meta object validation. This will result in a significant performance improvement for product sync if you have a large number of metaobjects in your Shopify. However, if metaobject validation is disabled, you must ensure that the GIDs of your metaobjects are valid in order for them to successfully sync with Shopify.

# Use predefined values label

This option allows you to use predefined value labels instead of translatable labels. For example, if the predefined value code is VAL123 and the translatable label is Luxury Bag, enabling this option will push Luxury Bag value to shopify. If this option is not enabled, the value code VAL123 will be used.

# Update existing tag values

This option allows you to update tags while preserving existing values in Shopify. For example, if your product on Shopify has the following tags: leather goods, red, luxury and your document in the PIM has the following tags: bag, woman. You will get the values leather goods, red, luxury, bag, woman if this option is enabled. Otherwise you will only get bag, woman.

# Auto-increment duplicate handles

This option is useful for bulk operations. It allows you to automatically increment handles for duplicate products in Shopify. For example, if you have a product with the handle leather-bag and you add another product with the same handle, enabling this option will automatically adjust the handle of the new product to leather-bag-1. Without this option enabled, the duplicate handle may cause an error or require manual adjustment


# ID Synchronisation

If you have edited the some sensible product attributes on Shopify (changes metafields, etc.), an ID synchronisation will allow the connector to retrieve the new attributes ID.

To sync product IDs between Quable and Shopify, follow these steps:

1 - Click on the "Synchronise IDs" button in the Quable App Shopify.
2 - A window will appear where you can filter the products you want to sync based on different criteria, such as vendor name, category, etc.

Quable PIM with Shopify - synchronisation

3- The next step is to select a unique key for each product between the two systems.
This unique key can be the SKU, the handle or any other unique attribute that is present in both systems. Finally, Click on "Synchronise IDs" to start the synchronisation process.

Quable PIM with Shopify - Data synchronization

An ID synchronisation process will start and your 2 platforms will be synchronised at the end of the process.

# Data Synchronisation

# Webhook synchronisation

This is the default synchronisation when the connector is activated.
Webhook synchronisation allows you to synchronize the data produced between Quable and Shopify in real time.
This option is useful when you want to update specific products in Shopify based on changes proposed in Quable.
We recommend that you use this option by default and only use the "Bulk" option when necessary.

# Bulk synchronisation

A Full synchronisation allows you to synchronize all your data between Quable and Shopify. This option is useful when you want to update all your product data at once.

To synchronize all your data at once

1- Click on the "Action" button, then "Synchronisation".
2- A pop-up window will open offering you the option of adding other synchronisation options: Translation, Localisation, Files, Prices, Markets, etc.

By default, all other synchronization processes (such as Translation, Localization, Files, Prices, Markets, etc.) will initiate product synchronization first. This ensures that all your products are updated on Shopify before proceeding to the next steps. However, you have the option to disable this behavior and initiate only a specific synchronization.

Quable PIM with Shopify - product & variant Data flow


# Activity logs

Effortlessly track and monitor all your synchronizations through the activity log. It offers insights into the synchronization type, its status, progress status, associated messages, as well as the start and end dates of the synchronization. You also have the option to download synchronization logs for more detailed information.

Quable PIM with Shopify - activity


# Multishop

The Quable-Shopify connector lets you connect multiple Shopify shops to the same Quable instance. This means you can manage multiple Shopify shops from your PIM, with specific configurations for each shop. This enables centralised management of product data, seamless integration between systems and consistent data of your products across all your online shops.


# Synchronization Performance

Response times observed during Quable PIM to Shopify synchronization operations show significant variability that must be taken into account.

# Observed Metrics

  • Optimal time: ~0.3 seconds per item
  • Average time: 0.7-3 seconds per item
  • Very degraded time: up to 30 seconds per item
  • Max/min ratio: 100x factor

# Performance Impacting Factors

# Shopify Architecture and Rate-limiting
  • Variable quotas depending on plan:
    • Basic: ~2 requests/second
    • Shopify: ~4 requests/second
    • Advanced: ~8 requests/second
  • "Leaky bucket" system:
    • 40 points/request for GraphQL mutations
    • Progressive point restoration (~0.5 point/second)
  • Hidden Shopify internal queue
  • Dynamic throttling behavior based on global load
# Target Store Context
  • Store CPU/memory load
    • Peaks during high traffic hours
    • Impact of webhooks and other integrations
    • Ongoing order processing
  • Catalog volume
    • Total number of products
    • Variant complexity
    • Number of collections
  • Other concurrent operations:
    • Ongoing imports/exports
    • Mass updates
    • Inventory recalculations
# Infrastructure and Network
  • Geographic location
    • Latency based on data center distance
    • Performance variations between regions
  • Network status
    • Peak hour congestion
    • DNS latency
    • Connection stability
  • Shopify service health
    • Planned maintenance
    • Technical incidents
    • Ongoing deployments

# Frequently Asked Questions

# Synchronisation methods

# Let me explain the available methods

Quable PIM Shopify Connector supports 2 synchronization methods.
By default, products are synchronized live as they are modified.
Full synchronization is available, but is not recommended unless you take specific action.
Scheduled synchronization is not available.

# What is the difference between Webhook Sync and Bulk Sync, and when should I use full synchronization ?

Webhook Sync is a real-time synchronization method that pushes changes from Quable PIM to Shopify immediately as they happen. It’s ideal for keeping your Shopify store consistently updated with ongoing product changes without manual intervention.

Bulk Sync (Full Synchronization), on the other hand, updates all product data at once, regardless of recent changes. It’s best used for initial setups or when large-scale updates are required, such as after significant changes in your catalog or system.

Use Full Synchronization when you need to ensure that all data is fully synced, especially after large imports, structural changes, or when certain products might have been missed during regular updates.

# How to disable inventory synchronization for a specific Shopify Shop ?

  1. Disable inventory field synchronization: In the Variant Fields Mapping section, locate the inventory-related fields such as track_inventory, locations, inventory_policy and then unmap / disable them.

  2. Save and verify: Save the changes and perform a product update to confirm that inventory information is no longer synchronized.

# How to Use "Product Category" in Shopify Sync ?

The Product Category field in the Quable-Shopify connector allows you to map and assign specific product categories to your Shopify products during synchronization.
Value should be ID that you can retrireive here Shopify Taxonomy IDs

# Why my metaobject document doesn't trigger synchronization ?

Currently, when a document in Quable PIM used as a metaobject in Shopify is modified, it does not trigger synchronization of that metaobject or its associated documents. This is because metaobject updates are not part of the current data model configuration in the connector.

Any changes made to a metaobject document in Quable PIM will only synchronize to Shopify when a product or variant associated with that metaobject is updated in the PIM.

# Why My Filter Isn’t Working Properly with Select Attribute?

The issue arises when using a select attribute in your filter. The Shopify connector checks the label value to verify the condition, not the attribute code.

# Does the connector support transparent PNG files?

Yes, transparent PNG files are fully supported. You can add them in Quable PIM and they will automatically sync to Shopify while maintaining their transparency.
Note: If you have configured an image resizing profile in the connector's advanced settings, make sure the transparency option is enabled to preserve this effect during resizing.

# Why Are My Product Images Missing Despite Successful Synchronization?

If your product synchronizes successfully but the images are missing, it may be due to the image resolution being too large for Shopify to support.

To resolve this issue, you can either manually reduce the resolution of your image or use an Image Studio Profile in Quable PIM. The profile will automatically resize the image to an appropriate resolution before sending it to Shopify, ensuring that the images are correctly uploaded and displayed.

# How to Easily Test a Selection of Shopify Products?

To test a selection of products on Shopify without affecting your entire catalog, follow these steps:

1- Create a specific attribute: Create an attribute in Quable PIM that will act as a filter in the Shopify connector.

2- Add the attribute to the filters: Include this attribute in the synchronization filters of the connector.

3- Modify the attribute for the selected products: Apply this attribute to the desired product selection via import, bulk editing, or directly through the interface.

By following this process, you can test a small selection of products and ensure that not all products are pushed to Shopify.

# How can I set a product to draft status on creation AND keep the status set in Shopify on update?

It's not possible with the current connector.
If this is required in your management, we would advise you not to configure a status in the connector and to manage this directly in Shopify.

"So, this means not mapping the status attribute in the connector, but also set the NOTHING value in Synchronisation filtering policy in the advanced configuration ?"

This setting indicates what to do if a product is no longer eligible. If, for example, you want to be sure that the connector archives a product if it is no longer eligible, you need to select a value.
But when it is eligible again, you need to manage the activation on the Shopify side. It's is more complicated.
Depending on your situation, a value could be possible.

# What attributes connect products and variants from Quable to Shopify?

For the product, the data used as an identifier between the PIM and your Shopify shop is that mapped with "handle (string) ".
For the variants, you need to map "sku (string) ".

Please note that the operation of the connector itself is more complex.
Once a product or variant has been pushed to Shopify, the connector retains the internal identifiers of the 2 platforms. These identifiers then serve as the link between your PIM and Shopify data.

This means, for example, that :

  • you can change the value of the attribute that manages the "handle" of your products.
  • the previously synchronised product will be updated with the new handle
  • no new products will be created

# Shopify Synchronisation Troubleshooting

You may encounter synchronisation errors or products that are not pushed. Depending on your processes, the PIM may not be the only element responsible for creating and/or enriching products and variants.
Here are some possible cases of error messages or behaviour and what we can deduce from them.

# Images of the variants are also included with the product.

When you add an image to a variant in Shopify and save it, the image is automatically added to the product's media gallery.
This behavior is by design to ensure that all images associated with any variant are also available in the product's main gallery.

The connector acts in the same way as the shopify backend.

# How to understand why my product/variant was not sync ?

There can be several reasons why your product or variant was not synchronized with Shopify. Common issues include:

  • Incorrect metafield types: The metafield type may not be properly defined.
  • Filters not respected: Products may not meet the set filters for synchronization.
  • Empty product title: Shopify requires a title, and if it is missing, synchronization will fail.
  • Unsupported characters: Certain characters may not be accepted by Shopify.

Steps to Investigate:

1- Go to the Activity Log in the Quable Shopify connector..

2- Look at the synchronization history and find the product or variant in question.

3- Click on the specific log entry to see detailed information about the synchronization process, including any errors or reasons for failure.

# A variant is not pushed to Shopify

# The variant has been updated directly in Shopify and options are not defined anymore

If you see errors like those :

  • Namespace can't be blank variant metafield
  • Namespace is too short (minimum is 3 characters)
  • Key can't be blank variant metafield
  • Key is too short (minimum is 3 characters)

and your variant in Shopify looks like this :

Quable PIM with Shopify - Shopify Default title

This means that there has been a lack of synchronisation between the PIM and Shopify.
In concrete terms, the variant you see in Shopify has no option.
This can happen when an import has "cleaned up" the options.
For example, if you don't follow the Shopify recommendations (step 3), then you may have deleted variants and created variants with no option ("Default Title").
To remedy this, you need to re-synchronize the IDs in the connector.