Klaviyo conversions don't match Shopify because the two tools answer different questions. Klaviyo counts every order it can plausibly credit to an email or text inside its attribution window — including opens, not just clicks. Shopify counts only completed orders and credits each one to the last channel the customer clicked. Neither is wrong, and no setup change makes them equal. Klaviyo is the source of truth for "did my email influence this sale?"; Shopify is the source of truth for "how many orders happened and how much revenue came in."

If you've lined up Klaviyo's flow revenue next to Shopify's order count and watched them disagree, you're not looking at a bug. You're looking at two measurement systems doing exactly what they were built to do. The gap is structural, and understanding it is the difference between chasing a phantom "fix" and reading your numbers correctly.

This is the same class of problem that shows up between your ad platforms and your store. If you want the full picture across every tool, start with our guide to reconciling your ecommerce data. This article zooms in on the Klaviyo-versus-Shopify half of it.

The one reason the numbers never match: attribution

Every "my Klaviyo doesn't match Shopify" question comes back to a single idea — attribution. That's the rule each tool uses to decide which sale gets credited to which channel.

Klaviyo uses a last-touch model with an attribution window. When a customer opens or clicks a Klaviyo email and then buys within a set number of days, Klaviyo claims that order. For accounts created after October 2024, the default lookback window is 5 days for email and SMS, according to Klaviyo's Help Center. Crucially, Klaviyo can credit a conversion off an open, not only a click — so a customer who opens your newsletter, closes it, and buys three days later from a Google search still counts as Klaviyo-attributed revenue.

Shopify uses last non-direct click. It credits each order to whatever traffic source the customer clicked immediately before checking out. If that last click was a Google ad, Shopify files the order under Google — even if a Klaviyo email is what got the customer thinking about you a day earlier.

So one real order can be counted by Klaviyo (it opened an email in-window) and by Shopify (last click was Google) as belonging to two completely different channels. Both are internally correct.

Why Klaviyo's number is almost always higher

Once you see the attribution rules, the direction of the gap makes sense. Klaviyo's number is usually the bigger one, for three reasons.

It counts opens, not just clicks

Because Klaviyo can attribute a sale to an email that was merely opened, it captures "influence" that Shopify's click-based model never sees. This is the email equivalent of view-through attribution — the same mechanism that inflates ad platforms above store counts, which we cover in why Klaviyo revenue doesn't match Shopify.

Its window is generous

A 5-day lookback is a wide net. A customer can click your abandoned-cart email on Monday, ignore it, come back through a Facebook retargeting ad on Friday, and buy — and Klaviyo still claims that order on the Monday touch. Shopify credits Friday's Facebook click.

It overlaps with your other channels

Klaviyo doesn't know or care what your ads reported. So the same order can be double-counted across tools: Klaviyo claims it, Meta claims it, Google claims it. If you naively add up "revenue" from every platform, you'll get a number far larger than Shopify's actual sales. This overlap is exactly why platform-reported revenue always exceeds store-side revenue.

A worked example: one week, four numbers

Say you run a print-on-demand store and send two Klaviyo campaigns during a week where Shopify records 100 orders at an average of $45 each — $4,500 in total sales.

  • 30 of those buyers opened or clicked a Klaviyo email within 5 days before purchasing.
  • Of those 30, only 18 actually clicked through from the email as their last action before checkout.
  • The other 12 opened an email but bought after a later Google or Facebook click.

Here's how each system reports the same week:

  • Klaviyo claims 30 orders and roughly 30 × $45 = $1,350 in attributed revenue — because all 30 touched an email in-window.
  • Shopify's channel report credits Klaviyo/email only the 18 orders where email was the last click: 18 × $45 = $810.
  • Shopify's total sales stays at 100 orders / $4,500 — the server-side truth of what actually sold.
  • Your bank deposit is smaller still, because Shopify Payments takes processing fees. On the Basic plan, US online card fees run about 2.9% + 30¢ per transaction, per Webgility's payout breakdown. On 100 orders that's roughly (0.029 × $4,500) + (100 × $0.30) = $130.50 + $30 = $160.50 in fees, before any refunds or chargebacks.

Four legitimate "sales" numbers — $1,350, $810, $4,500, and a payout near $4,340 — for one week of 100 real orders. The reconciler's job isn't to make them equal. It's to know which one answers which question.

Which number should you trust?

It depends on the question you're asking.

