Closed-loop attribution closed the loop for the seller, not for you.
A wave of closed-loop products shipped this month. They all share one feature nobody is naming: the company reporting the conversion is the company selling the media. That is last-click's oldest failure in a 2026 costume.
Closed-loop attribution had a loud month, and the trade press filed every piece of it as a separate story. Walmart acquired a self-serve connected-TV platform so small businesses can launch “closed-loop” television campaigns in minutes, from fifty dollars a day, with sales attribution wired in. Kroger opened its shopper data inside TikTok and Walmart extended its measurement into YouTube, both reframing channels that used to be called branding as lower-funnel performance. And Netflix, pressed by advertisers for the IP-level data they use to verify delivery, countered that buyers should trust its deterministic identity instead.
Read separately, each is a “look, the loop is closing” story. Read together, they are the same story, and it is not the one the headlines are telling. In every one of these, the company that reports the conversion is the company that sold the media. The loop closed. It just closed for the seller.
I want to be precise about why that matters, because it is easy to wave at “conflict of interest” and move on, and the real problem is more specific and more technical than that.
Proximity is not lift
The promise of a closed loop is that you can finally see the sale. The ad ran, the purchase happened, the platform matched them, and now you know the ad worked. Except that last step is the whole con. Matching an exposure to a purchase tells you the two things co-occurred. It does not tell you the exposure caused the purchase. A high-intent shopper who was going to buy anyway, who happened to pass an ad on the way to the checkout they were already walking toward, looks identical in a closed-loop report to a person the ad genuinely moved.
This is the single oldest error in performance marketing. It is last-click credit, the thing we have spent fifteen years explaining to clients, now rebuilt on purchase data and sold as an upgrade. The fact that the match is deterministic, real identity to real receipt, makes it more convincing and not more correct. Deterministic proximity is still proximity. The closed loop measures correlation with extra confidence, which is worse than measuring it with appropriate doubt.
A match rate is a floor, not a truth
Here is the part I know from running it rather than reading about it. I operate offline matchback in production, taking real conversion records and matching them back to advertising exposure. And the thing that never makes it into the closed-loop pitch is how lossy that match is.
Match on a single key, a hashed email say, and you get a steep funnel. A large set matches at the visit level, a much smaller set survives to a conversion, and a smaller set still ties to an actual purchase. The overall match rate is low, and it is low for boring, structural reasons. A lot of customer records are sourced offline and never had a web identity to match in the first place. A trailing space in an email silently breaks the hash. The keys you have and the keys the platform has overlap only partly.
None of that is a scandal. It is just what offline matching is. But it means the number you can report is a fraction of the real picture, and the honest way to present it is as a floor. “At least this many, matched on the keys we had.” The closed-loop products do not present it that way. They present the matched number as the answer, and the unmatched majority quietly disappears, and the buyer is left thinking they saw the whole loop when they saw a thin, self-selected slice of it.
Who grades the test
Put those two together and you arrive at the actual issue. The seller owns the conversion data, the seller runs the match, and the seller decides how the match is counted, what window it uses, how duplicates are resolved, and which exposures get credit. The party with the strongest commercial interest in the number being big is the party computing it.
We already have a name for this in the parts of the industry that have been doing measurement seriously. We say a network’s self-reported number is not reality, and we make a point of naming which number is which and why they differ. A platform reporting its own conversions, on its own attribution model, with its own lookback, is making a claim, not stating a fact. Closed-loop retail and CTV products are that exact situation, dressed in the language of ground truth because there is a real receipt somewhere underneath. The receipt is real. The causal story laid on top of it is the seller’s, and you did not get to see the model.
The objection worth taking seriously
The fair counter is that some signal beats no signal. CTV and retail media spent years as measurement deserts where you bought on faith and reported on reach. A closed loop, even a seller’s closed loop, is more than you had. Is the purist position just an excuse to keep everything unmeasurable?
No, and the distinction is the whole point. More signal is good. Trusting the seller’s grade on that signal is the mistake. You can take the matched purchase data as an input, a useful one, while refusing to accept the seller’s attribution of it as the conclusion. The two are separable. The platform can tell you which of your customers it saw and when. What it should not get to tell you, unchecked, is how much of your revenue its ads caused. That second claim is the one you verify yourself.
What the operator actually does
The move has not changed, it has just gotten more important as the loops get slicker. Treat every closed-loop number as a network-reported number, because that is what it is. Ask what is underneath it, the window, the dedup, the match rate it is quietly conditioning on. And own at least one measurement the seller cannot grade. A real incrementality test, a holdout, a geo experiment, anything where the counterfactual comes from your design and not from the platform’s matching logic. That is the number that tells you whether the ad caused the sale, and it is precisely the number no seller will ever hand you, because a seller has no incentive to run the test that might show its loop closed on thin air.
The loop closed this month, in living rooms and loyalty programs and chat windows. Just notice who it closed for. It closed for the company that sells the media and reports the result. Whether it closed for you is a separate question, and it is still yours to answer.
Only visible to you when signed in. X opens with the post pre-filled. LinkedIn requires a paste — the button copies the text and opens the composer.