nod.

Attribution models and when to use which

What each model does, and how nod. Mix V3 separates Created, Intent Captured and Final Closed.

Updated July 31, 2026

Switch the model on your dashboard and the numbers move, sometimes a lot. That's expected. Every model reads the same underlying data; it just splits credit across the touches in a customer's path differently. This article explains what each model does, and which one answers which question.

The five models

nod. computes five credit models: First click, Last click, U-Shape, nod. Mix, and Data-driven. All five are calculated live, every time you load a report, from the same frozen touch path for each order. Nothing is precomputed or locked in per model, so switching models never requires a data migration or a recompute. If nod. improves a model's math later, your historical numbers update automatically. (The sixth entry in the picker, Unique, counts participation instead of splitting credit: every entity on a path gets the whole conversion, so its column can add up to more than your conversions.)

ModelWhat it does
First click100% of credit to the first touch in the path
Last click100% of credit to the last touch in the path
U-Shape40% first touch, 40% last touch, 20% split evenly across the middle touches. A 2-touch path is a flat 50/50
nod. MixV3 separates Created, Intent Captured and Final Closed, with explicit evidence and health states
Data-drivenIntended as a data-driven model; currently shows U-Shape numbers (see below)

A path with only one touch gives that touch 100% of the credit under every model.

How nod. Mix V3 works

nod. Mix starts from a distinction the other models don't make: some touches create demand, others capture demand that already existed. A Meta ad that put your product in front of someone for the first time did different work than the brand search they typed a week later to find you again. One number that blends the two flatters the harvester.

nod. Mix V3 starts with a 70% Creation job and a 30% Capture job, then exposes three roles:

  • Created goes to eligible observed paid/earned push touches and, only when a permitted provider feed exists, eligible conversion-linked verified exposure. Competing observed touches can be weighted by recency and bounded active engagement. Wall-clock duration stays diagnostic. Aggregate impressions, video views and Platform Claims never enter this pot.
  • Intent Captured receives half of the 30% Capture job when an explicit eligible milestone exists on a different observed touch before the close. Newsletter subscription, account creation, demo request, quote request, add to cart and checkout start are launch milestones. A generic form submit or long session is not.
  • Final Closed goes to the last observed non-direct touch. With no eligible milestone it receives the whole Capture job. Verified off-site exposure cannot win Intent Captured or Final Closed because it is not a site entry or advertiser-owned milestone.

Three rules complete the picture:

  • One touch can win several roles. If the milestone and close resolve to one touch, the UI keeps both subcomponents visible but that touch receives the whole Capture job. A single eligible touch can still earn 100%.
  • Capture-only channels never compete for the creation pot. Brand search is the built-in case: someone searching your brand name already knows you, so Google Brand earns capture credit but not creation credit. The one exception is a journey where brand search is the only touch; then it keeps everything. You can extend this list per workspace in Settings, under Channels.
  • Middle touches show 0, visibly. A touch that wins none of the three roles stays in the observed Journey with zero credit. Nothing is hidden or redistributed.

A worked example: Meta verified view, then a Meta click with seven active minutes, then Google Brand with a newsletter subscription, then an email click and purchase. With eligible verified evidence, Meta competes for the 70% Creation job; the seven active minutes can raise the click's share against the view or another observed Creation touch, but only through the bounded square-root curve and only when engagement health passes. Google Brand receives 15% Intent Captured and email receives 15% Final Closed. If the verified provider feed is unavailable, the view receives no credit and the Meta click takes the full 70% Creation job. The result is clicks-only, explicitly labelled.

The calibration dial and locked safeguards

The 70/30 Creation/Capture split is the workspace calibration dial, and its provenance is visible. A fresh workspace shows "Start value, not calibrated yet". A passing brand-pause, geo-split or budget-step calibration can produce a new revision. It does not silently rewrite historical methodology.

The dial accepts 50/50 through 90/10. The 7-day observed-click default, 1-day verified-view default, 30-second view/click deduplication, 50% Intent Capture split, active-time curve and evidence release rules are versioned method safeguards, not hidden channel multipliers.

Evidence status is part of the answer

Observed means the credit came from advertiser-observed evidence. Verified means an eligible provider linked an exposure to the same conversion under a permitted contract. Provisional means the verified feed has not settled through the requested period. Unavailable means nod. cannot use that evidence class. Withheld means privacy or provider release rules suppress the filtered cell. Unavailable and Withheld are never displayed as zero.

Google Brand and Google Generic

Because brand search is where capture bias hides, nod. splits Google Ads into two rows wherever campaign names or search terms allow it: Google Brand and Google Generic. The split reads your workspace's brand terms (seeded from your workspace name, editable in Settings under Channels) against campaign names, and falls back to a plain Google row when a campaign can't be classified. nod. never guesses brand.

Data-driven: honest status

Data-driven is meant to be a statistical model that removes each channel from the path and measures the actual drop in conversions instead of applying a fixed weighting rule. It isn't built yet. Today, requesting data-driven returns the same numbers as U-Shape, and the dashboard badges it as a fallback so you can see that at a glance. This holds regardless of how much order volume you have. Treat data-driven as U-Shape with a different name until that badge changes.

Which model answers which question

  • "How well is my prospecting working?" Use first click. It shows which channel actually opened the door, which is what you want when judging cold or top-of-funnel campaigns.
  • "What's closing the sale?" Use last click. It credits whatever touch immediately preceded the order. Useful for judging retargeting, email flows, or anything meant to convert an already-warm visitor.
  • "Which channels build demand, capture intent, and close?" Use nod. Mix V3. Read Created, Intent Captured and Final Closed with the observed/verified coverage and health state beside them.
  • Comparing models side by side. The comparison view shows every model for the same entity at once, which is the fastest way to see how sensitive a channel's credit is to the model you choose. When the spread across models straddles your break-even, no model settles the question; a test does.

Why the numbers move but the data doesn't

Every model works from the same frozen path of touches for a given order. nod. doesn't re-collect or alter data when you switch models. What changes is only the weighting formula applied to that path. This is also why comparing across models is safe: revenue totals, order counts, and the underlying customer journeys are identical underneath. Only the split of credit shifts.

If you want to understand how nod. builds that touch path in the first place, see how attribution works. For a breakdown of the report layouts themselves, see reading the attribution dashboard.