PURCHASE TRACKING

Klaviyo is not tracking Started Checkout from Shopify

Shoppers reach your checkout every day, but your abandoned checkout flow in Klaviyo sends nothing, and the checkout metric stays flat. Or the flow library warns that it has not received any recent Started Checkout events. Either Klaviyo never got the event, or it got it and your flow listens to something else. A test checkout tells you which.

Why it happens

On Shopify the metric has another name. Klaviyo calls it Started Checkout on most platforms. For Shopify the metric is called Checkout Started. If you search Analytics > Metrics for Started Checkout and find nothing, search for Checkout Started with the Shopify integration filter.

Klaviyo records it only once it knows who the shopper is. Klaviyo's help says a Checkout Started event can be recorded once Shopify sends checkout information with a valid email address or phone number. On Shopify it tracks after the customer fills out the email field on the checkout page, in one-page and multi-page checkout. A shopper who reaches checkout and leaves before typing an email or phone number creates no event. Klaviyo adds that with a customised checkout, the shopper may need to move to the next step before the event is recorded.

A checkout app takes over the checkout. Klaviyo's help says a third-party app or extension that handles your checkout may stop checkout events from firing, and with them Started Checkout. Its test is to switch that app off and run a checkout again.

The integration itself has a problem. If Placed Order and other Shopify metrics are also missing, the issue is the integration, not this event. Klaviyo's help says to check the Shopify integration's status under Integrations, and to open its settings and look for error messages.

The flow listens to the wrong metric. Klaviyo's help says "metrics from different integrations remain separate". After a platform change, a flow can still be triggered by the old platform's Started Checkout while Shopify's Checkout Started arrives under its own name. The same happens when a second tool sends checkout events as a metric of its own. The events are in Klaviyo; the flow does not see them.

The flow is not live, or a filter removes everyone. In a flow built from scratch, messages can sit in Draft, and only Live messages send. Klaviyo's recommended filter for an abandoned checkout flow is "Placed Order zero times since starting this flow". A filter built on another metric, or a stricter one, can skip shoppers who should get the email.

The warning is not always a fault. Klaviyo's help says the message "We have not received any recent Started Checkout events" means no events for this metric in the last 30 days. A store with few checkouts can see it while the integration works.

Check it yourself

  1. 1In Klaviyo, open Analytics > Metrics, filter by Integration and choose Shopify. Find Checkout Started, with the Shopify icon, click it and open Activity feed. Note the date of the newest event.
  2. 2Run a test: open your store, add a product that is in stock, go to checkout and type an email address you can search for in Klaviyo. Leave the checkout unfinished.
  3. 3Search Klaviyo for that email and open the profile. Look for Checkout Started in its activity feed. Klaviyo's help says Shopify metrics sync in real time, so the event should appear within a few seconds.
  4. 4If nothing arrives, open Integrations, find Shopify under My apps and check that its status is Enabled. Open its settings and read any error message.
  5. 5If you use an app that changes or replaces the checkout, switch it off for a moment and repeat the test.
  6. 6Open your abandoned checkout flow and click the trigger. Check that it uses Shopify's Checkout Started, not a Started Checkout metric from another integration or tool.
  7. 7Check the flow's status and each message's status. Only Live messages send. Then read the profile filters: Klaviyo recommends "Placed Order zero times since starting this flow".
  8. 8Turn off Shopify's own abandoned checkout emails before you set the Klaviyo flow Live. Klaviyo's help says you need to do this by hand, or customers get two reminders.

If the test checkout appears on the profile but no email went out, the data is fine and the problem is the flow. If the profile has no event at all, the problem is the integration or the checkout. If your Placed Order events are missing too, read Klaviyo is missing Placed Order events from Shopify.

Run the free diagnosis

FAQ

Why does Klaviyo show more Checkout Started events than abandoned checkouts?

Klaviyo's help says Checkout Started records checkout activity, including checkouts that end in a purchase. An abandoned checkout is one that stays incomplete. That is why the flow needs the Placed Order filter and a time delay.

Should I trigger the flow on Added to Cart instead?

Klaviyo recommends both: one flow triggered by Added to Cart and a separate one triggered by Started Checkout. To stop a shopper getting both, add the filter "Started Checkout zero times since starting this flow" to the Added to Cart flow. On Shopify, pick Checkout Started in that filter.

Does the cart link in the email work on another device?

Klaviyo's help says Checkout Started syncs with a checkout link that leads back to the shopper's cart, and that the link rebuilds the cart when someone opens the email on a new device.

How quickly should the event reach Klaviyo?

For Shopify, Klaviyo says metrics sync in real time and appear within a few seconds of the event in your store. A delay of hours points to the integration.

The shopper typed an email. Why did no event arrive?

Check whether a checkout app handles that step, and whether your checkout is customised so the shopper must continue to the next step first. Klaviyo's help names both cases.

Related

Problem

Purchases counted twice after you switched tracking apps

Meta or GA4 counts more purchases than Shopify since you changed tracking apps. Where the old app's pixel, server connection or theme code keeps sending, and how to find it.

Problem

What server-side tracking costs a Shopify store

The parts of the cost of server-side tracking for Shopify: hosting a server container, app fees, setup work and upkeep, and what Shopify's own channels give you free.

Problem

Klaviyo is missing Placed Order events from Shopify

Shopify took the order, but Klaviyo shows no Placed Order and the post-purchase flow never sent. Why orders go missing in Klaviyo, and how to check the integration, the metric and the flow.

Problem

WooCommerce Meta pixel not tracking purchases

Your WooCommerce store has paid orders, but Meta shows few or no Purchase events. Payment redirects, caching and consent are the usual causes. Here is how to check.

All tracking problems · All guides