The closed loop that closes somewhere else
Amazon DSP, DV360, Taboola and StackAdapt all report conversions. None of them reports your revenue. Retail media and programmatic are sold on a closed loop, and the loop closes inside the platform — which is precisely where your finance team cannot look.
Contents
Retail media and programmatic are sold with a phrase that does a great deal of work: the closed loop. Impression to purchase, in one system, with none of the guesswork that plagues everything else. It is a genuinely strong claim, and on the platform's own inventory it is often true.
The difficulty is what the loop encloses. It closes around the transactions the platform can observe. If your business closes deals on your own site, in a showroom, over the phone or in an invoice raised three weeks later, the loop closes somewhere you are not standing.
A closed loop is only closed around the sales the platform can see. Every sale it cannot see is outside the loop and, from the platform's point of view, did not happen.
Three different numbers, all called conversions
The word conversion means at least three different things across a programmatic media plan, and reports routinely add them together as though they were one quantity.
The first is a click-through conversion: somebody clicked, then bought, within a window. The second is a view-through conversion: somebody was served an impression, did not click, and bought within a window. The third is a platform-attributed sale on the platform's own storefront, which is a real transaction the platform genuinely processed.
These have wildly different evidentiary weight. The third is a fact. The first is a strong inference. The second is a hypothesis about influence, generated by the same party that is being paid for the influence, using a window it chose.
| Kind | The claim | Who can verify it | Belongs in a revenue report? |
|---|---|---|---|
| Platform storefront sale | This transaction happened here | The platform, and your own settlement | Yes |
| Click-through | They clicked, then bought | You, if you hold both records | Yes, once matched |
| View-through | An impression influenced a purchase | Nobody, in principle | Separately, clearly labelled |
| Modelled or estimated | Statistically, some of this was us | The model's author | As a forecast, never as revenue |
The fourth row is worth dwelling on. Modelled conversions have a legitimate role — they are how you reason about channels that genuinely cannot be observed. They do not have a legitimate role in the number your finance team reconciles against the ledger, because a modelled figure cannot be reconciled against anything.
The overlap nobody can size from inside
When several platforms each report the conversions they believe they influenced, the sum exceeds the number of sales, and the excess cannot be measured by any of the reporting parties.
Consider a single customer over a fortnight. They see a native placement, later see a retargeting impression from a DSP, later search a brand term and click a paid search ad, and then telephone and buy. Depending on windows and settings, that one sale can appear in three platform reports. Each platform is answering the question it was asked, honestly, with the only data it has.
The result is a marketing report where the conversions total, say, one hundred and forty while the accounting system shows a hundred sales. The forty is not fraud and it is not error. It is overlap, and it is invisible from every position except the one holding the sales.
This is the structural reason we think attribution has to start from the closed-sales list rather than from any platform. Not because platforms are untrustworthy, but because arithmetic does not permit several parties to each claim a share of the same event and then add the claims together.
Every platform is grading its own homework with a different marking scheme. The sum of self-reported conversions is not a measurement of anything.
What you can and cannot attribute
Programmatic and retail media are measurable to a lower resolution than search, and the honest approach is to state the resolution rather than to manufacture precision.
What is genuinely attributable
- A lead that arrived carrying a click identifier from the DSP or native platform, which then closed — this is ordinary attribution and it works exactly as it does for search.
- A call that came in on a tracking number used only by that buy, which then closed — same mechanism, different identifier.
- A sale on the platform's own storefront, which the platform settles and reports to you as a transaction rather than as a conversion.
What is not, and should be admitted
- Demand created by an impression that later arrived as a branded search or a direct visit. Real, common, and not observable from either end.
- Influence on a purchase made by somebody who never clicked anything. This is what view-through is trying to price, and it remains a hypothesis.
- Offline word of mouth downstream of an impression, which is a genuine effect with no data trail whatsoever.
A report that lists the first three as revenue and the second three as unknown is more useful than one that blends all six into a confident total, even though the confident total is the more comfortable document to present. The blended version cannot survive one careful question, and it usually only takes one.
Trust is the product. The numbers must be defensible or the tool is worthless.
A workable standard for a DSP or native buy
Apply the same rule to programmatic that you apply to search: closed revenue, matched on a customer identifier, over a stated window, with everything unmatched reported openly as unknown.
In practice this means four things, none of which requires new infrastructure:
- Give the buy its own identifiable route in. A dedicated landing path, a dedicated tracking number, or a click identifier that survives into the lead record. Without one, the channel has no name and cannot appear in any report.
- Export the leads or calls it produced, with that source on every row, on the same schedule as everything else. A channel exported quarterly cannot be compared with one exported monthly.
- Reconcile against closed sales rather than against platform conversions. The list of deals that closed is the only list that cannot double-count.
- Report view-through separately if you report it at all, with the window written next to it, so a reader can see which number is evidence and which is a claim.
| Platform view | Reconciled view | |
|---|---|---|
| Conversions reported | 212 | — |
| Of which view-through | 168 | Reported separately |
| Matched to a closed sale | — | 31 |
| Revenue from those sales | — | £74,200 |
| Unmatched, honestly | — | Reported as Direct / Unknown |
| Can be checked against the ledger | No | Yes, row by row |
The reconciled column looks worse and is worth far more. Thirty-one sales you can name beats two hundred and twelve conversions you cannot, because only one of those two numbers can be defended in a meeting where somebody has the accounts open.
CloseRev matches a closed-sales export against a lead or call export on a normalised phone number and email, so a DSP buy is a row with revenue beside it rather than a line on an invoice with nothing to compare it to. Nothing that cannot be matched is ever assigned to a channel.
The question the platform cannot answer
Attribution asks which channel a sale came from; incrementality asks whether the sale would have happened anyway — and for retargeting-heavy programmatic the second question is the one that decides whether the budget is worth anything.
A large share of programmatic and retail media spend is retargeting: showing advertisements to people who have already visited, already searched, already put something in a basket. Those people convert at a high rate. They also converted at a high rate before anybody bought the impressions, because they were already close to buying, which is why they were targeted.
Attribution and incrementality therefore disagree sharply on this kind of buy, and both are being calculated correctly. Attribution says the channel touched a great many sales, which is true. Incrementality asks how many of those sales would have happened with no advertisement at all, and the answer is often most of them.
| Attribution | Incrementality | |
|---|---|---|
| The question | Which channel did this sale come from? | Would this sale have happened anyway? |
| Needs | An identifier that survives to the sale | A group deliberately not advertised to |
| Answers | Where to look, what to credit | Whether to keep spending |
| Fails when | The identifier is missing | The holdout is too small or contaminated |
| Reported as | Revenue by channel | Lift against a control |
The two are complements, not rivals, and the mistake is to expect one to do the other's job. Attribution tells you where revenue came from and is the number finance can check. Incrementality tells you what would change if you stopped, and is the number that should drive the budget on a retargeting-heavy buy.
Running a holdout without a data science team
A usable holdout is simpler than its reputation. Withhold the buy from a defined slice — a region, a set of postcodes, a randomly assigned share of the addressable audience — for long enough to cover your sales cycle, then compare closed revenue per head between the held-out slice and the rest.
- Choose the slice and the window before starting, and write both down. A holdout defined afterwards is not a holdout.
- Make it long enough to contain the sales cycle. A two-week test on a ninety-day cycle measures nothing except noise.
- Compare closed revenue, not leads. A channel can move enquiries without moving sales, and that distinction is the entire point of the exercise.
- Accept that a small business may not reach a usable sample. That is a real limit, and the honest response is to say the test was inconclusive rather than to report the direction it happened to point.
Holdouts are uncomfortable because they involve deliberately not advertising to somebody, which feels like leaving money on the table. It is the cheapest question you will ever answer about a retargeting budget, and the alternative is paying indefinitely for conversions that were already coming.
Attribution tells you where revenue came from. Only a holdout tells you whether it would have arrived without you. Retargeting budgets need the second question, and no platform can answer it.
What to put in the contract
Most retail media and programmatic disputes are reporting disputes, and nearly all of them can be prevented by agreeing three things in writing before the first impression is served.
This applies whether the buy runs through an agency, a trading desk or directly. The three things are not onerous and each one closes off a specific argument that otherwise happens six months later with money on the table.
- The identifier. What will be attached to a lead or a click so that it can be found again in our own system, and who is responsible for making sure it survives the landing page. Without this the channel cannot be measured, and it is far easier to ask before the campaign than after.
- The attribution rule of record. Which window, click-through or view-through, and whose report is authoritative when the platform's figure and the reconciled figure disagree. They will disagree. Deciding in advance which one governs the invoice conversation removes the entire dispute.
- The unmatched policy. What happens to revenue that cannot be tied to any channel. Our position is that it stays in an explicit unknown bucket, and a partner unwilling to accept that is usually a partner planning to claim it.
The third point is where good and bad reporting relationships separate. A partner who says plainly that a third of revenue could not be traced, and that their share of the traced portion is modest, is a partner whose numbers are worth something. A partner whose report accounts for everything has, somewhere, assigned revenue to itself that nobody observed.
Never invent attribution. Unmatched sales go to an honest Direct / Unknown bucket, because a number that explains everything explains nothing.
The organisational version of the problem
Retail media budgets are frequently approved on the platform's own numbers and then defended, months later, against the company's actual revenue — and the gap between those two conversations is where trust is lost.
The pattern is consistent enough to predict. A buy is approved on a business case built from platform-reported conversions and a favourable view-through window. It runs. Two quarters later somebody in finance compares total marketing-attributed revenue against total revenue and finds the first is larger. The credibility damage lands on the whole marketing function, not on the one channel that caused it.
Avoiding that has less to do with measurement sophistication than with agreeing the standard before the money is spent. If everyone accepts in advance that the channel will be judged on matched closed revenue, then the mid-flight number is not a surprise, and a modest verified figure is not a disappointment — it is what was agreed.
It also changes what you ask the platform for. Instead of asking how many conversions it recorded, you ask what identifier it can put on a lead so that you can find that lead again in your own system. That is a much better question, and the answer to it is the difference between a channel you can measure and one you cannot.
Agree the measurement standard before the spend, not after the invoice. A modest number that was expected beats a large number that turns out to be uncheckable.
Questions people actually ask
- Why do my DSP conversions add up to more sales than I actually made?
- Because each platform counts the conversions it believes it influenced, usually including view-through, and the same sale can qualify in several platforms at once. None of them can see the others. Adding self-reported conversions across platforms therefore produces a total larger than the business, and the size of the overlap cannot be measured from inside any one of them.
- Should I count view-through conversions?
- Count them separately, never in the same total as click-through, and never in the number you give finance. A view-through conversion is a claim that an impression influenced a purchase, which may be true and is not observable. Reporting it beside verified revenue is what makes a whole report unbelievable.
- How do I attribute Amazon DSP revenue that closes on my own site or by phone?
- By reconciling your closed sales against a lead or click export that carries the DSP as its source. Off-platform sales never enter Amazon's reporting, so the platform can only tell you what happened inside it. The join has to happen where the closed sales live.
- Is programmatic simply unmeasurable for a lead-generation business?
- No, but it is measurable to a lower resolution than search, and pretending otherwise is the mistake. You can usually attribute the leads it produced and the revenue those closed; you generally cannot attribute the demand it created that arrived later through a branded search. Report the first, and treat the second as a known limit rather than an estimate.
- What is a reasonable measurement standard for a native or DSP buy?
- The same one you apply to search: revenue from closed sales, matched on a customer identifier, over a stated window, with everything unmatched reported as unknown. If a channel cannot meet that standard, the honest report says so — which is far more useful than a number that quietly uses a different rule than the row above it.