Email Marketing

Email Revenue Attribution

Sammy Tran

Email revenue attribution across Klaviyo and GA4

Your ESP reports $180,000 in email revenue last month. GA4 reports $96,000. Finance sees total revenue that can't accommodate either number once you add paid, organic and SMS.

Nobody is lying. The platforms are answering different questions, and until someone decides which question the business is actually asking, every reporting conversation restarts from zero.

The two models behind the gap

ESPs like Klaviyo attribute on an engagement window: if a subscriber opened or clicked an email and then purchased within a set period, the revenue is credited to that email. Analytics platforms typically attribute on last non-direct click: whichever source the customer arrived from most recently gets the sale.

Consider a real path. A customer opens your Tuesday email, doesn't buy, sees a retargeting ad Thursday, searches your brand Friday, buys. The ESP credits email (opened within the window). GA4 credits organic or paid (last click). Both descriptions are accurate; they measure different things.

Understanding this is the whole trick. Platform-attributed revenue answers "did email participate in this purchase?" Last-click answers "what did they touch last?" Lifecycle marketing is influence work, so the ESP view is usually the more useful lens — as long as everyone knows they're reading influence, not sole credit.

The attribution window is a lever nobody adjusts

Every ESP ships a default attribution window, and almost nobody changes it. A wide window inflates credit by capturing purchases the email had little to do with. A narrow one undercounts genuine influence for considered purchases with long deliberation.

The right setting depends on your buying cycle. A $30 consumable reordered on impulse deserves a shorter window than a $400 considered purchase someone thinks about for a fortnight. Set it deliberately, document it, and — this is the part that matters — don't change it mid-year, because every historical comparison silently breaks when you do.

The flow-vs-campaign split is the number that means something

Total email revenue is a vanity figure. The split between flows and campaigns is a diagnosis.

Flow revenue comes from automations — welcome, abandonment, post-purchase, win-back — triggered by customer behavior. Campaign revenue comes from broadcasts you send on a calendar.

A program leaning heavily on campaigns is manually generating revenue every week; stop sending, and it stops. A program with a healthy flow share earns while nobody is working, scales with traffic rather than effort, and reaches people at moments of real intent. When we audit an email program, the flow share tells us more in ten seconds than the total ever could.

Track them separately, always. Watch the trend rather than a benchmark, because the mix varies by category and price point.

The email/SMS double-count

Run email and SMS together and both platforms will claim the same order. The customer got the abandonment email at 10am, the SMS nudge at 2pm, and bought at 3pm. Each tool sees its own touch and takes full credit.

Add the two dashboards together and you'll report more owned-channel revenue than the business made. The fix is straightforward: report a de-duplicated owned-channel total by counting each order once, and use the per-channel numbers only for comparing channels against themselves over time. If your platforms can't de-duplicate natively, reconcile at the order level in your data warehouse or a reporting layer.

UTM governance, or the slow death of your reporting

Attribution collapses quietly when tagging is inconsistent. One person tags klaviyo, another email, a third leaves the source blank on the abandonment flow. Six months later nobody can segment anything, and the analytics view of email is silently wrong.

The fix is boring and permanent: one documented naming convention covering source, medium and campaign, applied to every flow and campaign, audited quarterly. Decide once whether flows carry campaign-level tags, and make sure every new flow inherits the standard at build time rather than getting patched later.

Peak periods distort everything

During BFCM, every channel fires at once and attribution gets messy exactly when the numbers matter most. Overlapping sends inflate platform-attributed revenue, and reporting each channel in isolation produces totals that don't reconcile.

Two habits keep peak reporting honest. Fix your attribution settings before the season starts, so nothing changes mid-measurement. And report owned channels as a de-duplicated share of total revenue, not as a sum of platform dashboards — the framing we use throughout the Q4 retention playbook.

Our Spoonful of Comfort case study shows what that looks like reported properly: 46.1% of total BFCM revenue driven by owned channels, rising to 64.91% of revenue attributed to email and SMS on Cyber Monday, with +196.9% year-over-year growth in email and SMS-attributed revenue across BFCM and +25% year-over-year across Q4. Share of total revenue is the honest frame — it can't exceed 100%, and it forces the de-duplication that summed dashboards let you avoid.

What to report

Three numbers survive scrutiny with a finance team. De-duplicated owned-channel share of total revenue answers what the channel is worth. Flow vs campaign split answers whether the program is automated or manual. Revenue per recipient answers whether quality is improving, since it moves independently of list size.

Everything else is diagnostic. And the ultimate test of a lifecycle program isn't attribution at all — it's whether customer lifetime value is rising by cohort, which no attribution window can fake.

Frequently asked questions

Why don't Klaviyo and GA4 report the same email revenue?

They use different models. Klaviyo credits purchases made within an engagement window after an open or click; GA4 typically credits the last non-direct click. Klaviyo measures influence, GA4 measures final touch — both are valid answers to different questions.

What is a good flow-to-campaign revenue split?

There's no universal benchmark — it varies by category, price point and send frequency. What matters is the trend: a rising flow share means revenue is increasingly automated and less dependent on manual sending.

Dashboards that don't reconcile?

We rebuild owned-channel reporting alongside the programs it measures — email marketing services. Request a complimentary audit and we will show you the numbers that survive scrutiny.

Share on

Enjoyed this read?

See how a tailored retention strategy could work for your brand.

Interested in working with us?

Request a complimentary audit and start building a stronger lifecycle foundation today.

Interested in working with us?

Request a complimentary audit and start building a stronger lifecycle foundation today.

Interested in working with us?

Request a complimentary audit and start building a stronger lifecycle foundation today.