PURCHASE TRACKING

Klaviyo is missing Placed Order events from Shopify

A customer bought yesterday. Shopify has the order, but the customer's profile in Klaviyo shows no Placed Order, and the thank you flow never sent. Or Klaviyo's attributed revenue sits well below your Shopify sales. Either the event never reached Klaviyo, or it arrived and your flow is listening to something else.

Why it happens

The integration stopped syncing. Klaviyo's help says that once the first sync is done, new Shopify data syncs to Klaviyo in real time. If the connection to Shopify expired, nothing new arrives. Klaviyo's own fix is to open Integrations, select Shopify, click Update Settings, or Re-Authenticate with Shopify if the credentials expired.

The first sync is still running. When you connect Shopify, Klaviyo syncs the last 90 days of order and customer data first, then older data, up to 10 years by default. Klaviyo says that can take from a few minutes to several days. Until it finishes, older orders can be missing.

The order type never creates a Placed Order. Klaviyo tracks Placed Order "when a customer completes the checkout process and creates an order in your Shopify store". Klaviyo's help says Shopify draft orders trigger a Started Checkout event, but not a Placed Order event. Orders that skip the checkout do not show as Placed Order either.

The flow listens to a different metric. Klaviyo's help says "metrics from different integrations remain separate". After a platform change, or with a second integration that sends orders, a flow can still be triggered by the old metric while new orders arrive under another. The orders are there; the flow does not see them.

A filter skips everyone. Klaviyo syncs Placed Order and Ordered Product "seconds apart". Its help warns that a flow triggered by Placed Order with a filter that excludes anyone who Ordered Product since starting the flow skips all recipients. Klaviyo recommends using Placed Order to trigger and filter.

The message is not live. Klaviyo's help says a message set to Draft does not send or queue anyone, and one set to Manual queues profiles without sending until you send it by hand.

The value is not the one you compare with. Klaviyo's Placed Order value is "the order total reported by Shopify, including shipping, taxes, and tips, with discounts applied". If you compare it with net sales in Shopify, Klaviyo looks higher. Attributed revenue in Klaviyo counts only orders it credits to a message, so it is lower than all your sales by design.

Check it yourself

  1. 1In Klaviyo, open Integrations > Shopify and read Recent data. Klaviyo suggests comparing the most recent Placed Order event with recent activity in your store.
  2. 2If the most recent event is old, click Update Settings or Re-Authenticate with Shopify, and wait for the success message.
  3. 3Check the progress bar on the Shopify integration page. If the first sync is still running, older orders can be missing until it ends.
  4. 4Open Analytics > Metrics and filter by Integration. If you see two Placed Order metrics from two sources, note which one your flows use.
  5. 5Find the missing order's customer in Klaviyo. If the profile shows Placed Order but the flow did not send, the problem is the flow, not the data.
  6. 6Open the flow, click the trigger and read the metric and its filters. Remove any filter that excludes Ordered Product since the flow started.
  7. 7Check that each message in the flow is set to Live.
  8. 8Place a test order through the checkout and watch it arrive. Klaviyo suggests a test order, or a real order that you refund.

If the order is a draft order, a point of sale sale or an order another app created, it was never a checkout. Decide whether that order type should trigger your flow at all.

Run the free diagnosis

FAQ

How fast should a Placed Order reach Klaviyo?

Klaviyo says new Shopify data syncs in real time once the first sync is complete. A delay of hours points to the integration.

Klaviyo says it has not recorded Placed Order in 30 days. Is it broken?

Klaviyo's help says the warning means no Placed Order events were recorded for that integration in the last 30 days, and that this does not always mean a problem, since a store may simply have had no orders. A test order tells you.

Why does Klaviyo show more orders than my flow sent?

Flows have filters and time windows. A profile can have the Placed Order event and still be skipped by the flow by design.

Should I trigger flows on Ordered Product?

For product-specific messages, it can work. For the main post-purchase flow, Klaviyo recommends Placed Order, because Ordered Product is one event per item.

Can two integrations send Placed Order?

Yes, and each arrives as its own metric. Build each flow on one of them only, or the flow can start twice for one order.

Related

Problem

The purchase event fires again when the customer reopens the order page

A purchase counted again when a customer reloads or reopens the order confirmation page. Why it happens, how to find the tag and how deduplication helps.

Problem

TikTok shows fewer purchases than Shopify

TikTok Ads Manager reports fewer purchases than your Shopify paid orders. Why TikTok misses some, and how to check the pixel, Events API and data sharing level.

Problem

TikTok says your pixel is missing the value parameter

TikTok Events Manager or Pixel Helper warns that your Shopify store's events have no value, an invalid value or no currency, and TikTok cannot calculate ROAS. What each warning means and how to find the event that causes it.

Problem

Klaviyo is not tracking Started Checkout from Shopify

Shoppers reach your Shopify checkout, but Klaviyo records no Started Checkout and the abandoned checkout flow sends nothing. Why the event is missing, and how to test it in five minutes.

All tracking problems · All guides