Klaviyo
This is a pro feature. Get the pro version here
Klaviyo is an email and SMS marketing platform. Its flows trigger on what shoppers do on your site: an abandoned cart email needs a Started Checkout event, a browse abandonment email needs Viewed Product, a segment of engaged shoppers needs the events that describe engagement. The Pixel Manager sends these onsite events to Klaviyo, alongside Klaviyo's own WooCommerce integration, which keeps doing what only it can do.
What the Pixel Manager does, and what Klaviyo's plugin keeps doing
Klaviyo's WooCommerce integration consists of the official Klaviyo plugin on your shop and a connection you set up in your Klaviyo account. Together they sync your orders (Placed Order, Ordered Product, Fulfilled Order, Cancelled Order, Refunded Order), your product catalog, your customer profiles, and they render Klaviyo's forms and popups, the newsletter consent checkbox at checkout and the return link in abandoned cart emails that rebuilds the cart. The Pixel Manager touches none of that. Keep the Klaviyo plugin installed and connected.
What the Klaviyo plugin does not do well is the onsite tracking, and that is what the Pixel Manager takes over:
- Consent. The Klaviyo plugin loads its tracking script and sends
Viewed ProductandAdded to Cartbefore a visitor has answered your cookie banner, and it has no way to do otherwise. The Pixel Manager gates all Klaviyo onsite tracking on marketing consent, the same way it gates every other marketing pixel. - Started Checkout that fires. The Klaviyo plugin detects the checkout with a fragile script that breaks on many custom checkouts, such as CheckoutWC or CartFlows. Since abandoned cart flows trigger on exactly this event, a missed
Started Checkoutis a missed recovery email. The Pixel Manager reports it from the same checkout detection it uses for every other platform. - More events. The Klaviyo plugin sends four events. The Pixel Manager adds
Viewed Collection,Submitted Search,Viewed Cart,Selected Product,Removed from Cart,Added to Wishlist,Added Shipping InfoandAdded Payment Info, all usable as flow triggers and segment conditions.
Every event the Pixel Manager sends lands on the same Klaviyo metrics the Klaviyo plugin's events would have. Klaviyo files metrics by name and integration, and the Pixel Manager tags every event for the WooCommerce integration, so your existing flows, segments and reports keep working without any change in Klaviyo.
Setup
-
Open Klaviyo: https://www.klaviyo.com/
-
Browse to Settings > Account > API keys
-
Copy the Public API Key, also called the Site ID. It is 6 letters and digits.
-
In the Pixel Manager, open Tracking Pixels → Klaviyo, paste the key into the Public API Key field, and save.
That's it. As soon as the key is saved, the Pixel Manager takes over the onsite tracking from the Klaviyo plugin on your shop. Nothing changes in your Klaviyo account, and nothing changes on your shop before you save the key.
Coexistence with the Klaviyo plugin
The Klaviyo Plugin Coexistence setting in the Klaviyo advanced settings section decides how the Pixel Manager shares the onsite tracking with the official Klaviyo plugin. Leave it on Automatic unless you have a reason not to.
| Setting | What happens |
|---|---|
| Automatic (recommended) | With the Klaviyo plugin active and its version verified by us, the Pixel Manager takes over its onsite tracking. With a Klaviyo plugin version we have not verified yet, the Pixel Manager only sends the events the plugin never sends, and shows a notice. Without the Klaviyo plugin, the Pixel Manager runs standalone. |
| Take over the Klaviyo plugin tracking | Forces the takeover, also for a Klaviyo plugin version we have not verified. Use it after checking on your shop that Klaviyo receives each event once. |
| Only send events the Klaviyo plugin does not send | The Klaviyo plugin keeps its own tracking, including its unconsented script load, and the Pixel Manager adds only the events it never sends. |
| Send nothing to Klaviyo | Turns the Klaviyo pixel off without removing the key. |
How the takeover works
The Klaviyo plugin registers five pieces of tracking on your shop: its tracking script, the identification of logged-in visitors, Viewed Product, Added to Cart and Started Checkout. In takeover mode the Pixel Manager removes exactly these five and sends the events itself. Everything else the plugin does stays in place: the order sync to Klaviyo, the catalog and profile sync, the newsletter checkbox, the cart return link, the forms and popups.
The Pixel Manager loads Klaviyo's tracking script itself, gated on marketing consent, on every page except the checkout. Klaviyo's plugin skips the checkout on purpose so that no popup interrupts a buyer, and the Pixel Manager matches that. Checkout events still reach Klaviyo, through Klaviyo's public event endpoint.
Why the version matters
The takeover removes the Klaviyo plugin's tracking by the names it registers under, and it uses the plugin's own code to build the cart return link for abandoned cart emails. A Klaviyo release that renames one of them could make the plugin's tracking run again next to the Pixel Manager's, and every Viewed Product would count twice. Automatic mode therefore only takes over for Klaviyo plugin versions we have verified. On a newer version it falls back to sending only the events the plugin never sends, which can under-report but never double-count, and it shows a notice on the dashboard until we have verified the new release.
If a Klaviyo update lands before we have verified it, you can check the takeover yourself with the console output and force it with Take over the Klaviyo plugin tracking.
Klaviyo is not receiving orders
The Pixel Manager never sends orders to Klaviyo while the Klaviyo plugin is active. Klaviyo produces Placed Order from its own sync of your shop, and it does not recognise an order sent by the Pixel Manager as the same order, so sending it as well would double every order in your Klaviyo revenue reports and trigger every post-purchase flow twice.
That sync only runs while the WooCommerce integration is connected in your Klaviyo account. A shop with the Klaviyo plugin installed but never connected sends Klaviyo no orders at all, and the Pixel Manager shows an opportunity card when it finds that state. Connect the integration in Klaviyo under Integrations > WooCommerce. There is nothing to configure in the Pixel Manager for that.
Customer identification
Klaviyo only attaches an event to a profile it can identify. Anonymous visitors are identified through the cookie Klaviyo's tracking script writes, and that is enough for Viewed Product and Added to Cart to appear on an anonymous profile that later merges into the customer's when they identify themselves.
With Customer Identification enabled in the Klaviyo advanced settings section, the Pixel Manager also identifies known shoppers to Klaviyo directly: logged-in customers, shoppers who have typed their email address into the checkout, and the buyer on the order confirmation page. It sends the email address, and for logged-in customers the name and phone number, so their browsing, cart and checkout events attach to their Klaviyo profile right away. Abandoned cart and browse abandonment flows trigger on exactly those events for exactly those profiles.
Unlike the advanced matching of the ad platforms, these values are not hashed. Klaviyo is your own marketing tool showing you your own customer records, and a hash would make the profile useless to you. That also means real personal data is sent to Klaviyo, so check it against your privacy policy and your Klaviyo data processing agreement before enabling it.
Events API
The Events API is only used when the Pixel Manager runs standalone, that is when the official Klaviyo plugin is not active on your shop. With the plugin active, Klaviyo produces the orders itself, see above.
In standalone mode there is nothing else on your shop reporting orders to Klaviyo, so the Pixel Manager does it through Klaviyo's Events API, server-side, triggered directly by WooCommerce order events. It sends Placed Order with the full order plus one Ordered Product per line item, and Refunded Order when an order is refunded. Server-side reporting survives ad blockers and browser restrictions, and it reports the refund, which happens in the WooCommerce backend long after the customer has left.
To enable it:
- In Klaviyo, browse to Settings > Account > API keys and create a Private API Key with the Events write scope.
- Paste it into the Events API Private Key field in the Klaviyo advanced settings section of the Pixel Manager.
Each order carries a deterministic identifier, so a retried delivery can never be counted twice. The Pixel Manager also captures the anonymous Klaviyo identity from the browser during checkout and sends it with the order, so the server-side purchase joins the same Klaviyo profile as the visitor's browsing events.
Without a private key in standalone mode, the browser reports Placed Order and Ordered Product from the order confirmation page instead. Refunds cannot be reported that way.
You can offload the Klaviyo Events API calls from your WooCommerce server to the edge using the Server-Side Proxy. This reduces server load and improves tracking accuracy by routing events through a first-party subdomain.
Testing
Klaviyo has no test mode, so all events go into your account as real events.
- Open your shop with
?pmwloggeronappended to the URL and open the browser console. Every Klaviyo event the Pixel Manager sends is logged asKlaviyo: <event> event sent, and in takeover mode the lineKlaviyo: takeover self-check passedconfirms that the Klaviyo plugin's tracking scripts are gone from the page. - In Klaviyo, open Analytics > Metrics. The metrics show the WooCommerce integration icon, not the generic API icon. Open a metric to see the events arrive.
- Open a profile's Activity feed in Klaviyo to check that the events landed on the right person.
If a metric shows the same event twice per action, the Klaviyo plugin's own tracking is still running. Check the console for Klaviyo: takeover self-check FAILED and the coexistence setting.
Supported Events
The Pixel Manager sends these Klaviyo events:
- Viewed Product: sent on product detail pages, with the product details. It also feeds Klaviyo's recently viewed items, which browse abandonment flows and product blocks read from. In takeover and standalone mode.
- Added to Cart: sent when a product is added to the cart, with the added item and the whole cart. In takeover and standalone mode.
- Started Checkout: sent when the checkout is started, with the cart and, with the Klaviyo plugin active, the cart return link for abandoned cart emails. In takeover and standalone mode.
- Viewed Collection: sent on product listings, with the products of the listing.
- Selected Product: sent when a product in a listing is clicked.
- Viewed Cart: sent on the cart page, with the cart value and items.
- Removed from Cart: sent when a product is removed from the cart.
- Added Shipping Info and Added Payment Info: sent when the customer completes those checkout steps.
- Added to Wishlist: sent when a product is added to a wishlist.
- Submitted Search: sent on search result pages, with the search term.
- Placed Order and Ordered Product: only in standalone mode, see the Events API.
- Refunded Order: only in standalone mode with the Events API.
Active on Site is reported by Klaviyo's own tracking script and is not sent by the Pixel Manager.
Here's a list of supported events.
The event names can be changed with the event filters, if your Klaviyo account already uses a different taxonomy.