Synchronization
This section provides an overview of the different types of synchronization and how they work.
Synchronization scope
There are two types of synchronization available:
- Products import: Select this option to import simple products - without variants.
- Products with variants import: Select this option to import products with variants.
Synchronization type
Manual synchronization
The app allows you to launch your synchronizations manually.
To launch a synchronization manually, follow the steps below:
- Navigate to the Synchronization tab.
- Click on the Manual sync button.
- In the modal that appears, check the Import process (required) field. Delta is preselected when a previous synchronization of the same scope ended with the SUCCESS or WARNING status; otherwise, Full is preselected. You can change it if needed.
- (Optional) Set filters.
- Click on Launch synchronization.
Please note that the delta synchronization includes only products that have been updated between the reference date and the synchronization launch date, minus 1 second. Products updated while the synchronization is already running will not be updated.
By default, the reference date of a delta synchronization is the start date and time of the last synchronization of the same scope that ended with the SUCCESS or WARNING status. You can change it to any date and time in the Select the reference date field.
Scheduled synchronization
With the app, you have the flexibility to schedule your imports with a custom frequency.
You can choose from the following frequencies:
-
Monthly
- Days of the month
- Days of the week
- Times
-
Weekly
- Days of the week
- Times
-
Daily
- Times
- Hourly - (disabled by default)
Important: Don’t schedule two synchronizations at once. The app can only run one synchronization at a time - if two are launched simultaneously, one will be automatically skipped.
When hourly synchronization is enabled for both Products and Products with variants, the app alternates between the two scopes. Only one synchronization runs each hour, meaning each scope is synchronized every two hours. For example, if Products runs at 7:00 AM, Products with variants will run at 8:00 AM.
Please note that hourly frequency is disabled by default on app instances and can only be enabled by our Product team. To request this, please contact our support team via this link.
You can schedule up to 2 synchronizations per day per scope, whatever the frequency (monthly, weekly or daily). This limit rises to 24 synchronizations per day only when hourly synchronization is enabled on your store.
Synchronizations always start on the hour (for example, 08:00): minutes cannot be set. By default, the schedule is set to 08:00 UTC for Products and 14:00 UTC for Products with variants.
Please note that the app uses UTC as its time zone. When setting up your scheduled sync, make sure to convert your local time to UTC.
For example, if you're in Paris (UTC+2) and want the sync to run at 2 AM local time, you should schedule it for 12 AM UTC.
To schedule your imports:
- Navigate to the Synchronization tab.
- Click on the Schedule sync button.
- In the modal that appears, select Custom frequency in the Frequency field.
- Set the sync frequency based on your needs: monthly, weekly, daily, or hourly (disabled by default). You can also select specific days and times.
- (Optional) Set filters.
- Click Save to confirm your selection.
The import process of a scheduled synchronization is set automatically. A scheduled synchronization runs as a Full synchronization if no previous scheduled synchronization of the same scope ended with the SUCCESS or WARNING status. Otherwise, it runs as a Delta synchronization and uses the start date and time of that last successful scheduled synchronization as its reference date. Manual synchronizations are not taken into account.
If you wish to deactivate the scheduled synchronization, follow these steps:
- Go to the Synchronization tab.
- Locate the scheduled synchronization you want to deactivate.
- Click on the Schedule sync button.
- In the modal that appears, change the frequency to Never.
- Click Save to confirm your selection.
By deactivating the scheduled synchronization, the import jobs will no longer run automatically according to the previously set frequency.
Apply filters to your imports
List of available filters:
| Filter | Scope | Import type | Information |
|---|---|---|---|
| Import process | Products, Products with variants |
Manual | Required The filters feature allows you to choose if you want to perform a full or delta import: • Full: this process is used to import the whole catalog: products, media, and metafields. Please use the full import for the first synchronization with the app. • Delta: this process is used to import changes made in the PIM catalog since the reference date: creating new products or updating values on products. When you select it, set the reference date in the Select the reference date field. Please use the delta import to reduce the import duration. For scheduled synchronizations, the import process is set automatically (see Scheduled synchronization). |
| Filter attribute | Products, Products with variants |
Manual | Optional Select a PIM Yes/No Attribute to filter the products to synchronize: only the products for which this Attribute is set to Yes are synchronized. |
| Import media | Products, Products with variants |
Manual | Optional When deselected, this filter allows you not to synchronize mapped media and to save time on the import. |
| Import metafields - PIM attributes | Products, Products with variants |
Manual | Optional When deselected, this filter allows you not to synchronize PIM attributes mapped as metafields and to save time on the import. |
| Import metafields - PIM associations | Products, Products with variants |
Manual, Scheduled | Optional When deselected, this filter allows you not to synchronize PIM associations mapped as product/variant reference metafields and to save time on the import. |
| Import metafields - PIM asset collections | Products, Products with variants |
Manual, Scheduled | Optional When deselected, this filter allows you not to synchronize PIM asset collections mapped as file metafields and to save time on the import. |
| Import secondary locales | Products, Products with variants |
Manual, Scheduled | Optional When deselected, this filter allows you not to synchronize secondary locales and to save time on the import. |
| Import markets pricing | Products, Products with variants |
Manual, Scheduled | Optional When deselected, this filter allows you not to synchronize markets pricing and to save time on the import. |
| Import pre-existing products only | Products, Products with variants |
Manual, Scheduled | Optional This filter allows you to synchronize only pre-existing products or products with variants. New products will not be synchronized. When deselected, all products will be processed, whether pre-existing in Shopify or not. |
| Publish products | Products, Products with variants |
Manual, Scheduled | Optional When deselected, this filter allows you not to assign sales channels or B2B catalogs to products synchronized. |
Optional filters only appear in the modal when the related mapping or configuration is set up in the app. For example, Import markets pricing only appears if a markets pricing mapping exists.
In the Synchronization section, you can only consult the import that is currently in progress. You will be able to verify the type of synchronization job, the method used, and the duration. Please consult the History if you need additional information about past jobs.
Product synchronization
Product synchronization allows you to import all simple products - without variants - and their attributes.
By default, all products are synchronized, regardless of their status in Akeneo. Unless an attribute is mapped for the status, the PIM Product status is automatically synchronized with the Shopify product Status.
- Set to Active in Shopify if the Product status is enabled
- Set to Draft in Shopify if the Product status is disabled
You can disable PIM product status synchronization by default to manage status directly from Shopify. Shopify will automatically assign Active status to the products you create but it's also possible to set the default status to Draft when creating products.
Please contact support to request deactivation and assign the Draft status when creating products.
Product deletion
Deleting synchronized products in Shopify is not handled by the app. If a product is deleted on the Akeneo side, it must be manually deleted in Shopify.
If a product is deleted in Shopify, it must be manually deleted in Akeneo. Otherwise, it will be recreated by the app during the next synchronization.
Product with variants synchronization
Product with variants synchronization allows you to import all product models, variants, and their attributes.
The synchronization of products with variants depends on their variant status in Akeneo:
- If the variant status is enabled, the variant will be created or updated in Shopify.
- If the variant status is disabled, the variant will not be created or updated in Shopify (it won't be deleted either).
Please note that there is an exception: if a product model has no enabled variants in Akeneo, the product model is not synchronized.
Unless an attribute is mapped for the status, the Shopify product Status of a product with variants is automatically set to Active.
List of compatible attributes as variation axis
| Attribute type | Supported by the App | Options can be sorted? | Manage option sorting |
|---|---|---|---|
| Simple select | Yes | Yes | 1/ In the PIM, go to Settings > Attributes > Your attribute 2/ Open the Options tab and reorder your options using drag and drop - make sure the “Sort automatically options by alphabetical order” setting is disabled for this to work 3/ Click Save to apply the new option order |
| Measurement | Yes | No | The options are automatically sorted in ascending order by the app. |
| Boolean | Yes | No | The options are automatically sorted in ascending order by the app. |
| Reference entity single link | Yes | Yes |
By default, the options are automatically sorted in ascending order by the app. If you want to control this sort, you must create a new number attribute with the code sort_order in your reference entity. Each reference entity record must have a unique value for this attribute so the app can sort the options in ascending order. If this attribute exists on the reference entity, the app will automatically detect it and apply the corresponding sorting logic without any additional mapping in the app. |
| Text | No | No | |
| Number | No | No | |
| Multi-select | No | No | |
| Reference entity multiple links | No | No |
Variant limitation
In the app, you can synchronize up to 2,048 variants per product, whatever your Shopify plan.
Product with variants deletion
Deleting synchronized products with variants in Shopify is not handled by the app.
If a product model is deleted on the Akeneo side, it must be manually deleted in Shopify.
If a product model is deleted in Shopify, it must be manually deleted in Akeneo. Otherwise, it will be recreated by the app during the next synchronization.
If a product variant is deleted on the Akeneo side, it must be manually deleted in Shopify: the app never deletes Shopify variants.
If a product variant is deleted in Shopify, it must be manually deleted in Akeneo. Otherwise, it will be recreated by the app during the next synchronization.
Synchronization status
The following synchronization statuses are available in the app:
| Status | Definition |
|---|---|
| PENDING | The job has been launched but not running yet. This status should last no more than a few seconds. |
| IN PROGRESS | The import is proceeding. The length will vary depending on the number of products imported. |
| SUCCESS | The import is finished with no warnings or errors. It means that all your Products have been imported entirely with the information entered in your PIM instance. |
| WARNING | The import is done with warnings and/or errors. If you did receive the following information: "Your job is completed, but it contains: X warnings X errors" It means that your job has been completed, but some of the products or product attributes could not be imported. Please consult the import logs. A synchronization that stops progressing for 30 minutes (stalled synchronization) is also ended with the WARNING status. The resources that could not be processed are reported with the global_006 log. Launch a new synchronization to process them. |
| ERROR | The import has crashed with an error. It usually means that there is an overall problem with either PIM or Shopify instance. Please consult the import logs. |
| STOPPED | The import was stopped manually by a user with the Stop button before its end. |
| SKIPPED | The scheduled synchronization did not run because another synchronization was already running on the store (log synchronization_016). No data is lost: the next delta synchronization covers the skipped period. |
How does product synchronization work?

For each product created by the app, a link is created and stored in the app's database that includes both the PIM UUID and the corresponding Shopify product ID. This allows the app to efficiently identify which PIM products need to be created or updated in Shopify during subsequent synchronizations.
You can also see how synchronization works when the pre-existing catalog feature is enabled on this page.