Overview
The Klaviyo OpenCart Integration Extension automatically syncs your store’s products and categories with your Klaviyo Catalog whenever you perform an add, edit, or delete action in the OpenCart admin panel.
This ensures your Klaviyo catalog is always up-to-date without requiring manual intervention or feed regeneration.
The event-based system leverages OpenCart’s native Event Triggers and Klaviyo Catalog API for real-time synchronization.
How It Works
Each time you add, edit, or delete a product or category in your OpenCart admin, a corresponding event is triggered.
This event makes a secure API call to your catalog-side Klaviyo controller, which then updates Klaviyo in real time.
All event actions are automatically registered during the module installation process.
Category Sync Events
1. Sync Category to Klaviyo on Add
- Triggered when a new category is created in OpenCart.
- Automatically creates a matching Catalog Category in Klaviyo.
- Uses the OpenCart category name and ID as the unique identifier.
- Example:
When you add “Apple Products”, a corresponding entry is created in Klaviyo with external ID = category_id.
Event Trigger:
admin/model/catalog/category/addCategory/after
Klaviyo Action:POST → /api/catalog-categories
2. Sync Category to Klaviyo on Edit
- Triggered when an existing category is updated in OpenCart.
- The corresponding Klaviyo category entry is updated automatically.
- Updates include the category name or hierarchy changes.
Event Trigger:
admin/model/catalog/category/editCategory/after
Klaviyo Action:PATCH → /api/catalog-categories/{id}
3. Delete Category from Klaviyo on Delete
- Triggered when a category is deleted in OpenCart.
- The same category is removed from Klaviyo Catalog using the external ID.
- Ensures that obsolete categories are cleaned up in Klaviyo automatically.
Event Trigger:
admin/model/catalog/category/deleteCategory/after
Klaviyo Action:DELETE → /api/catalog-categories/{id}
Product Sync Events
4. Sync Product to Klaviyo on Add
- Triggered when a new product is added in OpenCart.
- Automatically creates both Catalog Item and Catalog Variant in Klaviyo.
- Product details such as title, description, price, image, and inventory quantity are included.
- Supports multi-language product data via custom metadata fields.
Event Trigger:
admin/model/catalog/product/addProduct/after
Klaviyo Actions:
POST → /api/catalog-items
POST → /api/catalog-variants
5. Sync Product to Klaviyo on Edit
- Triggered when a product is updated in OpenCart.
- Automatically updates the corresponding Catalog Item and Catalog Variant in Klaviyo.
- Updates include name, price, image, quantity, and metadata fields.
- If the product already exists in Klaviyo, the event updates it instead of recreating.
Event Trigger:
admin/model/catalog/product/editProduct/after
Klaviyo Actions:
PATCH → /api/catalog-items/{id}
PATCH → /api/catalog-variants/{id}
6. Delete Product from Klaviyo on Delete
- Triggered when a product is deleted in OpenCart.
- The associated product and variant are removed from Klaviyo Catalog.
- Prevents old or removed products from appearing in Klaviyo campaigns or product feeds.
Event Trigger:
admin/model/catalog/product/deleteProduct/after
Klaviyo Actions:
DELETE → /api/catalog-items/{id}
DELETE → /api/catalog-variants/{id}
Additional Notes
- All API responses (success or failure) are logged inside:
/system/storage/logs/huntbee_klaviyo_logs/klaviyo_logs.txt
- You can view the log file to monitor sync status and API responses from the extension itself.
- If a product or category already exists in Klaviyo, the system automatically switches from create to update mode.
- Syncs run instantly after the admin clicks Save, ensuring real-time catalog accuracy.
Benefits of Event-Based Sync
- Real-time updates — no manual feed refresh required.
- Fully automated — works seamlessly with your normal OpenCart workflow.
- Ideal for large catalogs where frequent updates occur.
- Keeps your Klaviyo product data accurate for personalized marketing, recommendations, and back-in-stock alerts.