Why Klaviyo Shows More Revenue Than WooCommerce

March 23, 2026
by Cherry Rose

Your Klaviyo dashboard says £12,400 in revenue last week. Your WooCommerce orders screen says £7,800. Both numbers are correct — they’re just measuring different things. Klaviyo is counting revenue attributed to email within a 5-day window. WooCommerce is counting confirmed orders. Klaviyo attributes revenue for 5 days after any email open — including ghost opens created by Apple Mail Privacy Protection, which inflates open rates across 40–60% of iPhone email users. The gap between the two numbers is not an error. It’s a measurement architecture problem.

What Klaviyo Actually Measures

Klaviyo attributes a purchase to email if a customer opens or clicks an email and then completes a purchase within the attribution window — 5 days by default. That sounds reasonable until you factor in what counts as an open.

Apple Mail Privacy Protection, introduced in 2021 and now active across most iPhone mail users, pre-fetches email tracking pixels automatically when a message is delivered — regardless of whether the recipient ever reads it. Every one of those pre-fetches registers as an open in Klaviyo. Apple MPP inflates email open rates by auto-loading tracking pixels on Apple devices, creating ghost opens that trigger attribution windows for purchases that had nothing to do with the email.

A customer buys your product three days after receiving an email they never opened. Apple’s servers fetched your tracking pixel at delivery. Klaviyo sees an “open,” starts a 5-day window, and when the purchase happens two days later, attributes the revenue to that email. WooCommerce records a confirmed order. The revenue appears in both systems — but Klaviyo’s version inflates your email channel’s contribution.

The Three Sources of the Revenue Gap

The Klaviyo vs. WooCommerce revenue gap comes from three compounding sources, each independent of the others:

Attribution window inflation. The 5-day default window is generous. A customer who received an email Monday, ignored it, and bought Friday from a Google search will appear in Klaviyo as an email conversion. Any overlap between email delivery and the natural purchase cycle creates attribution credit that has no causal relationship to the email itself.

Apple MPP ghost opens. Once MPP creates a phantom open, the attribution window starts running. For stores with significant Apple Mail audiences — common in UK, US, and Australian markets where iPhone penetration is high — this inflates attributed revenue substantially. The customers who “opened” via MPP had no meaningful email engagement.

Browser-side tracking gaps. 42.7% of internet users run ad blockers that prevent client-side tracking scripts from firing. Klaviyo’s JavaScript tracking on the thank-you page is a client-side script. Ad blockers block it. Purchase completions from customers running ad blockers may not be visible to Klaviyo’s browser-side event tracker at all — which means Klaviyo can simultaneously over-count (via MPP attribution) and under-count (via blocked browser events) the same customer base.

You may be interested in: Every Ad Platform Is Claiming the Same Sale

Why This Matters for Your Actual Business Decisions

The gap between Klaviyo and WooCommerce isn’t just a reporting curiosity. It drives real decisions.

If you’re using Klaviyo’s attributed revenue to calculate email ROI, you’re calculating against an inflated numerator. Email campaigns look more effective than they are. Ad budget shifts toward “lower-performing” paid channels that Klaviyo isn’t mis-attributing. Ad platforms overclaim attribution by 40–60% versus actual revenue (Triple Whale DTC Benchmark, 2025) — email platforms face the same structural incentive to claim credit.

If you’re A/B testing email campaigns using Klaviyo attributed revenue as the success metric, you’re optimising against a noisy signal. Subject line tests, send-time tests, flow variations — all measured against a metric that MPP ghost opens have polluted.

The practical consequence: WooCommerce order data is the ground truth. It counts confirmed transactions. Klaviyo attributed revenue is a signal about email influence, not a count of email-caused purchases. Treating them as equivalent is where the business decisions go wrong.

How to Read the Two Numbers Together

The right framework isn’t to make Klaviyo match WooCommerce — it’s to understand what each number is actually telling you:

  • WooCommerce orders = confirmed revenue. Use this for financial reporting, CAC calculations, and any metric where you need to know what actually happened.
  • Klaviyo attributed revenue = an index of email channel influence. Useful for comparing campaigns to each other, not for measuring absolute email ROI.
  • The gap between them = the size of your over-attribution. A consistently large gap (Klaviyo showing 50%+ more than WooCommerce) is a signal to audit your attribution window and MPP exposure.

To reduce the gap structurally, two adjustments matter. First, narrow the Klaviyo attribution window from 5 days to 1 day. This doesn’t eliminate ghost opens, but it reduces the time window in which an unrelated purchase can be captured. Second, move to server-side event tracking for purchase confirmation so the thank-you page event reaches Klaviyo regardless of ad blocker state.

You may be interested in: What Is Facebook Event Match Quality?

Where Server-Side Tracking Changes the Equation

The ad blocker problem — where Klaviyo misses browser-side purchase events — is solvable at the architecture level. When the purchase confirmation event is sent server-side rather than from the customer’s browser, ad blockers have no effect. The event leaves your server; it doesn’t depend on a JavaScript pixel surviving the customer’s browser environment.

Transmute Engine™ sends purchase events to Klaviyo via the Track API from your server, triggered by the WooCommerce order hook — not by a JavaScript pixel on the thank-you page. That means every confirmed WooCommerce order generates a Klaviyo event, regardless of what’s running in the customer’s browser.

It doesn’t fix the MPP attribution inflation — that’s a Klaviyo window setting — but it closes the undercounting side of the gap. The result is a Klaviyo record that accurately reflects all confirmed purchases, giving you a cleaner denominator when you’re evaluating email campaign influence.

The Klaviyo vs. WooCommerce gap isn’t going away on its own. Understanding what drives it is the first step to using both numbers for what they’re actually good at.

Why does Klaviyo show more revenue than WooCommerce?

Klaviyo and WooCommerce measure different things. Klaviyo attributes revenue to email if a purchase happens within 5 days of an email open or click — including ghost opens created by Apple Mail Privacy Protection. WooCommerce records confirmed orders. The gap comes from attribution window inflation, MPP ghost opens, and browser-side tracking gaps. Neither number is wrong; they’re measuring different things.

What is Apple Mail Privacy Protection and how does it affect Klaviyo?

Apple Mail Privacy Protection pre-fetches email tracking pixels automatically on delivery, regardless of whether the recipient reads the email. Klaviyo sees these prefetches as opens and starts a 5-day attribution window. Any purchase within that window gets credited to email — even if the customer never actually engaged with the message. This inflates email attributed revenue across 40–60% of iPhone email users.

Should I use Klaviyo or WooCommerce revenue for business decisions?

Use WooCommerce order data for financial reporting, CAC calculations, and any metric requiring confirmed transaction counts. Use Klaviyo attributed revenue as an index for comparing email campaigns to each other — not as an absolute measure of email ROI. The gap between the two numbers is the size of your attribution inflation.

How do I reduce the gap between Klaviyo and WooCommerce revenue?

Two structural changes help. First, narrow your Klaviyo attribution window from 5 days to 1 day in your account settings to reduce phantom attribution from MPP ghost opens. Second, implement server-side event tracking so purchase confirmations reach Klaviyo via API from your server rather than a JavaScript pixel — this closes the undercounting gap from ad blockers blocking browser-side events.

Share this post
Related posts