ads.txt did not save this buy
99.85 percent of observed Supply Bench spend was already ads.txt authorized. Unauthorized was $0.48. ads.txt did not remove the waste we actually found.
Published 2026-09-09 · Search job: does ads.txt stop invalid traffic
ads.txt does not stop invalid traffic on a buy that is already authorized. On the 2026-09-02 Supply Bench pull we spent $195.56 on Authorized-Direct, $120.59 on Authorized-Reseller, and $0.48 on Unauthorized. That is 99.85 percent of observed spend already sitting on authorized paths. The waste we found was inside the authorized pile, not outside it.
If your question is "should I turn on ads.txt so the junk goes away," the answer from this flight is no. The unauthorized bucket was forty-eight cents.
What we actually measured
The same pull that produced 1,149 placements and 1,535 domains also broke spend by ads.txt authorization. The three buckets add to the $316.64 observed slice (partial coverage of a combined total near $432). Unauthorized was not a rounding error we ignored. It was $0.48, and we are retracting ads.txt-as-fix for this waste because of that number.
Authorized is not a quality grade. Reseller paths on this flight clicked 2.3 times more than Authorized-Direct: 0.423 percent CTR versus 0.184 percent. That spread is an arbitrage signature, not a reason to treat Direct as clean. The writeup is Reseller paths clicked 2.3x more than direct.
Seven domains still produced 41.3 percent of clicks from 4.7 percent of impressions while almost all spend was authorized. people.com ran a 15.97 percent CTR. msn.com ran 5.35 percent. Those hosts were not hiding in the $0.48 unauthorized remainder.
Hygiene is still reasonable
Retracting ads.txt-as-fix for this waste is not the same as deleting the control. Blocking Unauthorized and Unknown is still reasonable hygiene. ads_txt is a real targeting key in the environment module on this seat, with four catalog values: Authorized-Reseller, Authorized-Direct, Unauthorized, and Unknown. The live portfolio's Beeswax environment module was null on the flights we read. Those campaigns accepted unauthorized and unknown-authorization inventory by omission.
The unused lever on the flights themselves was inventory_quality.inventory_sources_include sent as []. An empty include list is not a filter. It is the default that says we did not use the field. We will not rewrite that empty array as a decision we made.
For the term itself, see ads.txt. For the claim that authorized inventory can still be junk, see Authorized inventory can still be junk.
What we will not claim
We will not say ads.txt is useless. We will not say Authorized-Direct is high quality. We will not say $0.48 of unauthorized spend means the buy was clean. We had no IVT vendor on the creatives. Zero invalid_impressions is a measurement gap.
ads.txt answers "was this seller allowed to sell this domain." It does not answer "did a person see the ad" or "did a person click." Those are different meters. This flight spent almost all of its money on allowed sellers and still produced a click pile on seven hosts.