Cookie preferences

Choose what we may use. Strictly necessary cookies keep you signed in and can't be turned off; everything else is your call and changes nothing about how the site works. You can change your mind any time from the footer.

Marketing attribution for multi-location retailers

Which channels produced in-store and online revenue?

Match transactions across every store and the web to the campaigns that produced the customer, without a tag on a single till.

  • No card required
  • Nothing to install
  • Cancel anytime
Multi-Location Retail workspace FY2026 Sample data
Retail revenue traced to a channel

$3,500,000 50% of $7,000,000 paid

  • Google Ads $1,470,000 · 21%
  • Meta Ads $1,120,000 · 16%
  • Email marketing $910,000 · 13%
  • Direct / Unknown $3,500,000 · 50%
Direct / Unknown is shown, never shared out across the channels above.
Google Ads · LeadFY2026 14 · (•••) •••-0134
Closed sale · FY2026 27$356
Matched · high confidence

The blind spot

What's actually happening

Online revenue is measured to the click and store revenue is measured by footfall. The campaigns that drive people into shops are credited with almost nothing.

What you get

Built for multi-location retailers.

Closed revenue, not pipeline stages

Every channel is measured on the closed revenue behind it, so volume stops flattering whichever source is cheapest per inquiry.

Cycles longer than any attribution window

Long gaps are the normal case here, not an edge case. The customer appears in both files, so the match holds however far apart the two dates are.

Defensible in a board pack

Every match is auditable and reversible, and sales that trace to nothing are shown as Direct and Unknown rather than shared out across the paid channels.

A worked example

The number you can take into a budget meeting.

Not impressions, not leads, not cost per click. Closed revenue, by the channel that produced it, for a period you choose — with the portion we could not trace shown rather than quietly shared out across your paid channels.

Total revenue$7,000,000paid retail revenue
Attributed to a channel$3,500,00050% of revenue
Average deal$356per paid sale
Match rate50%of sales matched
ChannelSalesRevenueShare%
Google Ads4120$1,470,00021%
Meta Ads3140$1,120,00016%
Email marketing2551$910,00013%
Direct / Unknown9812$3,500,00050%
01

The online-to-store journey is where the credit disappears

A customer researches online, checks stock, and buys in a shop. The session ends without a transaction, the campaign is judged a failure, and the revenue lands in a store's till attributed to nobody.

If the till captures a loyalty identifier, an email or a phone number, the in-store transaction can be matched to the campaign that produced the customer. In most chains this moves a majority of paid-media value out of Direct / Unknown.

02

Store by store, the right budget is different

A flagship in a city center and a suburban store draw from different demand and respond to different channels, and a chain-level average conceals both.

A store column mapped as Location shows each store's revenue and how much of it traces to a channel, so local budgets can follow local evidence rather than a national average that describes no individual shop.

03

Returns, exchanges and the number worth exporting

Retail revenue is provisional for as long as the returns window is open. A channel driving volume in a category with a high return rate books impressive gross sales one month and gives a large fraction of them back the next, and every report built on the gross figure ranks it near the top. The returns are recorded, usually against the original transaction, and almost never propagated into anything marketing reads. The effect is not uniform either: it concentrates where fit or expectation is hard to judge online, which is exactly where paid social tends to spend.

Exporting net of returns changes the ranking, sometimes sharply. It is more work to produce than a gross sales extract, because refunds may sit in a different table and be dated to the refund rather than the sale, but the decision only has to be made once. Whichever basis is chosen, use the same one across every period being compared or a trend appears that was created by the export rather than by the business. A middle path is a column flagging returned or exchanged transactions, mapped as Product / service, which shows them as their own line so the gross figure is honest about how much of it came back.

Exchanges deserve a decision of their own. A customer who returns one item and takes another has not stopped being revenue, and treating an exchange as a full reversal understates whichever channel produced them. Treating it as two sales overstates the same channel by roughly the same amount. Neither is right, and the practical answer is to export the net value of the visit and write the convention down where the next person will find it. This sounds pedantic until two years of reports rest on a convention nobody recorded and nobody now remembers choosing.

04

Print, catalog and out-of-home belong in the lead file too

Chains spend heavily on media that produces no click at all. A door drop, a catalog, a regional radio buy, a poster campaign around a new store — all defended with reach estimates and a sense that footfall improved. Digital channels are measured to the transaction and everything else is measured on faith, so the budget drifts toward whatever can be counted regardless of what is working. That drift is not a decision anybody made and is very hard to argue against without a competing number, which exists more often than retailers expect.

Anything that produced a list of people with contact details can be uploaded and ranked beside the paid channels. A catalog mailing file is such a list. So is an event registration, a competition entry, a new-store opening sign-up, or a partner's shared audience where the sharing is properly permitted. Each one is ranked on the revenue that followed rather than on impressions delivered, which is usually the first honest comparison a marketing team has managed between a mailing and a media buy. Where no such list exists the activity stays unmeasured, and the report says so rather than estimating.

This is also the practical answer for store openings. A new location's early revenue is normally credited to whatever digital campaign ran nearby, because that is the only thing being counted at the time. With the opening's sign-up list added to the lead file, tagged with the opening, the opening itself appears as a channel with revenue attached and can be compared against the media that supported it. Chains opening several stores a year get a repeatable answer to what an opening is worth — a question usually settled by whoever presents most confidently, and one of the few in retail with a clean before and after.

