You send them to dm. Their dm doesn’t have it.
A creative with three retailer logos doesn’t make anyone compare stock. People go to the drugstore they already go to. When it isn’t on that shelf the trip fails — nobody drives on to Rossmann. We read all 2,178 dm stores every week and tell you which postcodes the dm version of your ad belongs in.
Get the first analysis freeOne product, one national campaign
Each dot is a German postcode area, placed by its real centroid. Left is where the dm version of this campaign runs. Right is where a dm within 10 km actually has the product on the shelf.
of the postcode areas this campaign pays for have no dm within 10 km that stocks the product. In 1,646 of them a dm is right there and does not carry it — that is the failed trip, the one where somebody goes because your ad said so and leaves with nothing. In the other 2,127 there is no dm at all. Those lists are the deliverable, not this picture.
“But we’re in Rossmann there”
Good — then that postcode should get the Rossmann creative, not the dm one. That is the product, not an objection to it: which version of your ad belongs where.
It also means we never have to claim your reach cannot buy you. We claim something narrower and harder: in these postcodes the shop your ad names does not have it. You keep the reach. You change which logo leads.
What the scan found
| Established household brands | 95–99 % | No gap. Nothing to fix, and no reason for them to buy anything from us. |
| A DTC brand’s flagship | 97.3 % | Everywhere. The ads for it are well spent. |
| Two more products, same brand | 0 % | Sold on dm’s website, on none of its 2,178 shelves — dm’s own words: nicht verfügbar in dm-Märkten. |
| A snack brand advertising now | 44.4 % | 966 stores. The campaign names dm nationwide. |
The gap is per product, not per brand. The same company is at 0 % and 97.3 % at the same time depending on the item — so a brand-level answer, which is all a distribution report gives you, is the wrong resolution for an ad that names a shop.
The missing piece was never the data
Shelf data has existed for years. It arrives as a report, and a report cannot change a campaign. Somebody has to read it, decide, open the ad account and type. That is why retailer truth has never been part of targeting: the last metre was always manual, so it never happened weekly.
We close that metre. Your assistant reads your coverage from us over MCP and writes the postcodes straight into Meta or Google — one list for the dm creative, another for everything else. No export, no analyst, no copy-paste, and it can run every week without anyone remembering to do it.
How it works
Send your EANs
That is the entire onboarding. No integration, no data feed, nothing to install.
We read every dm store, weekly
Store by store, from the retailer’s own public product pages.
Your dm creative follows the dm shelf
Through your assistant, or as a file if you prefer to do it by hand.
What this is not
- Shelf presence, not sales. We see whether a product is on a shelf and, at dm, how many units — not what sold.
- Weekly, never real-time. Distribution moves slowly; claiming daily would be a lie.
- dm only, in Germany, today: 2,178 stores at unit level. We cannot see Rossmann or Müller yet, so we never tell you a shopper cannot buy you — only that the dm your ad points at does not have it. Finland (1,761 stores) and Sweden are live.
What it costs
Up to 20 EANs, refreshed weekly. A second market is 590 €. Above 20 EANs, 25 € per EAN per month. Monthly, cancel any time.
EANs count as distinct codes within a rolling month, so twenty products means twenty products rather than twenty a week.
We publish the price because you can tell in ten seconds whether this is worth your time. So can we.
Get the first analysis free
One product is enough. You get its coverage, the map and the postcode lists before you decide anything.