Where each Klaviyo event comes from
Klaviyo's own Shopify data reference splits its Shopify events into two groups.
Shopify sync events. Klaviyo says metrics and profile properties from Shopify "are synced in real-time". This group includes:
- Checkout Started: recorded "once Shopify sends checkout information with a valid email address or phone number". On a customised checkout, Klaviyo says the shopper may need to reach the next step first.
- Placed Order: tracked "when a customer completes the checkout process and creates an order in your Shopify store".
- Ordered Product: a separate event for each item someone buys.
- Fulfilled Order, Cancelled Order, Refunded Order and the shipping events. Klaviyo notes that partial refunds do not trigger Refunded Order.
Onsite events. Active on Site, Viewed Product, Viewed Collection, Submitted Search and Added to Cart. Klaviyo's article on enabling onsite tracking for Shopify says Active on Site and Viewed Product come from a snippet installed by Klaviyo's app embed, and Added to Cart, Viewed Collection and Submitted Search are tracked through a Shopify pixel, with Track behavioral events turned on.
By Klaviyo's own docs, then, Placed Order and Checkout Started already come from Shopify's data, not from a script on your Thank you page. Only the browsing events start in the browser.
Why some visitors never reach a browse or checkout flow
Klaviyo's data reference describes each onsite event as tracking "an identified user". Its onsite tracking article lists how a profile gets identified: submitting a Klaviyo or Shopify form, entering details at checkout, or logging in to a Shop account or a customer account. A first-time visitor who has done none of these is anonymous to Klaviyo, so a browse flow has no one to write to.
Three other conditions sit around the onsite events:
- Consent. Klaviyo says it may not track onsite events for visitors in the EU, EEA, UK and Switzerland, depending on your Shopify customer privacy settings, unless they consented.
- Setup. The app embed must be on, and Track behavioral events must be checked for Added to Cart.
- The browser. Onsite events start in the shopper's browser, so what the browser allows decides what leaves it.
Checkout Started has its own condition: Shopify must send an e-mail address or phone number with the checkout. A shopper who leaves before typing either gives Klaviyo no profile for the event.
Server-side options
Klaviyo's developer reference describes a Create Event endpoint "to track a profile's activity". It asks for at least one profile identifier, such as an ID, e-mail or phone number. An event can carry its own time; without one, Klaviyo uses the time it received the request. With a unique_id, Klaviyo records only the first event it processes for the same profile and metric.
That gives a store three ways to send events from a server:
| Option | What it sends | Setup | Cost |
|---|---|---|---|
| Klaviyo's Shopify integration | Order, checkout and shipping events synced from Shopify, plus onsite events from the app embed and Shopify pixel | Install and turn on onsite tracking | Set by your Klaviyo account |
| An app | Its own events, from its server, through Klaviyo's API | Install and connect | A monthly fee, by app |
| Your own code | What you build on the Create Event endpoint | A developer builds and runs it | Hosting and developer time |
Most stores keep Klaviyo's own integration in every case: it also brings in profiles, lists and the catalog.
Keep your flows from firing twice
A second sender of the same event is where server-side tracking goes wrong in Klaviyo. If an app wrote its orders into Klaviyo's own Placed Order metric, a flow on that metric could start twice for one order.
Tikra avoids this with its own metric names. Its events arrive in Klaviyo as their own metrics:
- Placed Order - Tikra, Ordered Product - Tikra and Refunded Order - Tikra for orders;
- Viewed Product - Tikra, Added to Cart - Tikra and Checkout Started - Tikra for store events.
Flows and reports built on the metrics of Klaviyo's own integration do not see Tikra's, and the other way round. Nothing in Klaviyo has to be turned off. Build each flow on one metric only. If a flow listens to both Klaviyo's Checkout Started and Tikra's, it can start twice for the same shopper.
How to check it
Klaviyo has no test mode for Tikra's events, so connecting sends nothing. Your first real paid order is the proof.
- 1In Tikra, open the order on the Orders page. If Klaviyo shows Sent, Klaviyo accepted it.
- 2In Klaviyo, open the buyer's profile and read its activity feed. You should see Placed Order - Tikra and an Ordered Product - Tikra line for each item, next to the events of Klaviyo's own integration.
- 3Before pointing a flow at a Tikra metric, check the flow's trigger names exactly one metric.
If an order shows Left out on the Orders page, the reason is next to it: an order with no usable e-mail address or phone number cannot reach a Klaviyo profile.
Or let Tikra send them for you: install from the Shopify App Store
How Tikra sends it
Tikra is a Shopify app that sends your paid online orders to Klaviyo from its own server, with product details for your flows. From Connect Klaviyo:
- Orders from the server. Paid online orders go as Placed Order - Tikra, with one Ordered Product - Tikra event for each of its first 25 items, and a refund as Refunded Order - Tikra. Placed Order is sent when the order is paid, so a cash-on-delivery order reaches Klaviyo once it is paid. Cancellations are not sent.
- Store events. Tikra also sends Viewed Product, Added to Cart and Checkout Started from when you connect Klaviyo. They are on by default, and each can be switched off on the Events page.
- Where they start. Viewed Product and Added to Cart start in the shopper's browser, in Tikra's web pixel under Shopify's Customer events. They go to Tikra, and Tikra's server sends them to Klaviyo. Checkout Started comes from Shopify's checkout notification, server to server, like Klaviyo's own integration.
- Anonymous visitors. Klaviyo takes an event only for a known profile. An anonymous visitor's event waits up to 30 days and is sent with its own time once the same visitor gives an e-mail address or phone number. If that never happens, it is deleted.
- Older orders. An order more than 24 hours old goes to Klaviyo marked as backfill, so your flows do not start from it. Tikra sends a missed order again for up to 30 days.
- Consent. Klaviyo gets paid orders, refunds and Checkout Started in every consent mode, like Klaviyo's own Shopify integration. Viewed Product and Added to Cart follow your store's consent mode and stop after an opt-out of the sale or sharing of data. Tikra never subscribes anyone and never changes a profile's consent in Klaviyo. See Consent modes.
- Log in, no key. You accept the addendum, log in to Klaviyo and click Allow. Tikra never sees your password.
- A record for each order: what was sent, when, and Klaviyo's answer.
- More than Klaviyo: the same orders to Meta, Google Analytics 4, Google Ads, TikTok, Pinterest, Snapchat and ChatGPT Ads.
- A guarantee: a written guarantee for eligible orders: at least 97 % reach each platform, fixed within 12 hours or a month's fee credited (Terms, section 8). Terms apply.
Klaviyo in Tikra needs a paid plan or the free trial, and Shopify. In a flow that links to the shopper's checkout, add a delay of at least 15 minutes before the first message: for about the first 10 minutes, Shopify's link can open the store's home page instead.
More on the wider setup in Shopify server-side tracking.
Frequently asked questions
Is Klaviyo's Placed Order event tracked in the browser?
Not according to Klaviyo. Its Shopify data reference lists Placed Order among the events synced from Shopify, tracked when a customer completes checkout and an order is created.
Which Klaviyo events on Shopify start in the browser?
Active on Site and Viewed Product, from Klaviyo's app embed, and Added to Cart, Viewed Collection and Submitted Search, through a Shopify pixel. Klaviyo records them for identified profiles.
Why does my abandoned checkout flow not start for some shoppers?
Klaviyo records Checkout Started once Shopify sends the checkout with a valid e-mail address or phone number. A shopper who leaves before typing either has no profile for the event.
Will Tikra's events start my flows twice?
Only if one flow listens to both metrics. Tikra's events have their own names, such as Placed Order - Tikra, and Klaviyo keeps them apart from its own. Build each flow on one metric.
Do I need to turn off Klaviyo's Shopify integration?
No. Keep it for profiles, lists and the catalog. Use Tikra's metrics for the server-side flows and reports you choose.
What does it cost?
Tikra is from $99 a month, 500 orders, with a 14-day free trial; Klaviyo needs a paid plan or the trial.
Connect Klaviyo with Tikra
Install Tikra from the Shopify App Store
Check that your tracking works
Related: Shopify server-side tracking · Connect Klaviyo · Store events
Sources, checked 2026-11-08
- Klaviyo Help Center, Shopify data reference (updated 18 November 2025): https://help.klaviyo.com/hc/en-us/articles/115005080447-Shopify-data-reference
- Klaviyo Help Center, How to enable onsite tracking for Shopify (updated 25 March 2026): https://help.klaviyo.com/hc/en-us/articles/4425956184731
- Klaviyo Developers, Create Event: https://developers.klaviyo.com/en/reference/create_event
- Tikra help: Connect Klaviyo, Store events, Consent modes, Turn off the store's own tracking, Plans and billing, Check that Tikra works.