Deterministic vs probabilistic attribution explained
Written by The Pixamp Team
Every attribution method answers one question: which ad caused this sale? The two main families answer it in opposite ways, and that difference decides how much you can trust your reporting.
What is deterministic attribution?
Deterministic attribution ties an ad click to a conversion through a shared identifier that both ends can see. A logged-in user ID, a hashed email, a click ID passed in the URL: when the same key shows up on the ad click and on the purchase, the two records join with certainty.
Nothing gets guessed here. The system has a one-to-one match, so it can say this person saw this ad and then bought this product. When the full chain happens on a domain you control, deterministic matching is as good as measurement gets.
The catch is that it needs both halves. If the purchase lands somewhere your tracking cannot read the same identifier, there is nothing to match against, and the deterministic method returns nothing at all rather than a guess.
What is probabilistic attribution?
Probabilistic attribution infers the link statistically when no shared identifier exists. It leans on signals like IP address, device type, timestamp, and browser characteristics to estimate the likelihood that a given conversion came from a given click.
Platforms depend on this heavily now. Meta's modeled conversions are probabilistic: when iOS privacy settings or missing identifiers break the direct match, Meta models the likely number of conversions from patterns it has seen before. The output is an estimate, not a receipt.
That estimate earns its keep at scale. Across thousands of conversions, a well-built model tracks the true number closely. On any single conversion it can be wrong, and you cannot point to the specific sale it stands in for.
Where does each method fail for marketplace sales?
Both methods assume the purchase happens somewhere your tracking can observe it. Marketplace sales break that assumption. When a shopper clicks a Meta ad and buys on Amazon, the checkout happens inside the retailer, and the retailer does not pass the click ID or the hashed identity back to your ad account.
Deterministic matching fails first, and it fails hard. There is no shared key, because the ad platform never sees the Amazon transaction. The chain goes dark the moment the shopper leaves your domain for the retailer.
Probabilistic matching fails more quietly, which is what makes it worse. The model can only infer conversions from events it actually receives. If the retail purchase never produces any event in your pixel or Conversions API, the model has nothing to estimate from. It will not inflate a guess to cover the gap. It reports the on-site conversions it can see and treats the retail revenue as if it never happened. The same reporting hole turns up in off-site ROAS, where you know the spend to the cent and the retailer knows the revenue to the cent, with no method joining the two.
How do the two methods compare?
The tradeoff is precision against coverage. Deterministic is exact when it works and silent when it does not. Probabilistic fills gaps with estimates, but it needs a signal to model from in the first place.
| Deterministic | Probabilistic | |
|---|---|---|
| Matches on | Shared identifier | Statistical signals |
| Certainty per conversion | Exact | Estimated |
| Needs a shared key | Yes | No |
| Handles missing identifiers | No | Yes |
| Needs any event at all | Yes | Yes |
| Marketplace checkout visible | No | No |
The last two rows are the ones most marketers skip. Probabilistic methods get sold as the answer to privacy-driven signal loss, and for on-site conversions they do help. Neither row saves you when the conversion event is generated on a domain you do not own and never reaches your measurement.
How do you close the gap for retail checkouts?
The fix is not picking one method over the other. It is generating an event the moment the shopper leaves for the retailer, so both methods have something to work with. That click-through to a retail checkout is a strong proxy for purchase intent, and it happens on a page you control.
Capture that moment server-side, send it back to the ad platform, and Meta's delivery can learn from it. This is the logic behind feeding buyer-intent signals into the Conversions API: the algorithm rebuilds itself around people who head to a retail checkout instead of people who only click. The event is deterministic at the point of capture (a real click from a real session) and then feeds the probabilistic model downstream.
Most retail brands end up with the same four-step shape:
- Route the ad click through a product page or bridge page you control.
- Fire a server-side event when the shopper clicks through to the retailer.
- Send that event back to the platform through the Conversions API.
- Let delivery learn from retail-bound intent instead of raw clicks.
Attribution method is a choice you make after you have a signal. For marketplace sales, the harder problem is producing the signal before any method can measure it.
Where to start
- Website: www.pixamp.io. What the product does, pricing, and the FAQ. First 1,000 clicks free, no card required.
- How it works: www.pixamp.io/#how-it-works. The three-step setup: connect Meta Business Manager, add a retailer button, launch. Live in under an hour.
- Book a demo: www.pixamp.io/#contact. A 20-minute walkthrough on a real retailer page, with the founding team.
If your sales happen at a retailer and your reporting ends at the click, no attribution method will rescue it. The signal has to come first.
