Why click attribution misses in-store sales — and what to measure instead

Ad platforms report the clicks they can see. Multi-location brands get paid at the counter. Here is where click attribution goes wrong for physical locations, and how to measure incremental customers by market instead.

By The Countlift team · · 7 min read

If you market a restaurant group, a chain of fitness clubs or a network of dental practices, most of your revenue happens at a counter, a front desk or a chair. Your ad platforms, meanwhile, report on the things they can see: impressions, clicks, calls to a tracking number, taps on “Directions”, form fills and modeled “store visits”. Those are real signals. They are just not the thing your CFO is asking about.

The question a multi-location business needs answered is simpler and harder: did the ads bring more customers through the doors of each location than would have come anyway? This guide explains why click-based attribution can’t answer that, where it goes wrong in predictable ways, and what to measure instead — using data you almost certainly already have.

What click attribution actually measures

Click attribution follows a chain of observable events. Someone sees an ad, clicks, and then does something a platform or your analytics tool can record — a purchase on your site, a booking, a call to a tracked number. Credit is assigned to the ads in that chain by a rule: last click, first click, position-based, or a data-driven model that spreads credit across touches.

That chain is reasonably complete for an online store, where the click and the purchase happen in the same browser. For a business with physical locations it breaks in the middle. The customer who saw your Instagram ad on Tuesday and walked in on Saturday left no click to follow. The family that searched your brand name, tapped the map pin and drove over did leave a click — but they had already decided to come.

Three paths from an ad to a store visitPath one, in green: a person clicks the ad and then visits; it is tracked and caused by the ad. Path two, in amber: a person sees the ad and visits days later without clicking; it is caused but not tracked. Path three, in grey: a person who was already coming clicks a brand ad; it is tracked but not caused. Attribution counts paths one and three; incrementality counts paths one and two.1 · TRACKED · CAUSEDClicks the ad, then visits2 · CAUSED · NOT TRACKEDSees the ad, visits days later3 · TRACKED · NOT CAUSEDAlready coming; clicks brand adAdexposureVisit at alocationATTRIBUTION COUNTS 1 + 3INCREMENTALITY COUNTS 1 + 2
Illustrative. Attribution sees the paths that include a trackable click (1 and 3). Incrementality is about the customers the ads actually caused (1 and 2).

Five predictable blind spots

None of these are bugs in a particular tool. They follow from how attribution works, which is why they show up on every platform.

  1. Customers who never click. Display, video, social and connected TV mostly work by being seen. A person who is reminded of you and later walks in produces a sale with no click attached. Click-based models give that ad nothing; view-through models give it credit for anyone who saw it, whether or not the ad mattered.
  2. Credit for demand that already existed. Branded search, retargeting and map listings are excellent at being the last touch before a visit. That is exactly why they look so efficient: they intercept people who were already on their way. Attribution measures association, and association is strongest where the ad is least necessary.
  3. Every platform grades its own homework. Each ad platform counts the conversions it can link to its own ads, using its own lookback windows and models. Add up reported conversions across platforms and the total can easily exceed the number of customers you actually served. Nobody is lying; they are each claiming the same people.
  4. Signal loss. Apple’s App Tracking Transparency, introduced with iOS 14.5 in 2021, and browser limits on third-party cookies in Safari and Firefox mean a growing share of the path is invisible even online. Platforms fill the gaps with modeling, which makes reported numbers smoother but not more verifiable.
  5. No view of the location. A campaign can look profitable for the brand overall and still do nothing in half your markets. Attribution reports are organized by campaign and ad set, not by store, so the location-by-location picture — the one your operators manage to — is missing.

The question that matters: what would have happened anyway?

The useful number is incrementality: the customers who came because of the advertising, over and above the customers who would have come without it. Measuring it means estimating a counterfactual — the version of last month in which you didn’t run the campaign — and comparing reality to it.

You can’t observe that counterfactual directly for a single market. But a multi-location business has a natural advantage: it runs the same concept in many markets at once, and its ad spend rarely changes everywhere at the same time. Markets where spend held steady show what the season, the weather, the economy and the new menu did on their own. Markets where spend rose show all of that plus the effect of the ads. The difference, measured carefully, is the lift.

What common metrics can and can’t tell a multi-location brand
MetricGood forCan’t tell you
Click-through rate, cost per clickComparing creative and keywords within a channelWhether anyone visited a location because of the ad
Platform-reported conversionsOptimizing bids and audiences inside that platformHow many would have converted anyway, or how much platforms overlap
Modeled store visitsA rough directional signal where availableVisits the model missed, or whether the visits were incremental
Calls and direction requestsGauging intent from search and mapsWhether those people would have found you without the ad
Market-level incrementalityDeciding where and how much to spend across markets and channelsWhich creative or keyword won — use in-platform tests for that

What to measure instead

