Skip to content

How attribution works

There is one rule, and it is simple: a revenue event is attributed to the visit it happened in.

A visit is a run of activity by one visitor with no gap longer than thirty minutes. Its first hit records where the visitor came from, and every later hit in the same visit, revenue included, carries the same facts:

Dimension Read from
Source The referrer domain of the visit, or Direct when there was none
UTM source, medium, campaign The query parameters on the landing URL
Landing page The first path of the visit
Country, region, city The geo lookup on the visit’s hits
Device, browser, OS The user agent of the visit

So when the Revenue screen says “$1,240 from newsletter”, it means: revenue events fired inside visits whose landing URL carried utm_campaign=newsletter.

  • No setup beyond the event. There is no id to forward to a server, no metadata to tag a checkout with, nothing to match afterwards.
  • No gap. Every revenue event has a visit, so every revenue row has a source. There is no “unattributed” bucket to explain.
  • Filters just work. A country filter on the Revenue screen keeps the revenue events that fired in visits from that country, using exactly the same definition the visitor count beside it uses. Numerator and denominator are filtered together.

The attribution window is the visit. If somebody lands from an ad on Monday, comes back directly on Friday and pays then, Friday’s visit is Direct, and the revenue is credited to Direct.

That is a real limitation of a cookieless product, and it is stated rather than papered over. A daily rotating id cannot recognise Monday’s visitor on Friday; see How visitors are counted. If your consideration window is longer than a visit, the honest instrument is tracing.identify() plus your own records, not a guess made by the analytics.

The Revenue screen’s Customers tile counts distinct visitors who fired at least one revenue event in the range. In the default cookieless mode a visitor is a browser-day, so a person who buys on two different days is two customers. Read the number as “paying browser-days” over long ranges.