Skip to main content
Sales
Blog

Ad lead to sale attribution: closing the loop

«Which campaign produced the sale?» is asked in almost every company and answered in almost none: the platform reports leads, the CRM reports contracts, and no system connects the two on its own. This article builds ad lead to sale attribution on the smallest set of fields that works: the three places the chain breaks, the minimum model, returning offline conversions to the platform, the revenue chain, a reporting cadence, and the mistakes that recur.

September 23, 20267 min read

Why «which campaign produced the sale?» goes unanswered

The question is asked in almost every company and answered fully in almost none. The ad platform reports leads, the CRM reports contracts, and no system connects the two on its own. Budget then gets allocated to whichever campaign produced the cheapest leads.

The root of it is sequence rather than technology. The path from ad to sale crosses several systems: the platform, the site, the CRM, the calling system, sometimes accounting. Lose one field at any crossing and the connection cannot be rebuilt at the end.

The good news is that exact attribution is not required. What is required is directional attribution: seeing which campaign produced conversations, which produced fitting leads, and which produced contracts. This article builds that model on the smallest set of fields that works.

Three places the chain breaks

The chain breaks in three places, each fixed separately. Knowing which one you have is half the work.

  1. The source is never recordedThe lead reaches the CRM but which campaign it came from is not stored. This is the most common case and the cheapest to fix: the source field is passed from the form to the CRM.
  2. The conversion happens offlineThe sale closes on a call, at a meeting or in a branch. The ad platform never sees it, because no page was loaded. This is the most commonly lost part of attribution.
  3. Only one touch is countedThe customer sees an ad, visits the site, later returns via search and calls. If only the last touch is recorded, the first campaign gets no credit and is cut from the budget.

They do not have to be solved at once. Fixing the first changes the quality of every report immediately; the second usually makes the biggest difference, because none of the sales closed by phone show up in the platform's own numbers.

The minimum model that works

Complex multi-touch models are tempting and, in practice, go unused once built. The minimum working model rests on a handful of fields.

  • Source: which campaign the lead came from — a name or an identifier
  • Call outcome: conversation happened, qualified, does not fit, no contact
  • Final state: won, lost, still in negotiation
  • Dates: enquiry, first call, close
  • Amount: the value of the contract, where that is available

With those five, four metrics can be produced per campaign: lead count, conversation rate, qualification rate and contracts. That is enough for budget decisions, and the extra precision a more complex model buys usually does not change the decision.

One detail is worth watching: the amount field is often left empty, and it weakens the whole report. Without it campaigns can only be compared by count, when a campaign producing a few large contracts may be worth more than one producing many small ones.

Sending offline conversions back

When a sale closes on a call, the ad platform does not know. Returning that fact to the platform is the single highest-yield step in attribution, because the platform's own optimisation runs on that signal too.

  1. Store the lead identifierWhen the enquiry arrives, the identifier the platform issued is stored alongside the lead in the CRM. Skip this step and nothing that follows is possible.
  2. Write the outcome in the CRMCall outcome and contract status are recorded on the lead record — as fields rather than as prose, because reporting is built on fields.
  3. Return the outcome to the platformThe closed sale is sent back with its identifier. A daily or weekly cycle is normal; real time is not required.
  4. Compare the reportsPut the platform's own numbers next to the CRM's. A gap will always exist; what matters is that it stays stable — a sudden change is a sign of breakage.

From call outcome to revenue

The revenue side of attribution is a product of several rates, and each has to be tracked separately. A combined figure hides where the problem is.

  • Lead → conversation: a measure of the list and of response time
  • Conversation → fitting lead: a measure of targeting and of the script
  • Fitting lead → meeting or proposal: a measure of how attractive the offer is
  • Meeting → contract: a measure of the sales team
  • Contract → average value: a measure of product and pricing

These five are used directly when comparing campaigns. If two campaigns produce the same number of leads but one has a lower conversation rate, the problem is number quality; if the qualification rate is lower, the problem is targeting. That distinction is what points the budget in the right direction.

How the cost of the calling itself is calculated is in telesales ROI; this article is about identifying the source rather than the cost.

Building the report, and its cadence

An attribution report should be built once and then left alone. A report assembled by hand each time stops being assembled after a few weeks.

  • Weekly: leads, response time and conversation rate per campaign
  • Fortnightly: qualification rate — shorter windows are too noisy
  • Monthly: campaign ranking by contracts and by value
  • Quarterly: long-term value of campaigns, including repeat purchases

The reason for splitting the cadence this way is simple: fast metrics are for reacting, slow metrics are for budget decisions. Mixing them is the most common error — closing a campaign on the strength of one week's contract count is a decision made on noise.

Common mistakes

The same mistakes recur when attribution is built, and all of them push the report in the wrong direction.

  • Treating last touch as the only truth — campaigns that create awareness get zero credit
  • Looking only at lead count — the cheapest lead is usually the worst one
  • Not recording why a lead did not fit — targeting then never improves
  • Blaming a campaign for leads that were never called — that is a coverage problem
  • Showing the report only to marketing — the sales team needs the same numbers

Limits

Attribution is never exact, and does not need to be. It gives direction for a decision, not mathematical truth. Not every touch that shapes a customer's decision can be measured — a recommendation, a past experience, a word from a friend appear in no system.

How Vexvon supports this model

The calling side of attribution — keeping the outcome of a conversation as a field — comes built in.

  • Leads are written to the CRM together with their source; fields arriving by webhook and API are retained
  • The fields to extract from a call are defined in the scenario, so a qualification answer lands as a field
  • Outcome codes, close reason and contact attempts stay on the lead record
  • One timeline shows which touch happened when, in order
  • Reports export to Excel, including the split by campaign

Which cuts the reporting is built on is shown on the analytics page, and how systems connect on the integrations page. Calling the advertising lead itself is covered in marketing lead follow-up calls.

First step

Pick one campaign and check three fields: is the source recorded, is the call outcome stored as a field, is contract status attached to the lead. If all three exist, the report is a day's work. If one is missing, that is where the work starts.

To find where the chain breaks in your own campaigns, get in touch.

Live demo

Ready? Let's start

See Vexvon live in a 10-minute demo.

  • A scenario built for your business
  • A live sample call
  • A tour of the platform
Get a demoorBook a meeting

Your details are used only for the demo and to get in touch.