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 Contact Centers & BPOs

Your agents close it. Somebody else gets the credit.

Attribute the revenue your agents closed to the campaigns that produced the calls — per client and per program, each client kept apart.

  • No card required
  • Nothing to install
  • Cancel anytime
Contact Centers & BPOs workspace August 2026 Sample data
Revenue traced to a channel

$1,062,000 59% of $1,800,000 paid

  • Google Ads $594,000 · 33%
  • Meta Ads $306,000 · 17%
  • LinkedIn Ads $162,000 · 9%
  • Direct / Unknown $738,000 · 41%
Direct / Unknown is shown, never shared out across the channels above.
Google Ads · LeadAug 14 · (•••) •••-0134
Closed sale · Aug 27$1,480
Matched · high confidence

The blind spot

What's actually happening

You are measured on handle time, conversion rate and cost per call. None of those tell your client which of their campaigns your floor actually turned into money, and that is the number that renews the contract.

What you get

Built for Contact Centers & BPOs.

One workspace per client

Isolated data and access for each client; one monthly record allowance shared across them.

Program-level channel truth

Which media produced the calls that closed, not the calls that connected.

Renewal-grade evidence

An auditable report a client's finance team will accept.

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$1,800,000paid revenue
Attributed to a channel$1,062,00059% of revenue
Average deal$1,480per paid sale
Match rate60%of sales matched
ChannelSalesRevenueShare%
Google Ads402$594,00033%
Meta Ads233$306,00017%
LinkedIn Ads96$162,0009%
Direct / Unknown486$738,00041%
01

Operational metrics are not commercial evidence

A contact center is rich in metrics and poor in one specific number: the revenue attributable to each of the client's channels. Handle time, abandonment, conversion rate and quality scores all describe how well the floor performs against the calls it receives. None of them describe which media buy was worth making.

That gap matters at renewal. When a client cuts media spend, call volume falls, and the contact center's own numbers all look worse through no fault of the floor. Being able to show which channels the floor actually converted changes that conversation from defensive to advisory.

02

Two files per program, per period

Your CRM or dialler already records the outcome of every call and the value of every sale. The client's ad platform or call tracker already exports lead source. Neither side has to be integrated — the two exports are matched on phone and email.

Each client becomes its own workspace, so data never crosses between them, and each program's report stands on its own. Unmatched revenue is reported as Direct / Unknown rather than being spread across the client's channels, which is the difference between a report a client trusts and one they argue with.

03

Outbound and inbound programs need different lead files

An inbound program is straightforward to reconcile: the call arrived because of something the client's media did, and the client's lead-source export records what that was. Outbound is a different shape entirely. The list came from somewhere — a purchased file, a partner, the client's own lapsed customers, a web form nobody followed up — and the source of a record determines its value far more than anything the floor does with it. Measuring an outbound program's conversion rate without knowing which list a contact came from describes the blend rather than the work.

Added to the lead file with each list named as the source, each list ranks on closed revenue separately. That produces a figure the client has usually never seen: what each of their data sources was actually worth once a trained team had worked it properly. Lists are bought and renewed on volume and price per record in many organizations, with no feedback loop from what they closed. Supplying that loop is a service the center can charge for, it is more defensible at renewal than a conversion rate that depends on which lists were loaded, and it protects the floor from being blamed for a bad file.

Mixed programs need the distinction most. Where a team handles inbound inquiries in the morning and works an outbound list in the afternoon, a single conversion figure describes neither activity and moves for reasons nobody can trace. A column naming the program or the contact type, mapped as Product / service, shows the two as separate lines, and they can behave so differently that they should never have been reported together. It is the same argument that applies to a client's channels, applied to the center's own operation: an average asked to represent two unrelated populations.

04

The client's system and yours should agree, and they usually do not

A contact center records a sale when the agent completes it. The client records it when their system provisions, ships, activates or accepts the order, which can be days later and can fail entirely. Cancellations inside a cooling-off period, failed credit checks, orders that never provision and returns all sit between the two records, and the gap between the center's reported sales and the client's recognized revenue is a permanent source of friction. Neither party is wrong; they are counting different events at different moments, and nobody has put the counts on one page.

Reconciling against the client's revenue export does exactly that. The center's own numbers remain the operational measure they have always been, and alongside them sits the revenue the client actually recognized, matched on the same customers. The size of the gap becomes a known quantity rather than a recurring dispute, and its causes become visible: a particular program, a particular list, a particular product with a high cancellation rate. Each of those is fixable, none is visible in a report that stops at the agent's disposition code, and fixing them is worth more than a conversion-rate improvement.

It also changes the position at renewal. A center that can demonstrate the revenue a client recognized from its work, by channel and by program, is arguing from the client's own accounts rather than from a dashboard the client did not build. That is a materially different conversation from defending handle time and quality scores, which describe how well the floor performed against demand it did not control. Where the gap between reported sales and recognized revenue narrowed because of something the center did, that is a specific, checkable claim about value delivered.

05

Ramp decisions are made on forecasts nobody checks afterwards

Headcount in a contact center is committed weeks ahead of the demand it serves, on a forecast built from the client's media plan and last year's volumes. When the plan changes, or a channel underdelivers, the center carries the cost of seats it recruited and trained for calls that never arrived. The conversation afterwards is about volume, because volume is what both parties measure. What neither measures is which channels produced the calls that were worth staffing for, which is a more useful question about where the forecast should have been weighted.

A closed-revenue view by channel, run across previous seasons, gives the center something to bring to the next planning conversation. If a particular channel reliably produces calls converting at three times the average, the staffing case for its peaks is different from the case for a channel producing volume that converts at a fifth. Both look identical on a forecast expressed in calls per hour. Historical periods are available immediately because the records were kept for billing rather than for tracking, so a center can build this from seasons that have already happened.

There is an advisory position in this that many centers do not currently occupy. Being able to say which of a client's channels produced revenue, from the client's own sales data, moves the relationship from supplier toward partner in the media decision. That is not a claim to make carelessly — the center does not buy the media and should not pretend to expertise it lacks. But a center that can show which campaigns its floor converted, consistently and from a source the client audits, is contributing to a decision it has always been downstream of. Contracts renew on that more readily than on cost per call.

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 Contact Centers & BPOs.

They say

We are not the media buyer — we don't own the ad data.

We say

The client exports it, or authorizes the agency to. It is a lead-source export, not account access, and it is usually a smaller ask than it sounds.

They say

Our call volumes are very large.

We say

Only closed sales count toward the record limit, not calls or leads. A floor handling tens of thousands of calls a month often analyses a few thousand sales.

They say

Clients are sensitive about data sharing.

We say

Each client is isolated in its own workspace with its own retention window, and only a contact detail, an amount and a date are needed. We act as a processor and provide a DPA.

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. Agency usually fits contact centers and outsourcers who close revenue on the phone for their clients — ten isolated client workspaces sharing one record allowance, plus white-label reports.

Agency

Reporting on many clients at once

$799/mo

billed monthly

  • 10 client workspaces
  • 10 seats
  • 25,000 sales records / month, shared across your workspaces
  • 24-month history
  • White-label reports — our mark removed entirely
  • Single sign-on through your identity provider
  • Roles, permissions and guided onboarding
  • Priority support

Questions

Questions we get about Contact Centers & BPOs.

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

Closed sales from your CRM or dialler: a customer phone number or email, the amount, and the date.

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.