Skip to content

Attribution models

A network’s postback names one click: the click that led to the conversion. That click is what Tallyray sends to your traffic source, and what rules, tuners and bids read. Reports can also share a conversion’s credit among the other clicks the same person made on the way to it. This guide explains how.

A conversion’s journey is made of touches. A touch is a click to the conversion’s offer, counted once at its latest click to it, so a double click is one touch.

  • The click the postback names, the anchor, is always a touch, and the last one. Clicks after it are not touches.
  • The other touches are the same browser’s clicks to the same offer, at or before the anchor and within the lookback before the conversion, with bots left out.
  • A journey has at most 20 touches: the earliest and the 19 latest.
  • Only the conversion’s own offer counts: a click to a VPN offer did nothing for a dating offer’s sale.

A conversion made without a click (a coupon, an app’s aggregated postback) has no journey: every model credits it whole, at its campaign.

Tallyray recognizes one browser’s clicks across your campaigns by a first-party cookie, _jr, on your tracking domain. It holds a random id and nothing from the visit. It is written at clicks only, and:

  • in the EEA, the UK and Switzerland only at a click whose consent grants both ad_user_data and ad_personalization; a click denying either deletes it;
  • elsewhere at each click, unless the click’s consent denies either signal;
  • a Sec-GPC: 1 request deletes it wherever the visitor is;
  • it lives as long as the lookback;
  • it is per tracking domain: a buyer whose campaigns run on several domains has a journey per domain (unless cross-device linking is on).

A browser that clears its cookies starts again, and so does one whose browser deletes a redirector’s cookies. Journeys are a lower bound, never a guess. A click without a cookie is a journey of its own.

If the workspace’s owner turns on cross-device linking (off by default), a conversion that carries an email, phone or user id also takes the clicks of the other browsers that person was seen converting in. For example: a person registers from a push ad on their phone; the network posts the lead with their email. A week later they deposit from a Google ad on their laptop, and the sale’s postback carries the same email. The sale’s journey is the phone’s click and then the laptop’s.

  • Links are made from the identifiers conversions carry, keyed by a keyed hash (never the plain hash), and kept for the lookback after last seen. A person keeps their 20 latest browsers.
  • A shared laptop links nobody’s phones to each other.
  • Links are never shown, exported, sent to a source or given to an AI client.
  • The owner can forget a person: give an email, phone or user id, and their links are deleted.
  • Turning cross-device off deletes the workspace’s links at once.

Each model gives each touch a share. A conversion’s shares sum to exactly the conversion, and its revenue is shared the same way.

ModelShare
Last click (the default)the anchor, whole: the network’s click
First clickthe earliest touch, whole
Linearequal shares
Time decayweight 2^(−age ÷ half-life), where age is how long before the conversion the click was. Half-life: 1 hour to 30 days, 7 days by default
Position basedthe first touch and the last get their shares (40% each by default, together at most 100%); the rest share what is left evenly. One touch takes everything; two split the two shares in proportion

Costs do not move: a CPA or revshare conversion’s cost stays at its anchor under every model, and visits’ costs stay with their visits.

Under Settings (Workspace), buyers set:

SettingDefaultBounds
Default modellast clickone of the five
Lookback30 days1 minute to 90 days, and no more than the click window
Half-life7 days1 hour to 30 days
First and last click shares40% and 40%together at most 100%

The workspace’s owner alone turns journeys (the cookie) and cross-device linking on or off. Cross-device needs journeys. The click window (90 days by default) is a separate setting: the first conversion on a click older than it is kept but unattributed, and the lookback cannot be longer.

  • A report, a saved view, a time series and the placements screen can name a model; with none, the workspace’s default is used.
  • Each share counts at its touch’s dimensions (campaign, connection, placement, tokens, device, country, lander, step), at its visit’s time under the visit time basis.
  • Totals agree. Grouped or filtered by the conversion’s own dimensions alone (offer, network, event type, status, coupon), totals are the same under every model. Filtered by a touch’s dimension (a campaign, a source), they differ. That is what a model is.
  • Conversions can be fractions: a report shows them rounded, and a CSV writes decimals under a model whose shares are not whole. CR, EPC and CPA are worked out from the fractions.
  • Side by side: ask for every model at once to see each row’s conversions, revenue, profit, ROI and CPA under all five.
  • A conversion’s page lists its journey: each touch’s time, campaign, source and placement, whether it came from another device, and each model’s share.
  • Under Reports, Paths, the path report shows conversions by their journey’s sources or campaigns in order (“PushNet ×2 → Meta”), with each path’s conversions, revenue, average touches and average time from the first touch, for up to 13 months. At most 10 steps show (else the first 5 and the last 5).
  • Impressions are the same under every model, and never credited.
  • Conversions sent to your source. One request per conversion change, to the anchor’s connection only, with its click id and the whole value. A model never splits, moves or repeats a delivery, and changing the model changes nothing sent. Each platform attributes among its own clicks, and told of a fraction or another source’s click it would count it as its own.
  • Rules, tuners and bids read last click, so changing the default model never changes what they do.
  • Usage and caps count conversions, never credits.

If Tallyray’s click records have not caught up when a conversion arrives, the conversion waits (up to 24 hours) for the journey. After that it is made with its click alone, credited whole by every model, and marked incomplete.