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:

  1. Set Consumer to klaviyo.
  2. Set Export Name to klaviyo-{site ID}. Replace {site ID} with the actual site ID.
  3. Add the Inventory Lists data type.
  4. Select the one inventory list for that site. Do not select all lists.
  5. Set the schedule to every 3 hours.
  6. 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:

json
{
  "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

  1. In Klaviyo, go to the Salesforce Commerce Cloud integration settings.
  2. Enable the Optimized Catalog sync feature.
A user interface card titled "Optimized catalog sync" with a description about continuous data updates and an "Enable" button.
  1. Set the time of day the daily price sync should run.
  2. 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.

Was this article helpful?
Use this form only for article feedback. Learn how to contact support.

Explore more from Klaviyo

Community
Connect with peers, partners, and Klaviyo experts to find inspiration, share insights, and get answers to all of your questions.
Partners
Hire a Klaviyo-certified expert to help you with a specific task, or for ongoing marketing management.
Support

Access support through your account.

Email support (free trial and paid accounts) Available 24/7

Chat/virtual assistance
Availability varies by location and plan type