Your channel is getting miscounted in the numbers that set the budget.
Brands always ask the same question: how many of my SKUs did ads on your screens actually sell? The usual answer is a before-and-after campaign report: sales of the advertised SKUs went from $1,000 a week per store in the 4 weeks before to $1,310 during the campaign, up 31%. Today's answers often under-count the credit your screens should get, or over-credit your screens with seasonal effects: a before-and-after report counts the season and the price promo, card panels see only a sample of cardholders, probabilistic matching estimates who saw the ad, and time windows miss shoppers who buy on a later trip. Causal inference gives every screen store a twin that never saw the ads, built from stores without the campaign that sold these SKUs like the screen stores before the flight, allowing us to isolate just the effect of the ad exposure on in-store sales. The season and a chain-wide price promo show in both lines, and the gap opens when the flight starts and closes after it ends: 12% more, or $16,800 in 6 weeks. The gap is what your screens sold, SKU by SKU: $7,100 on the 12 oz can, $6,100 on the 20 oz bottle and $3,600 on the 6-pack. That's proof brands accept: synthetic control is recommended in the IAB/MRC Retail Media Measurement Guidelines (2024), every sale at every store is counted rather than a sample, and in the brand's mix model your screens go from a default value to a measured 12%. Get full credit for every sale your screens cause. Start by sharing 1 past campaign and your store sales. Illustrative data.
Not because anyone decided it does not work. Because of what the advertiser is holding when they compare you against everything else they could have bought.
Which read applies to you comes down to one question: can your exposure be geo-targeted?
I sell creator media
Not geo-targetable. Your audience is reached by interest rather than by market. No campaign viewers missed it based on location, so there is no geo-based comparison group waiting to be used. We build the comparison from historical data, and all we need from you is a starting date.
The public marketing data read →I sell in-store or forecourt media
Your buyers have started asking for outside validation, and the largest networks have started supplying it. Your exposure separates by store, so the comparison group already exists inside the chain. We read sales at the exposed stores against matched stores that ran no media.
The matched-store read →Selling equipment, software or a food program into stores? The vendor proof read ↓
Their perspective
The advertiser buying your media
Your perspective
The network selling the attention
Your channel is set up to lose the argument by default. We change the way the advertiser looks at it.
Four ways your hard-working channel's performance disappears.
It is not broken out
Creator and retail media are usually folded into a broader line such as digital video or social. A model cannot report a contribution for a line item it does not have, so the channel's effect is averaged into whatever it is sitting inside. The gap starts before the model: the convenience channel's own standard financial benchmark itemizes more than a dozen separate ancillary income lines, including car wash, lottery, and ATM, and has none for retail media, on either the revenue or the expense side.
It is modeled with the wrong decay
Effects from creator content keep working for days after the upload, and in-store exposure accumulates across repeat visits rather than landing all at once. Decay settings inherited from short-window performance media retire the effect long before it is finished, and everything that lands after that window is never attributed to the channel at all.
There is nothing to calibrate against
A mix model tightens around evidence. With no lift estimate on file it has none to tighten around, so it falls back to a wide, cautious range. A range that still includes "did nothing" is read in the room as a channel that did not work.
Credit is assumed, not actually measured.
Most retail media reporting counts the sales that followed an exposure. Some of those sales would have landed at the register had the ad never run, because a shopper standing at the pump or in front of the shelf was already close to buying. Attribution cannot separate the two. So the number is defended by the party that produced it and discounted by the party that received it, and neither can settle the argument, because settling it requires a counterfactual and neither side owns one.
Two factors that change the game.
Both are built from public data, on a specification we publish, for a fee that does not move with the finding.
An independent read on campaigns that already ran
A causal lift estimate for a campaign, a creator, or a whole channel, produced by a party with no revenue riding on the answer. Nothing has to be designed in advance, and the only input we need from you is the dates.
- A point estimate and its credible interval, not a single number
- The detection floor, the smallest effect that design could have found
- The falsification results, published whether they flatter us or not
- The specification, published before the outcome window closes
The three numbers the model is missing
The same reads, expressed as model inputs. Whatever modeling stack the advertiser runs, these are the three values it needs and does not have, and they are the three it will otherwise take from a default.
- Effect size, measured across campaigns that already ran
- Standard error, so the model knows how far to move toward it
- Decay rate, how long the effect keeps working after the exposure
How often they are refreshed
- Effect size and standard errorRestated quarterly, and sooner if the mix of creators or content formats shifts materially.
- Decay rateA structural property of the content rather than of any one campaign, so it moves slowly. Restated annually.
- Your own valuesA brand with enough campaigns of its own gets its own figures. Everyone else uses the category figure until they clear the reach threshold often enough to have their own.
Same channel, same spend, four different answers once modeled.
The more you can supply to an analysis before it runs, priors, as we say in the industry, the fairer and more accurate the read on your media will be. Our lift measurements put you in the best shape for a clean read inside your client's model.
| Input supplied to the model | Effect shown in the model | 95% interval | Statistically significant |
|---|---|---|---|
| No lift estimate supplied | 3.3% | -9.8% to +16.4% | No (crosses zero) |
| Our effect read only | 8.6% | -5.5% to +22.7% | No (crosses zero) |
| Our effect read and standard error | 11.9% | +4.3% to +19.5% | Yes (clears zero) |
| Our effect read, standard error and decay rate | 12.9% | +6.5% to +19.3% | Yes (clears zero) |
Measured values from our own read of a direct-to-consumer apparel brand's creator campaigns, run through the precision-weighting a Bayesian mix model performs when a lift estimate is supplied as a prior. A range that crosses zero still includes "did nothing", so the model cannot call the channel significant. A store-level retail media read will produce the same three inputs with its own values.
Why an outside number has integrity.
- We are paid the same either way.A fixed fee agreed before the read. Not a share of measured lift, not contingent on a positive result, and not renewable on the strength of one.
- The specification is fixed before the answer is known.Written down and dated while the result is still unknown. Choosing the specification after seeing what each one produces is the failure that makes most observational marketing results worth nothing.
- We publish the tests built to break our own result.Whether they flatter us or not. A read that fails them is not delivered.
The long version, including an honest map of where this sits against every other way of measuring the channel, is on the product pages.
Want both reads side by side? Marketing Channel Reads →
“Has this worked at stores like mine?”
That's the question your next prospect is about to ask. If you sell equipment, software, a food program or media into convenience stores, we answer it on your own installed base, and the number is yours to use.
What you get
- Start small.A single install at a single site is enough for the first read.
- The lift, with a range.We measure what the store sold with your product installed against what it would have sold had it never been installed, and put a range around the difference.
- A number you own.It's yours to put in front of your next prospect, and it comes from someone other than you.
- Room to grow.Add sites as your installed base grows. More sites give a tighter range.
Why convenience gets measured store by store
- Grocery and big-box retail measure through the loyalty ID.The ad reaches a named shopper, the purchase lands under the same ID, and the ad can be withheld from a matched group of shoppers to show what they would have bought had they never seen it.
- Convenience mostly can't.Loyalty capture is low, most transactions are anonymous, the basket is 1 to 3 items, and there's no e-commerce order to close the loop.
- So the store becomes the unit.We compare stores that have your product with matched stores that don't, whether it's a screen, a fixture or a food program.
- It's the only method available.In convenience, measuring by store isn't a preference for our method, and vendors that measure shopper by shopper can't serve this channel.