storetargeting
Ad targeting, grounded in the shelf

Stop advertising empty shelves.

We read what is actually on the shelf in all 2,178 German dm stores, every week, and hand your Meta or Google campaign the postcodes worth paying for. Your ad account, your creative and your agency stay exactly as they are. What changes is where the money lands.

Send one EAN, get the first analysis free
Measured today, across every dm store in Germany
2,178stores read
22calls for the whole country
25 sto scan one product nationally
unit levelnot just yes or no

One product, one national campaign

Each dot is a German postcode area, placed by its real centroid. Left is what a campaign set to Germany pays for. Right is where this product is actually on a shelf a shopper can reach.

What the campaign targets
8,298 postcode areas. Every one of them paid for.
Where the product actually is
stocked dm within 10 kmdm within 10 km, product not on itno dm within 10 km
The same country, coloured by what is on the shelf this week.
2,417

postcode areas where a dm is within 10 km and not one of them carries this product. Of the 6,171 areas with a dm in reach, 39.2 % are like this — the shopper goes to their dm and it is not there. Those are the postcodes to switch off first, and that list is the deliverable, not this picture.

What the scan found

We swept 46 real products across all 2,178 stores. The result was not the one we expected, and it is the reason this product exists.

Established household brands95–99 %No gap. Nothing to fix, and no reason for them to buy anything from us.
A DTC brand's flagship flavour28.6 %622 stores. The same campaign runs nationally.
Its sibling flavour0 %Listed online, on no shelf at all.
Another product, same brand97.6 %Everywhere.

The gap is per product, not per brand. The same company is simultaneously at 0 % and 97.6 % depending on the variant — so a brand-level answer, which is all a distribution report gives you, is the wrong grain for an ad account.

What you get

A geography, not a report

Postcodes and cities in the format Meta and Google accept, ready to paste into the ad set. Updated weekly.

What moved since last week

Stores gained and lost, so a campaign follows distribution instead of lagging it.

Straight into your assistant

An MCP endpoint, so Claude or ChatGPT can read your coverage and write the targeting itself. Or a plain file, if you prefer.

How it works

  1. Send your EANs

    That is the entire onboarding. No integration, no data feed, nothing to install.

  2. We scan every store, weekly

    Store by store, from the retailer's own public product pages.

  3. You get the geography

    The list of places worth paying for, and the list that is burning money.

What this is not

  • Shelf presence, not sales. We can see whether a product is on a shelf and, in some chains, how many units — not what sold.
  • Weekly, never real-time. Distribution moves slowly; claiming daily would be a lie.
  • Live today: Germany at dm (2,178 stores, unit level), Finland (S-ryhmä and K-ryhmä, 1,761 stores), Sweden (ICA and Coop). Other chains after we verify them, not before.
  • We never publish your numbers. The examples on this page are deliberately unnamed, and yours stay that way too.

Get the first analysis free

One product is enough. You get its coverage, the map, and the postcode list — before you decide anything.