In this guide
- Klaviyo builds profiles from identify calls and events. The more reliably you send both, the better your flows work.
- Send orders and leads from the server with the Klaviyo API, and keep the
_kxparameter from e-mail clicks so visitors are recognised. - Collect consent and properties with care, and keep Klaviyo and your ad platforms in sync.
Klaviyo is a popular e-mail and SMS platform for online stores. Its flows (abandoned cart, welcome, post-purchase) are triggered by events, and its segments are built from profile properties. If events are missing or profiles are not identified, flows miss people. This page explains how to improve the data that flows into Klaviyo, including how a server container helps. Klaviyo changes its API versions and options, so check its documentation. See first-party data and customer data collection.
How Klaviyo recognises people
- Identify. Klaviyo's on-site script connects the browser to a profile when it sees an e-mail or phone, for example from a sign-up form or checkout.
- The
_kxparameter. Links in Klaviyo e-mails carry an exchange ID in_kx. When a visitor arrives from an e-mail, Klaviyo's script uses it to recognise them. Keep it intact on landing. - Events. Actions such as Viewed Product, Added to Cart, Started Checkout and Placed Order trigger flows.
Runs on your domain, anywhere
Your tracking runs on your own domain, so a visit from any country is handled the same way.
Where data is lost
| Problem | Effect |
|---|---|
| The Klaviyo script is blocked | No identify, no on-site events |
The _kx parameter is stripped by a redirect | Visitors from e-mails are not recognised |
| Events come only from the browser | Orders on other devices or from other systems are missing |
| No consent recorded with sign-ups | Risk for e-mail and SMS compliance |
| Properties are inconsistent | Segments are unreliable |
Improve collection
Serve scripts first-party
Open Tracked's File Proxy (every plan) can serve a script from your own tagging address, so blockers that target the original domain find nothing to match.
Send server-side events
Use Klaviyo's server API to send Placed Order and other events from your backend or tagging server, with a stable order ID so retries do not duplicate.
Capture at the right moment
Identify at sign-up forms, checkout and login, with consent recorded.
Standardise properties
Use consistent names and formats for country, language, birthday and source.
Check your tracking in one pass
This is an example. Run the check on your own site to see where yours stands.
Send an event from the server
The example below shows the shape of an event request to Klaviyo's API. Use the API version Klaviyo currently documents, and a private key stored securely.
POST https://a.klaviyo.com/api/events/
Authorization: Klaviyo-API-Key {PRIVATE_KEY}
revision: {API_REVISION}
{ "data": { "type": "event", "attributes": {
"profile": { "data": { "type": "profile", "attributes": { "email": "[email protected]" } } },
"metric": { "data": { "type": "metric", "attributes": { "name": "Placed Order" } } },
"properties": { "OrderId": "10293", "value": 59.9, "currency": "USD" },
"unique_id": "10293", "value": 59.9 } } }Keep Klaviyo and ad platforms in sync
The same sign-up or order that goes to Klaviyo should reach Meta and Google, with hashed identifiers, with consent. A server container lets one event feed all of them. Open Tracked's Data Store and Enricher then remember the hashed e-mail for returning visitors, so page views from known subscribers reach the ad platforms with a good match. See the Enricher.
Consent
- Record the source, date and wording of e-mail and SMS consent.
- Respect unsubscribes everywhere, including audience lists.
- Keep marketing consent separate from tracking consent.
Watch events arrive, live
A sample feed. In Open Tracked you see the same stream for your own store.
Frequently asked questions
How do I improve data collection for Klaviyo?
Identify people early, keep the _kx parameter, send orders and leads from the server and record consent.
What is _kx?
An exchange ID Klaviyo adds to e-mail links so its script can recognise the visitor.
Can I send events to Klaviyo from a server container?
Yes, through Klaviyo's API with an HTTP request tag.
How do I avoid duplicate orders in Klaviyo?
Send a stable unique ID per order.
Does Open Tracked integrate with Klaviyo?
Through the standard server container and File Proxy. There is no packaged app.
Do I need spreadsheets to read my results?
No. Once tracking is live, the Open Tracked analytics shows spend, revenue, ROAS and profit, and you can ask Ari, the built-in AI assistant, questions about your own numbers in plain words. Ari's allowance depends on your analytics plan.
Is Open Tracked different from Open Track or Open Space Track?
No. Open Tracked is the official name of our server-side tracking platform, and the website is opentracked.io. Many people search for it as Open Track, OpenTrack or Open Space Track. All of them lead to the same product: server-side Google Tag Manager hosting, first-party analytics and a CRM pipeline.

Fix your tracking at the source
Open Tracked hosts your server-side Tag Manager, keeps first-party cookies alive and shows what each ad is really worth.
The Open Tracked team
We build Open Tracked: server-side tracking hosting, analytics and the tools around them, for stores that spend on ads. Questions about this guide, or an idea for the next one?
Comments
Loading comments...


