Skip to main content
Question

Shopify Integration: Update catalog/product using API

  • February 14, 2025
  • 5 replies
  • 37 views

Hi there,

I am using Klaviyo and the Shopify integration and noticed my catalog was not always in sync with the data from Shopify (inventory is, but Categories, for example, are only synced every 6 hours).

I’ve tried using the API to update product items programmatically, but keep hitting errors after errors. The API only seems to support “$custom” catalogs, not “$shopify”.

Is there a way to manually update a Shopify product using the API, or at the very least, request a resync using the API (as you can manually in the Dashboard). We’re using categories in Trigger Splits in Flows, and the data is stale more often than not.

Thanks very much.

Did this topic or the replies in the thread help you find an answer to your question?

5 replies

Forum|alt.badge.img
  • Klaviyo Employee
  • 5 replies
  • February 14, 2025

Hi - the Catalog API can only modify/work with catalogs created through the API. So, there is not a way to use the API to modify the Shopify integration-created catalog with the API.


MANSIR2094
Problem Solver IV
Forum|alt.badge.img+15
  • Problem Solver IV
  • 227 replies
  • February 14, 2025

Hello ​@npstudio ,
Klaviyo's API doesn’t support direct updates to $shopify catalogs, but you can manually trigger a resync by temporarily disabling and re-enabling the Shopify product feed in Klaviyo. For a more automated approach, consider syncing category data separately using Shopify’s API and storing it in a custom profile property. If implementation gets tricky, feel free to reach out for guidance.


  • Author
  • 3 replies
  • February 15, 2025

Thanks for your help.

@MANSIR2094 it’s product and catalog data that I need synced programmatically (more specifically tags, at product level, are never “fresh”). I understand you can add custom properties to customer profiles, but not on product items? I couldn’t find it in the docs.


MANSIR2094
Problem Solver IV
Forum|alt.badge.img+15
  • Problem Solver IV
  • 227 replies
  • February 16, 2025

Hello ​@npstudio , 

You're correct—Klaviyo doesn’t allow adding custom properties to product items directly. Klaviyo's product catalog sync relies on Shopify’s API, but it doesn’t refresh product tags in real-time.

To ensure fresh product tags programmatically, you can:

  1. Use Shopify’s API: Fetch product data (including tags) via the Shopify Admin API and send updates to Klaviyo through a custom integration.
  2. Custom Event-Based Sync: Set up a webhook in Shopify to trigger updates whenever a product tag changes, then push that data to Klaviyo as a custom event.
  3. Leverage Catalog Resyncing: While Klaviyo doesn’t provide a direct API for manual catalog updates, periodically toggling the Shopify product feed (disable → enable) forces a full resync.

If you need help implementing this, let me know, and I can guide you through the process.


Adunni
Active Contributor II
Forum|alt.badge.img+1
  • Active Contributor II
  • 21 replies
  • February 16, 2025

Hi ​@npstudio,

I see how this can be frustrating, especially when you rely on accurate data for your flows. Unfortunately, Klaviyo’s API only supports updates for $custom catalogs, not $shopify, as Shopify-managed catalogs sync on Klaviyo’s schedule (every 6 hours).

Currently, there’s no direct API method to manually trigger a Shopify product resync. However, you can try forcing a full catalog resync by:

  1. Manually triggering a resync in Klaviyo’s Catalog settings (as you mentioned).
  2. Reconnecting the Shopify integration in Klaviyo to prompt a fresh sync.
  3. Checking Shopify metafields—if they update, the next scheduled sync should pull in changes.

If you’re still facing issues or need a powerful solution to keep your data fresh, I can help you troubleshoot and explore workarounds. Let’s get this resolved—reach out now!

Best,
Adunni