The full path from pixel event to a credited dollar in your dashboard.
When a number in nod. doesn't match what you expected, it helps to know where it came from. This article walks the full path: a pixel event on your storefront, through touch-building and identity stitching, to an order, to a credited dollar in a report.
That last point matters: nod. does not accept a method version from the browser. An immutable active config revision, its data revisions and the requested reporting window form one stable read. If anything changes during the read, nod. retries instead of combining two states.
Not every pixel event becomes a touch. Some are folded into the touches around them:
A session carries two different time values. Wall-clock duration remains diagnostic. Active engagement counts only while the page is visible and the window is focused. It is frozen as of the conversion, capped at 600 seconds, neutral at 60 seconds and applied with a square-root curve. Missing active time is neutral, never zero.
Active engagement feeds exactly one decision in nod. Mix V3: the split between competing observed Creation candidates. It activates only when the fixed 28-day health epoch and the complete-path gate pass. A sole candidate still receives the same Creation pot whether the session lasted one minute or seven. A generic form or a long session never becomes an intent milestone by inference.
nod. Mix V3 can use two evidence classes for credit: first-party observed events and eligible conversion-linked verified exposure. Verified exposure requires a real provider contract, a stable conversion match, sufficient time precision, a healthy feed and the provider's release rules. When that feed is not available, nod. stays clicks-only and labels verified exposure unavailable. It does not infer a view from aggregate video-watch metrics.
Platform-reported conversions and revenue remain Platform Claims. They can be compared beside nod. credit, but never enter the scoring path. Google Search Console is aggregate Search Demand. It has no user, session or conversion join, never creates a Journey touch and never receives credit.
Google paid touches carry one extra classification step. nod. splits them into brand and generic by matching the campaign name against your workspace's brand terms (seeded from your brand name, editable in settings) and reading the search term when the click passes one. A campaign that labels itself non-brand or generic lands in generic; a campaign carrying one of your brand terms lands in brand. When a touch arrives with neither a campaign name nor a term to read, it stays a plain Google paid touch. nod. never guesses brand, because an inflated brand row is the exact bias this split exists to expose. Both rows then report separately, under every model.
When an order or lead comes in, nod. tries to resolve it against a visitor's touch history, in order of confidence:
Heuristic links such as IP plus recency are classified as modeled context. They cannot enter the deterministic nod. Mix V3 score or appear as an observed Journey sequence. A conversion without an eligible deterministic link stays unattributed instead of being silently upgraded.
Orders that don't match any tier still show up — under a channel called unattributed. By default nod. doesn't redistribute that revenue onto other channels to make totals look cleaner, and the redistribution lens that estimates where it might belong is optional and labeled. If your unattributed share is high, that's the coverage number to watch (see the related article on coverage).
The default observed-click window is 7 days. A report can narrow it to 1 day or request 28 days/full, but it can never widen the active workspace method. Eligible verified views use a separate 1-day window. An exact-time view and click from the same provider/entity within 30 seconds collapse to the stronger event. The retained Journey horizon is 90 days by default; retention never makes an old event eligible for credit.
Attribution doesn't recompute in real time on every page view. It runs on three triggers:
In practice: Shopify orders show up close to real time. Pixel-only purchases and CRM leads can take up to about 30 minutes to appear, since they wait for the next scheduled tick.
Every day boundary in nod. is computed in your shop's own timezone, not UTC — so a sale at 11:30pm local time lands on the day you'd expect, matching what you see in Shopify admin. If your store's timezone hasn't been captured yet, nod. falls back to Europe/Berlin until it is. This also means daylight-saving transitions are handled correctly: the day you switch clocks is genuinely 23 or 25 hours in the bucketing, not a UTC day pretending otherwise.
Withheld. A restricted low-volume cell is null, not zero. Order Journey never reveals an aggregate-only provider match.