Klaviyo Integration
Connect your FirearmCart store with Klaviyo to drive email and SMS marketing from live store data — order events, customer profiles and your product catalog.
Features
| Feature | Description |
|---|---|
| Order events | Placed, refunded, fulfilled and declined orders sent as Klaviyo events |
| Started checkout | Abandoned-cart events for recovery flows |
| Customer sync | Customer profiles pushed to Klaviyo, plus an on-demand backfill of existing customers |
| Newsletter sync | Marketing subscribers added to a Klaviyo list |
| Catalog sync | Products synced to the Klaviyo catalog for product blocks and recommendations |
| Onsite tracking | Klaviyo’s JavaScript loaded on your storefront |
| Back in stock | A theme section for Klaviyo’s back-in-stock signup |
Prerequisites
Before connecting, you need:
- An active Klaviyo account
- Your Klaviyo private API key (used for server-side sync)
- Your Klaviyo public API key (used for onsite tracking)
Setting Up
- Navigate to Plugins > Marketplace
- Find Klaviyo
- Click Activate
- Enter your Private API Key and Public API Key
- Click Activate Plugin
Your private key is verified against Klaviyo before the plugin activates. Once active, a Klaviyo entry appears under Plugins in the sidebar — that page hosts the settings, catalog sync status, customer backfill and activity log.
Choosing What Gets Sent
Each event type can be toggled independently on the Klaviyo plugin page, so you can start with order events and add the rest later. All are on by default except logging:
| Setting | What it controls |
|---|---|
| Enable Klaviyo integration | Master switch — turn this off and nothing is sent or injected |
| Placed Order / Ordered Product | Sends a Placed Order event when an order is placed, plus one Ordered Product event per line item |
| Refunded Order | Sends a Refunded Order event when an order is refunded |
| Fulfilled Order | Sends a Fulfilled Order event when an order ships |
| Payment Declined | Sends a Payment Declined event when a payment is declined |
| Started Checkout | Sends a Started Checkout event when a customer begins checkout |
| Sync marketing subscribers to a list | Adds marketing subscribers to a Klaviyo list |
| Onsite JavaScript | Loads Klaviyo’s tracking script on your storefront |
| API logging | Records API calls in the Activity card for troubleshooting — off by default |
If list sync is enabled, pick the target list from the list dropdown (loaded from your Klaviyo account). Leave it unset and profiles are still created, but they are not added to any list.
Catalog Sync
Your products are synced to Klaviyo’s catalog so they can be used in product blocks, recommendations and back-in-stock flows.
The sync runs hourly and only sends products whose data has changed since the last run, so a routine sync is inexpensive even on a large catalog. Products must be active to sync; event products are excluded, and products that are deleted or set inactive are removed from the Klaviyo catalog.
Connecting the plugin does not trigger an immediate sync — the first push happens on the next hourly run, or when you click Sync now on the Klaviyo page.
Backfilling Existing Customers
To push customers you already have into Klaviyo, use Start backfill on the Klaviyo page. It is manual — nothing is backfilled automatically on connection.
Tick Include historical completed orders to also replay past completed orders as Placed Order and Ordered Product events. Those replays reuse the same event IDs as live events, so Klaviyo de-duplicates them.
Back in Stock
FirearmCart ships a Klaviyo — Back in Stock theme section. Add it to a product template from the visual editor to let customers subscribe to restock notifications, which Klaviyo then sends through your own flow. It only renders once your public API key is set.
See Sections for adding sections to a template.
Troubleshooting
Events Not Appearing in Klaviyo
- Confirm Enable Klaviyo integration is on and your private API key is correct
- Check that the specific event type is toggled on
- Enable API logging temporarily, then review the calls in the Activity card on the Klaviyo page
Products Missing from the Catalog
- Products must have Active status to sync; event products are never synced
- The sync only sends changed products; an unchanged product will not resend
- A newly connected store waits for the next hourly run — use Sync now if you don’t want to wait
Onsite Tracking Not Firing
- Confirm Onsite JavaScript is enabled
- Verify your public API key is set — onsite tracking uses the public key, not the private one
- Confirm the master Enable Klaviyo integration switch is on; turning it off strips the script from the storefront
Related Documentation
- Integrations Overview - All integrations
- Marketing - Marketing tools
- Events - Store event tracking
- Sections - Adding theme blocks

