The order is real. The cause is a model.
Revenue can be observed exactly and still be credited carelessly. Follow one order from delivery to refund, then decide what the evidence supports: a record, an assignment, or a causal estimate.
By Moosewave
Published · 13 min read

Start with three ledgers
Observed, attributed, and incremental revenue answer different questions.
- 01 · Observed
- The commerce system recorded an order and its later refund. This is a business event, independent of channel credit.
- 02 · Attributed
- A declared rule assigned some or all net order value to email because an eligible touchpoint appeared in its window.
- 03 · Incremental
- An experiment estimated the additional revenue that would not have occurred without the email treatment.
A sound email analytics system keeps all three. It never relabels attributed revenue as incremental revenue merely because the dashboard has a currency symbol.
One order, seven records
Consider a fictional order, ORD-4821. We can reconstruct its chronology without pretending every event carries the same weight. The useful object is not a single “email conversion” row. It is a chain of source records with timestamps, identifiers, and confidence.
- 01
08:04 · Delivery accepted
The receiving server accepts the campaign message. This proves acceptance at that boundary, not inbox placement or attention.
- 02
08:16 · Link requested
The campaign link is requested. Scanner classification and surrounding browser activity determine whether the report calls it machine, uncertain, or likely human.
- 03
08:17 · Session begins
A landing session carries campaign parameters and a first-party session identifier. The URL evidence survives even if the eventual purchase happens later.
- 04
08:21 · Identity resolves
The visitor signs in. Under the workspace’s permitted identity policy, the browser session can now join the known customer profile with an explicit confidence level.
- 05
Next day · Direct return
The customer types the store address on a laptop. Direct is the observed session source; a last non-direct model may still look back to email.
- 06
10:42 · Purchase recorded
The commerce system emits ORD-4821 for 120 revenue units with a durable transaction ID. That is observed gross revenue, not yet channel credit.
- 07
Day six · Partial refund
A 20-unit item is refunded against ORD-4821. Retained revenue is now 100 units, and every downstream attribution view should reconcile to that change.
The click itself also needs care. Link scanners and security systems can create requests that resemble engagement. The field note on email click tracking, bots, and human intent explains why a raw request should not become a high-confidence touchpoint automatically. The same caution applies one rung earlier: an open is an image request, not a reliable witness to attention.
The path changes when identity changes
The clean diagram assumes one person, one browser, and one uninterrupted trail. Real customers click on a phone, compare on a work computer, ask a partner, and purchase through an app. A first-party account ID can connect signed-in activity across devices when that use is disclosed, permitted, and consistently implemented. It cannot honestly connect activity that was never identified.
Keep unknown gaps unknown. A deterministic account join, a device-level identifier, and a modeled association should not share one undifferentiated “customer” label. Google Analytics, for example, documents User-ID, device ID, and modeling as separate identity spaces. The chosen reporting identity can change the journey a report appears to see.
Direct return
Preserve direct as the session fact. If a model carries forward email credit, label that as its attribution rule.
Overlapping campaigns
Retain every eligible touch and exact send. Otherwise the newest campaign can silently claim demand built by earlier work.
Repeat buyers
Separate customer history from this order’s path. Existing purchase intent can make attributed revenue large while incremental lift remains modest.
Cross-device gaps
Report matched and unmatched coverage. Do not use probabilistic stitching as if it were a confirmed person-level fact.
This is why attribution depends on more than the email tool. Moosewave integrations preserve source events from the store, product, and customer systems, while the audience layer keeps eligibility and customer state distinct from a model’s channel credit.
Five models, five answers to the same order
Suppose the observed path is Organic Search → Email A → Paid Social → Email B → Direct → 100 units of retained order value. The table below applies familiar models to that same evidence. First-click, linear, and position-based views remain useful concepts in custom analysis, but Google Analytics retired those rule-based models from its attribution reports in November 2023. A report should say what it actually computes, not borrow a model name from an older interface.
| Approach | Allocation for this path | Useful lens | Boundary |
|---|---|---|---|
| First touch | 100 units to Organic Search | How the observed journey began | Ignores every later influence and does not estimate cause |
| Last non-direct touch | 100 units to Email B | The final identifiable acquisition touch | Direct is skipped by rule; Email B receives all credit |
| Linear | 25 units to each of four non-direct touches | A deliberately even journey view | Equality is an assumption, not an observed contribution |
| Position based | 40 units first, 40 units last, 10 units to each middle touch | Emphasizes discovery and closing | The weights are chosen, not discovered |
| Randomized holdout | No person-level allocation | Difference in outcome rates between treatment and control | Estimates program effect, subject to experimental uncertainty |
Attribution models divide known credit. They are still valuable: teams need stable operational reporting, channel comparisons, and paths worth investigating. The mistake is treating a different allocation as a different sale, or a sophisticated allocation as proof of causality.
A window is an eligibility rule
A seven-day click window asks whether a qualifying email click occurred during the seven days before purchase. A 30-day window admits more touches. It does not make the order larger or the older interaction more causal; it changes which records are eligible for credit.
Choose the window before opening the performance report. Ground it in the normal decision cycle and the message’s purpose: a same-day replenishment reminder, a weekly launch, and a considered subscription do not need identical windows. If 24-hour, seven-day, and 30-day views reverse the conclusion, show the sensitivity instead of choosing the flattering one.
The window belongs in the metric’s name, not in a hidden settings panel.
Also keep event time and reporting time straight. A December order can receive credit from a November touch if the window allows it. Google Analytics documents both event-time and interaction-time reporting because the chosen date boundary changes which side of a monthly report receives the credit.
Revenue should survive contact with the ledger
Our example begins at 120 units and ends at 100 after a partial refund. A dashboard that keeps the original 120 indefinitely is measuring checkout value, not retained revenue. Preserve the purchase and refund as separate immutable source events, join them by transaction ID, and derive gross, refunded, and net values for the selected reporting date.
Deduplication matters just as much. A purchase confirmation page can reload, a server event can retry, and two analytics libraries can emit the same order. A durable transaction ID lets the measurement layer reject duplicates without deleting legitimate repeat purchases. Google Analytics likewise recommends transaction IDs to minimize duplicate key events and defines a refund event for full and partial refunds.
Decide whether the business question uses order date, refund date, or a maturation period, then state it. Finance may close a month one way while lifecycle teams use a rolling retained revenue view. Both can be valid if each report reconciles to the same commerce records and declares its timing policy.
Moosewave’s commerce connection keeps the source transaction and adjustments beside the message path, so attribution can be recalculated when the order changes rather than frozen at the thank-you page.
A worked holdout, with the arithmetic exposed
Now change the question from “which touch gets credit?” to “what happened because we sent?” Imagine 10,000 eligible recipients randomized before a campaign. The numbers below are illustrative, not a benchmark.
Treatment
450 / 9,000
5.0% purchased after being assigned the campaign.
Holdout
40 / 1,000
4.0% purchased without receiving this campaign.
Treatment rate − holdout rate = 5.0% − 4.0% = 1.0 pp
Expected baseline orders = 9,000 × 4.0% = 360
Estimated incremental orders = 450 − 360 = 90
Relative lift = (5.0% − 4.0%) ÷ 4.0% = 25%
At 100 equal net revenue units per order: 90 × 100 = 9,000 units
Suppose the seven-day last-touch report assigned 315 orders, or 31,500 net revenue units, to email. That does not contradict the experiment’s estimate of 90 incremental orders and 9,000 units. Attribution asks which observed orders meet a credit rule. The holdout estimates how many orders exceeded the baseline that would likely have occurred anyway.
The transparent arithmetic is only a point estimate. A real analysis needs uncertainty intervals and enough statistical power. Randomization must happen before exposure; treatment and holdout need the same eligibility rules and observation period; mandatory transactional messages should continue; and overlapping promotions can contaminate the contrast. Unequal allocation is acceptable, but the comparison must use rates or correctly scaled totals.
Analyze assignment, not only successful delivery or observed opens. Excluding hard-to-reach treatment recipients after randomization can break comparability. Record suppressions, delivery failures, cross-channel contact, and the number of observations; decide the success metric and duration in advance; and avoid repeatedly peeking until noise looks like a win. Google’s own lift documentation makes the same conceptual separation between standard attributed conversions and incremental conversions estimated from treatment and control.
Build the report so it can disagree with itself
A trustworthy report does not force every question into one heroic number. It shows observed orders and refunds from the commerce ledger, attributed revenue under a named model and window, and experiment estimates with their assignment, uncertainty, exclusions, and contamination notes.
In Moosewave, an order keeps its source identity while models produce versioned views. Change the attribution window and the allocation can be recomputed without rewriting the event history. Connect a refund and retained revenue updates. Resolve a signed-in identity and the path gains a confirmed join rather than a silent merge. Campaign, audience, and experiment membership remain inspectable.
The useful dashboard can therefore say, at the same time: “email received 31,500 units under seven-day last non-direct attribution,” “the store retained 100 units on ORD-4821,” and “the holdout estimated 9,000 incremental revenue units, subject to this interval.” Those statements do not compete. Together, they tell the operator what happened, how credit was allocated, and what the campaign may have caused.
Open the interactive Moosewave walkthrough to follow audience selection, sending, and outcomes through one connected workspace. The product should make it easier to ask a narrower question, not easier to overstate the answer.
Frequently asked questions
Direct answers about email revenue attribution, windows, identity, refunds, and randomized holdout measurement.
What is email marketing attribution?
Email marketing attribution is the process of assigning conversion or revenue credit to email touchpoints under a declared rule or model. It explains how a report distributes credit; it does not by itself prove that email caused the outcome.
What is the difference between attributed and incremental revenue?
Attributed revenue is observed revenue assigned to email by a model, such as last non-direct touch within seven days. Incremental revenue estimates how much additional revenue occurred because the email was sent, usually by comparing a randomized treatment group with a valid holdout.
Which email attribution model is best?
No model is universally best. Last touch is simple for operational reporting, first touch describes discovery, and multi-touch rules describe a journey from different angles. Use a randomized holdout when the decision requires causal evidence, and always publish the model and window beside the result.
How long should an email attribution window be?
Choose a window before reading the result, based on the decision cycle and message purpose. A flash sale may justify a short window, while a considered purchase may need longer. Report a sensitivity view when reasonable windows materially change the conclusion.
How should direct visits be treated after an email click?
Keep the direct session as an observed fact. A last non-direct model may assign the later purchase to the earlier email click if it remains inside the lookback window, but that assignment is a reporting convention rather than proof that email caused the purchase.
How do cross-device purchases affect email attribution?
A click on one device and purchase on another can look like two people unless a permitted, stable first-party identity connects them. Keep unmatched paths visible instead of forcing a join, and document how consent, sign-in, device IDs, and identity confidence affect coverage.
Should refunds reduce attributed email revenue?
Yes, when the business question is retained revenue. Preserve the original purchase, record full or partial refunds against the transaction ID, and show both gross and net values so the report can be reconciled to the commerce ledger.
How does an email holdout test measure incrementality?
Randomly assign eligible recipients before sending, deliver the campaign to treatment, withhold it from control, and compare outcome rates over the same period. The rate difference estimates incremental effect under the experiment assumptions; uncertainty, contamination, the number of observations, and opportunity cost still need to be reported.
Sources & method
Current analytics documentation and experiment guidance
Official documentation establishes how common analytics systems define attribution, identity, ecommerce adjustments, and lift. The worked order and operating model are Moosewave’s synthesis.
- Google Analytics, Get started with attribution. Defines attribution models, direct-visit treatment, and the currently available Google Analytics models.
- Google Analytics, Key event attribution models report. Documents model comparison, event-time versus interaction- time reporting, and the retirement of first-click, linear, time-decay, and position-based models.
- Google Analytics, Select attribution settings. Explains that a lookback window determines how far back a touchpoint remains eligible for credit.
- Google for Developers, Traffic attribution data. Separates user-, session-, and event-scoped traffic attribution fields in the Analytics export.
- Google Analytics, Measure activity across platforms with User-ID. Describes first-party User-ID joins across sessions, devices, and platforms, along with implementation limits.
- Google Analytics, Set up ecommerce events. Documents purchase context and full or partial refund events.
- Google Analytics, Minimize duplicate key events with transaction IDs. Documents unique transaction identifiers for purchase deduplication and refund processing.
- Google Ads, Understand Conversion Lift data. Distinguishes standard attributed conversions from incremental conversions estimated by treatment and holdout.
- Google Ads, Set up user-based Conversion Lift. Covers holdout allocation, study power, conversion lag, duration, and other design considerations.
Last reviewed 13 August 2026. Interfaces and model availability change; verify the current documentation for the analytics and commerce systems you operate.
Continue reading
Audit the touch before assigning the order
Learn how security systems complicate click evidence, then see why an image request cannot stand in for human attention.