Reconcile campaign leads, won deals, and recorded revenue from prepared lead and finance exports. Follow the spreadsheet checks that preserve unique deals and keep unmatched revenue visible.
Closed loop marketing analytics links campaign leads to won deals and recorded revenue, then proves that the totals agree with the prepared source exports. The loop closes when sales and finance outcomes can be reconciled back to the campaign population. A lead marked won is a sales outcome; its full contract value is not automatically current-period revenue.
Choose a lead cohort and an outcome cutoff before calculating rates. A September lead cohort observed through October 31 differs from all deals won in October. Label both the lead period and the outcome date so a later refresh remains comparable.
Use three prepared exports: a deduplicated lead register, an opportunity register, and a finance extract. Retain lead ID, opportunity ID, customer ID, campaign ID, relevant dates, deal status, booking amount, and recorded revenue. Names and email text are weak substitutes for stable identifiers.
For a single-credit comparison, agree on one campaign assignment per opportunity. This is a reporting convention, not proof that the campaign caused the sale. Google's attribution overview defines attribution as assigning credit across touchpoints; the detailed choice belongs in marketing attribution models.
If multiple leads belong to the same opportunity, preserve the lead count but count the opportunity only once. Ask sales operations for a prepared mapping when those relationships are ambiguous.
An opportunity can have several invoices, revenue entries, or credits. Sum the approved finance rows to opportunity level before putting the result beside bookings. Otherwise, repeating the booking value on every finance row inflates the sales total.
Suppose the Finance sheet has opportunity ID in A, recognition date in B, and signed revenue amount in C. Credits are negative. On a DealSummary sheet, A2 holds a unique opportunity ID, H1 holds the first included revenue date, and H2 holds the first excluded date. Recorded revenue is:
=SUMIFS(Finance!$C$2:$C$5000,Finance!$A$2:$A$5000,$A2,Finance!$B$2:$B$5000,">="&$H$1,Finance!$B$2:$B$5000,"<"&$H$2)
The SUMIFS documentation explains that all specified criteria must match for a value to enter the sum. Keep the criteria ranges aligned, use real date values, and extend the range if the export contains more rows.
Covirage is not affiliated with Google or Microsoft.
A US business reviews the same lead cohort and cutoff across two campaigns. Its prepared registers produce these totals; recorded revenue includes only finance-approved amounts linked to the cohort's won opportunities.
| Campaign | Unique leads | Unique won deals | Bookings (USD) | Recorded revenue (USD) | Campaign spend (USD) |
|---|---|---|---|---|---|
| Industry webinar | 100 | 10 | 120,000 | 60,000 | 10,000 |
| Product workshop | 80 | 8 | 80,000 | 48,000 | 8,000 |
| Total | 180 | 18 | 200,000 | 108,000 | 18,000 |
In a Summary sheet, put those columns in A through F. In G2, calculate won deals per lead and fill down:
=IF(B2=0,"",C2/B2)
In H2, calculate recorded revenue per lead and fill down:
=IF(B2=0,"",E2/B2)
Both campaigns have 10.0% won deals per lead: 10 / 100 and 8 / 80. Both record $600 of revenue per lead: $60,000 / 100 and $48,000 / 80. Rates are shown to one decimal place; these dollar ratios are exact.
The total checks are 18 / 180 = 10.0% and $108,000 / 180 = $600. Do not average campaign rates when lead volumes differ. This particular example happens to have equal rates, but dividing the totals is still the correct method.
Use marketing analytics for the wider comparison of spend and outcomes. Use customer acquisition cost for the distinct question of cost per acquired customer; neither leads nor opportunities automatically equal new customers.
The approved finance population for this review contains the following amounts:
| Revenue matching status | Recorded revenue (USD) |
|---|---|
| Matched to industry webinar cohort | 60,000 |
| Matched to product workshop cohort | 48,000 |
| Not matched to either campaign cohort | 12,000 |
| Approved finance population | 120,000 |
The proof is $60,000 + $48,000 + $12,000 = $120,000. Campaign-matched revenue coverage is $108,000 / $120,000 = 90.0%. The unmatched amount stays visible; assigning it to the strongest campaign would manufacture a result.
Bookings exceed recorded revenue by $200,000 minus $108,000 = $92,000. That is a comparison of two differently timed measures, not an automatic receivable, backlog, or lost-revenue balance. Finance should explain the underlying delivery periods, credits, contract changes, and recognition scope before giving the gap another label.
Marketing owns campaign scope, sales operations owns the lead-to-deal mapping, and finance owns the revenue definition and reconciliation. Review missing matches before changing campaign budgets. For a separate margin-based spending assessment, use marketing ROI versus ROAS.
Bring your prepared lead, opportunity, and finance export, or a Google Sheet containing the matched rows, to Covirage; it maps the columns, and its tools compute and check campaign comparisons and revenue reconciliations. The external AI model explains the results with every figure traced to its rows. Create a free Covirage account and bring a sample of your own data; account creation takes about a minute.
See sales insights for the business context of connecting campaign activity with recorded outcomes.
No. Bookings reflect the agreed value under your company's sales definition; recorded revenue follows finance's recognition policy and cutoff. Reconcile each measure to its own source. Explain timing and scope differences rather than forcing current revenue to equal the value of won deals.
Document one campaign assignment per opportunity for a single-credit report, or use explicit allocation weights that sum to the whole opportunity. Aggregate finance lines to the appropriate matching level before attaching totals. Check that the campaign sum never exceeds the finance population it represents.
Keep them in a separate review population with the reason for the missing match. Sales operations can review identifiers and mappings while finance checks source coverage. Report match coverage alongside campaign outcomes so readers can judge how much of the business the comparison actually explains.