How do you track which emails make sales? Tag each message’s shop links, verify that purchases are recorded, and read the rule assigning orders to email. Compare messages under consistent definitions. When dashboards disagree, check collection and attribution before changing the campaign. Credited sales show which email a report rewards; they do not alone establish extra sales caused by sending it.
An email report and a store report can answer different questions about the same purchase. Start by deciding which question you need answered:
| Question | Evidence to inspect |
|---|---|
| Which email brought this visit? | Campaign tags attached to the clicked link |
| Which email receives credit for this order? | Recorded purchase and the report’s attribution rule |
| Did sending the email add sales? | A causal comparison, rather than attributed revenue alone |
Our suggested workflow follows that order: identify the message, check the purchase, then interpret the credit.
How should you tag email links?
Use a naming convention that lets you distinguish the messages you intend to compare. Google’s campaign-tagging guide specifies utm_source, utm_medium and utm_campaign; utm_content can distinguish creative links within a message. Values are case sensitive, so keep the spelling and capitalisation consistent.
Here is an illustrative convention, rather than a sending platform’s required defaults:
| Parameter | Example value | Purpose |
|---|---|---|
utm_source | newsletter | Identify the chosen email source |
utm_medium | email | Identify the channel |
utm_campaign | autumn_restock | Identify this campaign |
utm_content | hero_button | Identify this creative link |
The example destination becomes:
https://www.example.com/products/refill?utm_source=newsletter&utm_medium=email&utm_campaign=autumn_restock&utm_content=hero_button
Give a flow message its own identifiable value, such as welcome_message_a, if you want to distinguish it from another message. Choose the granularity before reporting: a shared value cannot tell you which of the messages using it earned the visit.
If your sending platform already adds suitable tags, inspect those rather than adding a second manual set. Click the shop links in a received test email and check the final landing URL against your intended names. A wrong campaign value is a collection issue to fix before ranking emails.
In Google Analytics, the documented path is Acquisition → Traffic acquisition, using dimensions such as Session campaign and Session source/medium. This identifies campaign-associated sessions; it does not substitute for checking that purchases are collected.
What purchase data needs to be checked?
Campaign tags identify traffic; purchase collection supplies the order. Check that an expected order arrives with its order ID, value and currency, because a tagged visit without a recorded purchase cannot provide a recorded email sale in that system.
For a web analytics implementation, ask whoever owns tracking to verify an approved test or known recorded order: its identifier, value and currency, under the tracking conditions you actually permit. The ecommerce implementation guide documents a separate purchase event with item information and says to set currency when sending value. It also documents refund events linked to the transaction ID.
The transaction-ID guidance says purchase deduplication applies to web streams, not app streams. Use an order-specific ID; do not send an empty ID or reuse it across customers. An identifier problem belongs in the purchase audit, before any attribution argument.
Record what you verified and what remains unavailable. Do not treat a clean test journey as proof that every customer’s purchase can be observed.
Why can two reports credit different channels?
Attribution assigns credit under a rule. An eligible email open and a clicked link are different interactions, and reports need not reward them the same way.
Klaviyo’s documentation gives new accounts last-touch attribution with five-day email open and click windows. Check the actual account: recorded interactions, enabled touchpoints and configured windows determine eligibility.
By contrast, Shopify’s marketing-report documentation defines last non-direct click as credit to the last non-direct channel. Last click includes direct visits. Record the model selected in the particular report.
Consider this invented journey for one $80 order. Assume both reports identify the same customer, the interactions qualify within their windows, there are no other qualifying touches, and both use the same order value:
| Day | Customer action |
|---|---|
| Monday | Clicks a paid-search link |
| Tuesday | Has a recorded eligible email open, without clicking |
| Wednesday | Visits directly and buys for $80 |
An open-inclusive message rule credits email $80. A last-non-direct-click rule credits paid search $80. Both describe the same order under the stated assumptions.
Adding those separately credited amounts gives $80 + $80 = $160, while the order is still worth $80. Do not sum independently attributed channel totals as if each credit were a separate sale.
How do you reconcile conflicting email revenue reports?
Before changing any setting, record each report’s time basis, credit rule, sales definition and message identity, then trace an available order. Classify the gap as a verified collection defect, a supported credit-rule difference or unresolved. The suggested card below lists what to record.
| Check | Record for each report |
|---|---|
| Report identity | Name and extraction date |
| Time basis | Selected period, timezone, order-event date or message-send date |
| Credit rule | Eligible interactions, windows and attribution model |
| Sales definition | Exact metric, order statuses, discounts and refund treatment |
| Message identity | Campaign values and campaign versus flow scope |
| Traceable example | An available order ID and its observed journey |
| Changes | Tagging or attribution edits since the earlier report |
For the store example, open Shopify → Analytics → Reports → Category → Marketing. Its documented order terms include canceled, pending and unpaid orders, while excluding test and deleted orders. Sales figures also describe goods’ value rather than cash received. Check the metric instead of assuming every “revenue” column means collected money.
For the email example, Klaviyo → account menu → Settings → Attribution lets you inspect enabled interactions and filters. The settings guide distinguishes excluding Apple Mail Privacy Protection opens from attribution from removing opens from reporting. Check both what was recorded and what was eligible for credit.
Date grouping matters too: Klaviyo’s campaign and flow reports use message attribution, while its metric reports group events by the date they happen. A matching date selector therefore need not select matching purchases.
Work through the card, inspect the tags and purchase collection, then trace an order where the data is available. Classify the discrepancy as a verified collection defect, a supported difference in credit rules, or unresolved. There is no universal acceptable mismatch percentage in this guide.
Which numbers should guide your next campaign?
Use message-level credited orders to compare sends under documented, consistent definitions. Where available, compare click-only with open-inclusive credit as a sensitivity check. A click-only view uses a narrower rule; it is not complete ground truth about the email’s effect.
For another perspective, the store’s any-click model credits each clicked channel and can exceed the orders received. Treat that as a channel view, rather than a total to add up.
Before applying a new attribution configuration, save the old definition and report. The email platform documents historical recalculation, with changes taking up to 36 hours to appear. Its Compare model preview is a snapshot based on message sent date and may differ from actual reporting. A changed credited total after a settings edit does not by itself establish changed customer behaviour.
Keep the budget decision separate. Lewis, Rao and Reiley’s 2013 advertising-methods paper explains why a purchase after an ad click is not necessarily caused by that ad. This is a measurement principle, not an email-performance benchmark. Use the guide to whether email marketing earns its cost for the contribution and causal comparison.
The useful reporting outcome is an explainable sales figure, with collection gaps and credit rules visible enough to guide the next decision.
Frequently asked questions
Do UTM tags prove an email caused a purchase?
No. They identify campaign-associated traffic when collected. Attributed purchases receive credit under a reporting rule; establishing additional purchases requires a causal comparison. Tags also do not replace purchase tracking.
Can an email get sales credit without a click?
Yes, under an open-inclusive attribution rule. Klaviyo documents five-day email open and click windows for new accounts, but an open must be recorded and eligible under the account’s actual tracking and attribution settings. Check those settings before interpreting the credit.
Should email revenue match the store’s email sales report?
Only expect comparable figures when collection, periods, sales definitions and credit rules align. An open-inclusive email rule and a last-non-direct-click store rule can credit different channels for the same order. Investigate the definition and observed journey before treating a difference as a defect.
Is attributed email revenue the same as cash collected?
Not necessarily. Read the metric and order-status rules. Shopify says its sales reports show goods’ value rather than money received. Credited revenue alone also does not establish profit or additional sales caused by email.
Sources
- Google — URL builders: Collect campaign data with custom URLs
- Google — Measure ecommerce
- Google — Minimize duplicate key events with transaction IDs
- Understanding Klaviyo message attribution · 10 Mar 2026
- Shopify — Marketing reports
- How to change your attribution model · 20 Nov 2025
- Lewis, Rao and Reiley — Measuring the Effects of Advertising: The Digital Frontier · 29 May 2013