05

The loyalty capture rate is the ceiling on what can be matched

Everything in a store depends on whether the transaction carries a contact detail. A loyalty scan, an emailed receipt, a delivery address, a warranty registration, a returns record — any of them is enough, and a till capturing none of them produces a sale that cannot be matched to anything at all. That capture rate, rather than the quality of the analysis, is the hard limit on how much in-store revenue can ever be traced. It varies enormously by chain, by category and often by shift, and knowing the number is the first useful output of the exercise.

What matters is that the limit is visible rather than hidden. Revenue from transactions with no identifier sits in Direct / Unknown and is never spread across the paid channels to improve a headline, which means the attributed share is a floor rather than an estimate. A chain capturing identifiers on two in five transactions is reading a report about two fifths of its store revenue, and it knows that while reading it. A tool reporting a complete picture from an incomplete till is guessing, and the guess is not marked anywhere on the page.

It also points at the highest-return operational change available. Raising the capture rate at the till by a few points does more for the quality of every future report than any refinement of the analysis, and it is a staffing and prompting question rather than a technology one. Most chains discover the rate varies more between stores than between channels, which is itself worth acting on. Nothing about the method changes as it improves; the same two exports simply cover more of the book each period, which makes the improvement measurable in the report it improves.

Why it matters

What changes when you can prove it.

You stop defending the budget and start growing it

"We generated 400 leads" invites an argument. "This channel closed $186,400 last quarter, here is the reconciliation" ends one. The teams that can show closed revenue by channel are the teams that get the next increase approved, because they are asking with evidence rather than with conviction.

You can cut the wrong channel without a fight

Killing spend is politically harder than adding it, because someone always owns the channel being cut. A number that reconciles to the sales export takes the argument out of the room — you are not overruling a colleague's judgment, you are reading the same ledger they are.

Your reporting survives the finance review

Platform-reported conversions do not reconcile to revenue, and eventually someone in finance notices. Reporting built from your own closed-sales export starts from the number finance already trusts, which is why it holds up when it is checked.

You answer in an afternoon, not a quarter

Because this reconciles exports rather than tracking visitors, it works on months that have already closed. You are not instrumenting now to learn something in ninety days — you can answer for last quarter today, which is usually when the question is being asked.

Honest answers

The pushback we hear from Multi-Location Retail.

They say

Our tills do not capture contact details.

We say

Loyalty programs, receipts by email and returns data usually do. Whatever share is captured is what can be matched, and the rest stays honestly unattributed.

They say

We have both online and physical revenue.

We say

Both go in the same sales file. Map a column marking online or in-store as Product / service and the report shows each as its own line.

They say

Customer data across many stores is a risk.

We say

Data is encrypted, isolated per workspace and deletable in one click, and only a contact detail, an amount and a date are required.

Pricing

Flat monthly pricing. No per-call fees.

The price here is the price on the invoice, plus any sales tax that applies — no per-call, per-minute or per-form fees. Enterprise usually fits retail chains and multi-site operators — ten seats for the team and the highest monthly record allowance, since a year of closed deals is a lot of rows.

Enterprise

One business closing at volume

$499/mo

billed monthly

  • 1 workspace · 10 seats
  • 25,000 sales records / month
  • 24-month history
  • Campaign drill-down and period comparison
  • Single sign-on through your identity provider
  • Your logo on every report
  • Roles, permissions and guided onboarding
  • Priority support

Questions

Questions we get about Multi-Location Retail.

Anything else? Talk to us — a person answers, usually the same day.

Transactions: a customer email, phone or loyalty identifier, the amount, and a date.

Where your sales already are

What to export, by system.

All systems

Square

Export your Square transactions, upload the inquiries beside them, and find out which marketing produced the people who walked in.

What to export

Phorest

Export your sales, upload the leads that produced them, and find out which channels produce clients who stay rather than clients who visit.

What to export

Vagaro

Export your sales from Vagaro, upload the leads that produced them, and stop paying to acquire clients who were already coming.

What to export

Birdeye

Export Birdeye conversations as your lead file, match them against closed revenue, and find out what the widget and the listings are worth.

What to export

Amazon Ads

For off-marketplace campaigns, use your own tagged lead records and match them against closed sales in your own system.

What to export

Zenoti

Export sales from Zenoti, upload the leads behind them, and get guest value per source per location.

What to export

Podium

Export your conversations, match them against closed sales, and find out what texting actually produced.

What to export

Fresha

Export sales from Fresha, upload your lead sources, and stop paying to acquire clients who were already arriving.

What to export

WellnessLiving

Export sales from WellnessLiving, upload the leads behind them, and rank channels on members rather than on intro passes.

What to export

Yelp

Capture Yelp calls and requests as leads, match them against closed sales, and separate what the ads added from what the listing would have brought anyway.

What to export

Open Dental

Export collections from Open Dental, bring the referral source and your other lead files with them, and rank every source on what it collected.

What to export

Denticon

Export collections from Denticon, upload the leads behind them, and rank sources on the patients the group actually won — office by office.

What to export

Start today

Stop guessing which ads pay off.

Upload two exports and see your real revenue by channel in minutes. 14 days free, no card.