Salesforce Commerce Cloud Optimized Catalog Sync
You will learn
Learn how to enable the Optimized Catalog Sync feature for your Salesforce Commerce Cloud integration.
Before you begin
- The SFCC store must already be integrated with Klaviyo. If it is not, complete Getting started with Salesforce Commerce Cloud first.
- Optimized Catalog sync is optional. No Klaviyo cartridge update is required to use it.
- Ask Salesforce Support to confirm that Delta Exports are enabled on your account. Not all instances have this by default.
- Access to SFCC Business Manager is required to complete setup.
Default catalog sync vs Optimized Catalog sync
A catalog sync is comprised of three components:
- The product and its associated variants
- Price
- Inventory
In the default periodic catalog sync, Klaviyo uses the Data OCAPI POST /s/-/dw/data/{version}/product_search endpoint and GET /s/-/dw/data/{version}/products/{master_product_id}/variation endpoint to sync all three components at the same time.
Both endpoints return a last_modified attribute, indicating the last time each product changed. However, it does not update when a price or inventory change occurs. Due to this limitation, Klaviyo must re-sync the entire catalog on every run to catch every price and inventory update.
This approach is inefficient and not scalable. The larger your catalog, the longer it will take Klaviyo to run a periodic catalog sync. Generally, taking 8+ hours to sync.
The Optimized Catalog Sync was built to address these shortcomings. It split product/variants, price, and inventory into 3 separate syncs:
Data | How it syncs | Cadence |
Products and variants | Delta sync. Pulls only products changed since the last run. | At specified cadence |
Inventory | Delta export from SFCC's native inventory list export. | At specified cadence |
Price | Full crawl of the catalog, price fields only. | Once a day, at a chosen time |
In doing so, both the products/variants and inventory have moved to a delta sync, only updating the products that were last_modified since the previous sync run. Enabling hourly updates to reach Klaviyo.
The price sync will still be ran against your entire catalog. Since the requests are only querying for price, it will be significantly faster to run through the entire catalog compared to the default catalog sync. You can schedule the price sync to kick off at the same time every day, to ensure any price changes you implemented reach Klaviyo shortly afterward.
How to Set up Optimized Catalog sync
Complete these steps in order. No cartridge upgrade is required.
Step 1: Request Delta Exports access
Delta exports are not available by default on all SFCC accounts. Users have to reach out to Salesforce Support to activate the feature. Support article here with more details.
Step 2: Create a Delta Export for the inventory list
In SFCC Business Manager, go to Administration > Site Development > Delta Exports.
Create one Delta Export for each site that syncs to Klaviyo. For each export:
- Set Consumer to
klaviyo. - Set Export Name to
klaviyo-{site ID}. Replace{site ID}with the actual site ID. - Add the Inventory Lists data type.
- Select the one inventory list for that site. Do not select all lists.
- Set the schedule to every 3 hours.
- Run the export once to complete setup.
Each export must contain exactly one inventory list. Klaviyo assigns every record in an export to the site tied to that list.
Step 3: Grant Klaviyo WebDAV access
In Business Manager, go to Administration > Organization > WebDAV Client Permissions.
Grant read access to /impex/src/platform/outbox/klaviyo for the client ID that already has OCAPI access.
Example text that should be added in WebDAV Client Application Permissions:
{
"client_id": "{Client ID that is assigned to Klaviyo}",
"permissions": [
{
"operations": [
"read"
],
"path": "/impex/src/platform/outbox/klaviyo/"
}
]
}Important: Before continuing, confirm that WebDAV access and OCAPI access use the same client ID. This is the most common setup error.
Step 4: Turn on Optimized Catalog sync in Klaviyo
- In Klaviyo, go to the Salesforce Commerce Cloud integration settings.
- Enable the
Optimized Catalog syncfeature.

- Set the time of day the daily price sync should run.
- Save the settings.
If it was configured correctly, you will see a healthy delta export in the feature settings.

Additional resources
- Getting started with Salesforce Commerce Cloud
Learn how to integrate Salesforce Commerce Cloud with Klaviyo. The Klaviyo cartridge and API integration allows websites using Salesforce Commerce Cloud (formerly Demandware) to quickly connect and send both real-time and historic data to Klaviyo. When you integrate Klaviyo with Salesforce Commerce Cloud (SFCC), Klaviyo will start tracking actions people take in real-time like website navigation, search tracking, viewing products, viewing categories, adding items to a cart, checking out, and ordering.