"How many orders and how much revenue did my store actually make?" Trust Shopify total sales. It's a server-side record of completed checkouts, so it isn't affected by ad blockers, cookie consent, or opens. This is your denominator for everything.

"Did my email and SMS program influence sales?" Trust Klaviyo — but read it as influence, not incremental revenue. Klaviyo's 30-order number tells you email touched roughly a third of your buyers. It does not mean 30 orders would have vanished without email; many of those customers may have bought anyway.

"Which channel gets last-click credit?" Use Shopify's channel report, and expect it to under-credit email versus Klaviyo. The truth sits between the two.

For a deeper look at how these models diverge and when to use each, see our rundown of attribution modeling tools.

How to reconcile them without chasing zero

You will never make Klaviyo equal Shopify. What you can do is make the gap stable and explainable.

  1. Align the windows you compare. Klaviyo reports on the day of the email touch; Shopify reports on the order date. Always compare trailing 7- or 14-day windows, never single days.
  2. Decide on one attribution window and leave it. Klaviyo lets you change the 5-day default in your email and SMS settings. Whatever you pick, keep it consistent so month-over-month comparisons stay meaningful.
  3. Tag your links with UTMs. Adding utm_source and utm_medium to the links in your Klaviyo emails helps Shopify's channel report classify email clicks correctly, tightening the last-click side of the comparison.
  4. Pick one source of truth for revenue. Use Shopify total sales for "how much did we make," and treat Klaviyo as an influence signal on top of it. Don't sum them.

The same discipline applies to your payment processor. If your Stripe numbers are also drifting, the mechanics are similar — see why Stripe revenue doesn't match Shopify and why Stripe orders don't match Shopify.

The number none of these tools shows you: profit

Here's the trap. Klaviyo, Shopify's channel report, and your ad dashboards all argue about revenue attribution. None of them tells you the number that decides whether you keep the store open: profit per order, after product cost, fees, and ad spend.

That's the gap PodVector is built to close. It connects Shopify, Meta Ads, Google Ads, Printify, Printful, and Stripe, then computes true per-order profit from the underlying data — so instead of debating whether email "drove" 18 orders or 30, you can see what each order actually netted after the product, the processing fee, and the ad that touched it.

Inside PodVector, Victor is an AI operator that reads that connected data and proposes moves, then executes the Shopify-side ones with your approval. Victor is not a dashboard, and he does not touch your ad account — he reads ad performance and profit together and tells you where the money is really going. Klaviyo lives outside that set; PodVector doesn't pull email data, so treat Klaviyo as your influence layer and PodVector as your profit layer.

FAQs

Why is Klaviyo revenue higher than Shopify revenue?

Because Klaviyo credits any order where the customer opened or clicked an email within its attribution window — a default of 5 days for email per Klaviyo's Help Center — while Shopify only credits email when it was the last click before checkout. Klaviyo's wider, open-inclusive net catches sales Shopify assigns to other channels. The overlap between Klaviyo and your ad platforms also means the same order gets counted more than once if you sum tools.

What is Klaviyo's default attribution window?

For accounts created after October 2024, Klaviyo defaults to a 5-day lookback for both email and SMS, according to Klaviyo's Help Center. You can change it in your email and SMS settings, but changing it only re-slices how orders are credited going forward — it doesn't make Klaviyo match Shopify, because the two tools use different attribution logic entirely.

Should I add Klaviyo revenue to my ad revenue to get total sales?

No. That double-counts orders. A single sale can be claimed by Klaviyo, Meta, and Google all at once, so adding platform-reported revenue produces a number far above your real sales. Use Shopify total sales as your one revenue source of truth, and read each platform's number as "how much of that did I influence," not "how much extra I made."

Does fixing my Klaviyo or Shopify integration make the numbers match?

No. Reinstalling the integration or enabling server-side tracking can recover lost events, but it does nothing about the structural differences — last-touch versus last-click, opens versus clicks, and different attribution windows. Even with flawless tracking, expect Klaviyo to report more email-attributed orders than Shopify's channel report does. Aim for a stable, explainable gap, not equality.

Which number should I use to judge profitability?

None of these attribution numbers, on their own. Revenue attribution tells you which channel to credit, not what you kept. To judge profitability you need per-order profit after product cost, processing fees, and ad spend — which is what a tool like PodVector computes by connecting Shopify, your ad platforms, your print supplier, and Stripe in one place.