Closed revenue, not pipeline stages
Rank channels by the revenue they closed rather than the opportunities they created.
For Multi-Location Retail
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
The blind spot
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.
Rank channels by the revenue they closed rather than the opportunities they created.
A contract signed four quarters after the click still credits that campaign.
Only exact matches count automatically; unmatched revenue is shown, never redistributed.
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.
| Channel | Sales | Revenue | Share |
|---|---|---|---|
| Google Ads | 4120 | $1,470,000 | |
| Meta Ads | 3140 | $1,120,000 | |
| Email marketing | 2551 | $910,000 | |
| Direct / Unknown | 9812 | $3,500,000 |
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.
A flagship in a city centre and a suburban store draw from different demand and respond to different channels, and a chain-level average conceals both.
A store column splits the report so local budgets can follow local evidence rather than a national average that describes no individual shop.
"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.
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 judgement, you are reading the same ledger they are.
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.
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.
Loyalty programmes, receipts by email and returns data usually do. Whatever share is captured is what can be matched, and the rest stays honestly unattributed.
Both go in the same sales file, with a channel column, and the report separates them.
Data is encrypted, isolated per workspace and deletable in one click, and only a contact detail, an amount and a date are required.
Flat monthly pricing with no per-call, per-minute or per-form fees. The number here is the number on the invoice. Most multi-location retail land on Enterprise — ten seats for the team and the highest monthly record allowance, since a year of closed deals is a lot of rows.
A single business getting started
$49/mo
billed monthly
A business scaling ad spend
$199/mo
billed monthly
One business closing at volume
$499/mo
billed monthly
Reporting on many clients at once
$799/mo
billed monthly
Transactions: a customer email, phone or loyalty identifier, the amount, and a date.
Upload two exports and see your real revenue by channel in minutes. Three days free, no card.
Start free