
Tag every email link with UTM parameters (utm_source=email), so clicks land in GA4's Email channel and tie to purchases. Then reconcile that against your email platform's own revenue numbers and your store or CRM. Use last-click for a baseline, but check assisted conversions to see email's full contribution.
- UTM parameters are how email becomes a measurable channel: utm_source=email plus utm_medium and utm_campaign turn anonymous clicks into a labelled Email channel in GA4.
- Your email platform (Klaviyo, Mailchimp, Shopify Email) reports its own revenue using a click-and-purchase attribution window — commonly 5 days for clicks — which is why its numbers rarely match GA4 exactly.
- GA4 defaults to a data-driven, last-click-leaning model, so email often gets credited only when it's the final touch — assisted-conversion and path reports reveal the revenue it influenced but didn't close.
- Phone orders, in-store visits, and replies prompted by an email are invisible to link-based tracking unless you add a coupon code, a dedicated landing page, or ask 'how did you hear about us'.
- Two systems counting the same sale will always disagree somewhat; the goal is a consistent method you trust over time, not a perfect match between platforms.
Start With UTM Tags on Every Email Link
The single thing that makes email revenue trackable is UTM tagging. A UTM is a small set of parameters appended to a link — utm_source=email, utm_medium=newsletter (or promo, or automation), and utm_campaign=spring-sale. When someone clicks a tagged link, those tags ride along into your analytics, and GA4 files the visit under the Email channel instead of lumping it into Direct or Referral. Without tags, a huge share of email clicks vanish into Direct traffic and you can't prove email drove anything.
Tag every link that leaves an email and points at your site: the buttons, the hero image, the text links, the footer. Use a consistent naming convention and write it down — lowercase, hyphens not spaces, the same campaign name across a send. Inconsistent tags (Spring_Sale vs spring-sale vs springsale) fragment one campaign into three rows in your reports and make the data useless.
Most email platforms can append UTMs automatically. Klaviyo, Mailchimp, and Shopify Email all have a setting to add Google Analytics tracking to outbound links, usually with a default source and medium you can override per campaign. Turn it on, then confirm it's actually firing by sending yourself a test, clicking a link, and checking that the destination URL carries the parameters. This five-minute setup is the foundation everything else sits on — get it wrong and every revenue number downstream is wrong too. Get it right once and it runs on autopilot.
Read GA4 and Your Email Platform Together
Once links are tagged, you have two scoreboards, and you need both. In GA4, open Reports, then Acquisition, and look at Traffic acquisition or the User acquisition report filtered to the Email channel. If you've set up a purchase or lead conversion event (and on a store, GA4's ecommerce tracking), you'll see sessions, conversions, and revenue attributed to email. This is your business-wide, cross-channel view — email sitting next to Organic, Paid, and Direct on one ruler.
Your email platform keeps its own scoreboard. Klaviyo, Mailchimp, and the rest report revenue per campaign and per automation using their attribution window — Klaviyo, for example, commonly credits a purchase to an email if it happens within five days of a click. That window is why the platform almost always shows higher email revenue than GA4: it's counting purchases that GA4 attributes to whatever channel was the last click before checkout.
Use each for what it's good at. The platform view tells you which subject lines, segments, and automations earn their keep — your welcome flow versus your abandoned-cart flow versus the Tuesday newsletter. GA4 tells you how email stacks up against your other channels on a common, last-click baseline. Don't expect the two revenue figures to match; expect them to disagree by a predictable amount once you understand each tool's window. What matters is watching the trend in each, measured the same way every month.
Understand What Attribution Is and Isn't Telling You
Email is usually an assist, not the closer — and standard reports hide that. A customer opens your newsletter, clicks through, browses, leaves, then comes back two days later via a Google search of your brand name and buys. Last-click attribution hands that entire sale to Organic Search. Email did the work of reminding and motivating, but the ledger credits the final touch. If you judge email only by last-click revenue, you'll consistently undervalue it.
To see the fuller picture in GA4, look beyond the default reports. The Conversion paths report (under Advertising, Attribution) shows the sequence of channels before a purchase and how often email appears as an early or middle touch. If email shows up frequently on paths that close through Direct or Organic, that's email earning revenue it never gets last-click credit for. GA4's data-driven attribution model also distributes partial credit across touches, which softens the all-or-nothing problem of last-click.
The honest framing for your reporting: pick one model as your headline number — last-click is the simplest and most conservative — and use assisted conversions as context, not as a second number you add on top. Never sum email's last-click revenue and its assisted revenue; you'd be double-counting sales. The point of attribution isn't a perfect dollar figure. It's deciding, with eyes open, how much credit a reminder-and-nurture channel deserves, and then measuring it the same way every period so the trend is real.
Catch Offline Sales and Reconcile Your Numbers
Link tracking only sees what happens on your website, so any email-driven sale that closes off-site is invisible unless you build a bridge. If your emails prompt phone calls, in-store visits, or quote requests, add signals link tracking can capture. A unique discount code in the email (NEWSLETTER15) shows up at checkout and in your store's order data, letting you tally email-attributed orders regardless of which channel got the last click. A campaign-specific landing page URL that only appears in that email is another clean signal. For service businesses, a simple 'how did you hear about us?' field on your form catches what nothing else does.
For stores, your ecommerce platform is the source of truth for money. Shopify, WooCommerce, and the rest record every order with its true value, refunds included. Periodically reconcile: compare the email revenue your platform claims, the email revenue GA4 attributes, and the orders carrying your email coupon code. They won't be identical — they're measuring with different rulers and windows — but they should move together. If your email platform reports strong revenue while GA4 and coupon usage show almost nothing, suspect broken UTM tagging or a tracking gap, and go fix it.
This is the kind of cross-system reconciliation we do for clients: one team wiring up first-click to final-sale tracking across email, ads, SEO, and the store, so the numbers are owned by you and actually agree. If email looks great in your platform but you can't see it in revenue, that disconnect is usually fixable — and it's worth fixing before you decide email isn't working.
Related questions
Because they attribute differently. Your email platform credits any purchase within its click window — often five days — to the email that was clicked. GA4 typically gives credit to the last channel before checkout, so a sale that finishes via a brand search or direct visit goes to that channel instead. Both are right by their own rules; expect a consistent gap, not a match.
At minimum, utm_source=email, utm_medium describing the type (newsletter, promo, automation), and utm_campaign naming the specific send. Keep them lowercase and consistent so one campaign doesn't split into several rows. Most platforms can append these automatically — turn that setting on, then send a test and confirm the parameters appear in the link.
Link tracking can't see offline sales on its own, so add a capturable signal: a unique discount code only in that email, a dedicated landing page URL, or a 'how did you hear about us?' field on your form. Match those against your store or CRM orders to credit email for sales that never touched a tracked website session.
Use one as your headline number and the other as context. Last-click is the simplest, most conservative baseline for comparing channels. Assisted conversions show the revenue email influenced as an early or middle touch, which is often substantial. Never add the two together — you'd double-count the same sales. Pick a method and apply it the same way every month.
Almost always missing or broken UTM tags. When an email link has no tracking parameters, analytics can't tell the visit came from email, so it falls into Direct. Enable your email platform's link-tagging setting, verify it with a test click, and the traffic will start landing in the Email channel where you can attribute revenue to it.
Want a second opinion on your situation?
Get a free, no-obligation proposal. We’ll look at your site and your market and tell you honestly what we’d do — and what we wouldn’t.
Get Free Proposal →