Incrementality for a physical business rests on three data sets, all of which you probably keep already.

  • Outcomes by location, by week. Whatever each location counts: guests or covers for a restaurant, check-ins or new members for a gym, new patients for a practice, booked jobs for a home-services brand. Pull it from the point-of-sale, booking or practice-management system. Counts are steadier than revenue, because average ticket moves for reasons unrelated to advertising — but keep revenue too.
  • Ad spend by market, by channel, by week. Most platforms can break spend out by geography. In the US the standard unit is the Nielsen Designated Market Area (DMA), which is also how most local media is bought. Map each location to its market.
  • A calendar of everything else. Openings, closures, remodels, price changes, menu launches, local promotions and outages. These are what make a market move for reasons other than ads, and you need them so you don’t credit media for a remodel.

With those in hand, the method is a comparison. For each market where spend changed, build a reference series from markets where it didn’t, weighted so the reference tracked the market closely before the change. After the change, the gap between the market and its reference is the estimated lift. Economists call this the synthetic control method, and it was designed for exactly this situation: one unit gets an intervention, many similar units don’t.

A market compared with its MarketTwin before and after a spend increaseThe green market line and the grey dashed MarketTwin line track each other closely for thirteen weeks. After spend rises, the market's line moves above its twin, and the shaded green gap between them is the estimated lift.95100105110SPEND RISESLiftWEEKLY GUESTS, INDEXEDWEEKS →Market (actual)MarketTwin™ (what would have happened)Lift
Illustrative. Before the spend increase the market and its twin move together; afterwards, the gap between them is the estimated incremental outcome.

A worked example (illustrative)

Suppose a 40-location restaurant group raises paid social in one metro from $4,000 to $10,000 a week for eight weeks. The six locations there average 1,500 guests a week each. During those eight weeks their guest counts run 9% above the prior eight weeks, and the platform dashboard credits the campaign with thousands of conversions.

But the group’s markets where spend didn’t change were up too — it was spring, and patio season. Weighted to resemble the test metro, the twin says the metro would have been up about 5% on its own. The incremental lift is about 4%: roughly 360 extra guests a week across the six stores, or about 2,900 over eight weeks, for $48,000 of added spend. That is around $17 per incremental guest. Whether that is good depends on what a guest is worth to you, which is a business question rather than a measurement one.

Notice what the example doesn’t require: no pixels, no customer IDs, no tracking numbers. Just counts by location, spend by market and a fair comparison.

Getting started without new tracking

  1. List your locations. One row per location with its ID from your POS, its market, and its opening date (and closing date, if any).
  2. Export weekly outcomes. Ideally a year or more, so seasonality is visible. A few months of history before any spend change is the practical minimum.
  3. Export spend by market and channel. Weekly is enough. If a campaign targeted a radius rather than a DMA, assign it to the market most of the radius falls in.
  4. Mark the known disruptions. Openings, remodels, closures and big local events. Keep new stores out of a market’s comparison until they have settled, or they will look like lift.
  5. Compare, then decide. Look for markets where spend rose but outcomes didn’t beat their twin. Those are the first candidates to move budget away from.

Keep your click data — just give it a different job

None of this means throwing out platform reporting. Clicks, calls and in-platform conversions are fast, granular and good for decisions within a channel: which headline, which audience, which keyword. What they can’t do is settle decisions across channels and markets, because those decisions depend on what would have happened without the ads.

A sensible split: let platforms optimize inside their own walls, and decide where the budget goes by incremental customers at your locations. When the two disagree — a channel that looks brilliant in its own dashboard but shows no lift in the markets where it ran — believe the locations.

If you can export sales by location and spend by market, you can start measuring the thing that matters this week.

Next step

Put your own locations through the comparison.

Your first location report is free at any size. Bring a CSV of weekly sales and spend, or connect your POS and ad accounts.

Written by The Countlift team at First Byte in The Woodlands, Texas. Questions or corrections? Email hello@countlift.com.

Keep reading

MeasurementHow agencies can prove local ad results to multi-location clientsHow agencies can prove local ad results to multi-location clients: report extra customers by location from the client’s own data, with ranges, in every QBR.10 min read · Read guide →MeasurementBaseline sales vs incremental sales from advertising: how to tell them apartBaseline sales vs incremental sales from advertising: what each means, how the baseline is estimated, and how ads take credit for sales they didn’t cause.8 min read · Read guide →MeasurementFranchise ad fund reporting: how to show franchisees what the fund did for their locationFranchise ad fund reporting to franchisees that builds trust: show spend, delivery and extra customers per location, with honest ranges and a one-page report.10 min read · Read guide →MethodologyHow MarketTwin™ worksThe method behind every Countlift read: comparable locations, twin markets, intervals and placebo checks.Read the method →

See which of your markets your ads actually move.

Your first location report is free at any size. No card, no customer records.