The Scenario
You are the Shopify store owner and you just activated Klaviyo's product recommendations feature. To make it work, your product catalog needs to live inside Klaviyo. You have 200 products in a Google Sheet — SKU, name, price, product URL, and image URL — and you need them all to become Klaviyo catalog items before you can send a single personalized product recommendation email.
The bad version:
- Read Klaviyo's catalog API documentation and discover that bulk catalog creation requires a batch job endpoint with a specific JSON body structure — not a CSV import.
- Write a script or find a no-code workaround to format 200 rows into that structure, run it, and watch 12 items fail because your price column has formatting that the API does not accept.
- Fix the 12 failures manually through Klaviyo's catalog UI one by one.
You are a store owner, not a backend developer. You opened the Klaviyo catalog feature expecting to upload a spreadsheet. What you found was an API.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Google Sheet. It reads your product data and calls Klaviyo's bulk catalog item creation endpoint in batches — no API knowledge required.
For each row in this sheet, create a Klaviyo catalog item using the product name in column A, SKU in column B, price in column C, and image URL in column D, then write the returned item ID into column E
What You Get
- Up to 100 catalog items are submitted per batch job, with SheetXAI looping through all 200 rows automatically.
- Each returned Klaviyo catalog item ID is written back into column E on the corresponding row.
- Any failed rows surface with their row number and the Klaviyo error reason, so you know exactly what to fix.
What If the Data Is Not Quite Ready
Prices are formatted with dollar signs and two decimal places that the API rejects
For each row in this sheet, create a Klaviyo catalog item using product name (column A), SKU (column B), price (column C) — strip the dollar sign and parse it as a float first — and image URL (column D), writing the returned item ID into column E
Products need to be grouped into category relationships
Read all rows from this sheet and create Klaviyo catalog items in bulk, grouping them into category relationships based on the category value in column F — create each category first if it does not already exist
The product URL column is missing for 30 rows
Create Klaviyo catalog items for all rows in this sheet; for rows where column E (product URL) is blank, use "https://yourstore.com/products/" concatenated with the SKU in column B as the URL; write the returned item ID into column F
Full catalog seed with error recovery in one pass
Create Klaviyo catalog items for all 200 rows in this sheet using name (A), SKU (B), price (C) — strip currency formatting — image URL (D), and product URL (E); write the returned item ID into column F, write "FAILED" and the error reason into column G for any row that does not succeed, then summarize total created and total failed at the bottom of column F
The catalog goes from spreadsheet to Klaviyo in one operation, and you know exactly what landed and what did not.
Try It
Get the 7-day free trial of SheetXAI and open the product sheet you use to manage your Shopify inventory, then ask it to push everything into Klaviyo's catalog. Also see how to bulk create catalog variants for products with multiple SKUs.
