Skip to main content
When you enable catalog sync, MoEngage fetches your Shopify product data and makes it available for campaigns, flows, and personalization. This article describes the catalog sync operation, lists the data included in the sync, and provides guidance to maintain the catalog.
PrerequisitesBasic Recommendations must be enabled for your account before you use catalog sync for personalization. Accounts on the Enterprise plan have Basic Recommendations enabled by default. If you use a different plan, you can contact your Customer Success Manager or the MoEngage Support team to enable this feature.

Catalog Sync Operation

MoEngage syncs your Shopify product catalog by fetching data from your store in real time. Once synced, your catalog serves as a data source for product recommendation blocks, dynamic content in messages, and segmentation filters. Catalog sync is not enabled by default. To activate it, navigate to your Shopify integration settings in MoEngage and turn the Catalog Sync toggle on. Note that the toggle requires a one-time setup step on the MoEngage side before it takes effect.
One time activation requiredBefore catalog sync functions, the MoEngage team must activate them for your workspace. If products do not appear after you enable the toggle, you can contact your Customer Success Manager or raise a support ticket.

Configure Catalog Sync

Before you request the first sync, define your catalog schema. You name the catalog, map each attribute to a Shopify source, choose the attribute that identifies an item uniquely, and select the currency for product prices. To configure and start the catalog sync, perform the following steps:
  1. In your Shopify admin, navigate to Apps > MoEngage.
  2. Click the Sync product catalog tab.
  3. In Catalog name, enter a name for your catalog.
  4. For each attribute in the table, select a Data type and a Shopify source.
  5. Select the Mark unique checkbox for the attribute that uniquely identifies each item in your catalog.
  6. To map an attribute that the table does not already list, enter a name under Add custom attributes, select a Data type, and click Add attribute.
  7. Under Choose currency of product price, select the currency your product prices use.
  8. Click Request catalog sync.
  9. In the Confirm catalog sync dialog, click Confirm.
Sync product catalog tab showing the catalog name, the attribute mapping table, and the currency selection MoEngage prefills the table with the default mapping described in Synced Attributes. You can change the data type or the Shopify source of any prefilled attribute, or remove an attribute using the delete icon at the end of its row. Each custom attribute you add appears as a new row at the end of the table. Request catalog sync stays disabled until every row has both a data type and a Shopify source. Add custom attributes field with a name entered, a data type selected, and the Add attribute button The Shopify source list contains native product fields such as Product title, Description (HTML), Vendor / Brand, Tags, URL Handle, Variant Price, Compare at price, SKU, Inventory Qty, Variant name, and Primary Image URL. Your Shopify metafields also appear in this list, marked as Meta field.

Choose the Unique Identifier

Every catalog needs one attribute that identifies each item uniquely. Select the Mark unique checkbox on that attribute’s row. You can mark Variant ID, SKU, or a custom attribute as the unique identifier. You cannot change the unique identifier after the first sync completes, so choose an attribute whose value is different for every item. If two or more items share the same value, MoEngage treats them as the same item and keeps only the most recent values it receives for that identifier, which means the earlier item is overwritten in your catalog.

Configuration You Cannot Change After the First Sync

MoEngage fixes part of your schema once the first sync completes successfully, so review your mapping before you request the sync.
Once you sync, the currency and the attributes added so far cannot be edited or deleted. You can still add new attributes later.
After the first successful sync, you cannot rename or delete the attributes already in the table, change their data types, change their Shopify sources, or change the catalog currency. You can add new custom attributes at any time, and MoEngage includes them in the next sync. The Confirm catalog sync dialog with the Confirm button highlighted

Sync Frequency

After the first sync completes, MoEngage keeps your catalog up to date in real time. When a product changes in Shopify, that change reflects in your MoEngage catalog without waiting for a scheduled refresh, so campaigns that rely on catalog attributes such as product price, image, or availability use current values.
Real-time catalog sync is in early access.
MoEngage syncs only the products whose Shopify status is Active. If a product’s status changes from Active to any other value, MoEngage removes it from the catalog.

Synced Attributes

MoEngage prefills the mapping table with the following product attributes. Before the first sync, you can change the data type or Shopify source of any of them, remove the ones you do not need, and add your own.

Excluded Data

The following data does not sync in the default catalog sync:
  • Third-party app fields: Only native Shopify product fields and your Shopify metafields are available as sources.

Essential Considerations for Sync and Personalization

To use your catalog data effectively, review the following information:
Webhook events, such as Shopify - Order Placed and Shopify - Add to Cart, do not include product or image URLs in their payloads. To use these attributes in campaign personalization, use catalog enrichment at send time. MoEngage looks up the relevant product in your synced catalog and attaches the attributes to the message. For more information, refer here.
Field values must be consistent in type across your catalog for products to import correctly. For example, if the Variant Name field contains text strings for most products but numeric values for others, MoEngage skips the products with numeric values. You can review your Shopify data for inconsistent formats in the SKU, Price, and Variant Name fields before you sync.

Verify the Catalog Sync

To confirm the sync completes correctly, perform the following steps:
  1. In your MoEngage dashboard, navigate to Content > Catalog and check the total product count.
  2. Compare this count to your active product count in Shopify (Shopify admin > Products, filtering for active, non-draft items).
  3. If the count is lower than expected, check your Shopify product data for fields with inconsistent values, particularly Variant Name.
  4. If products are still missing despite consistent data, contact support with your workspace ID and the approximate number of missing products.

Troubleshoot

To troubleshoot catalog issues, review the following table:
InformationIf you have questions about your Shopify integration, read our FAQs.