Blog · Board and management reporting · Sales teams
Marketing spend analytics connects campaign costs with attributed revenue and contribution. Follow a checked workflow from marketing and finance exports to a campaign comparison, with spreadsheet formulas and clear limits on causal claims.
Marketing spend analytics reconciles campaign costs and compares them with attributed revenue and contribution for a defined period. Start with the money finance recognizes, connect it to the marketing campaign register, and count each outcome once. The result supports a budget review, while attribution alone leaves the causal effect of advertising unresolved.
Choose whether the report covers activity during a calendar period or results from a campaign cohort followed through an agreed observation window. Those are different views. A completed invoice recorded this month may belong to a campaign that began earlier; a campaign launched this month may have revenue still to come.
Write the selected basis above the table: campaign scope, cost dates, outcome window, net revenue definition, currency and attribution rule. Keep bookings, invoiced revenue and collected cash in separate measures. A large opportunity value should not quietly become realized revenue because both files have a column called value.
Attribution concerns how credit is assigned across advertising interactions, as Google's explanation of attribution describes. The marketing attribution guide covers those allocation choices. This workflow uses an approved allocation; it does not choose a different rule merely to improve a campaign's result.
Use a campaign register with a stable campaign ID, channel, owner and dates. Connect the advertising cost export to that register, then connect agency, creative and other approved costs from finance. Retain the original document IDs so a charge can be traced to its source.
Reconcile media costs to the selected finance entries. If the advertising export reports activity while finance reports an invoice or accrual, explain the timing difference in a separate bridge. Do not add the platform cost and its corresponding payable as though they were different purchases.
For outcomes, retain the invoice or outcome ID, campaign allocation, net revenue and associated variable costs. One sale can be split across campaigns, but its credits must sum to the sale once. Keep unassigned outcomes and unmapped costs visible rather than distributing them without an approved basis.
Use customer acquisition cost when the separate question concerns spending per new customer. That measure needs a new-customer count and a consistent acquisition scope; it cannot be inferred from attributed revenue alone.
Consider an illustrative US commercial equipment company reviewing completed campaigns. All included revenue is net invoiced revenue within the agreed outcome window. Finance has matched the variable product and delivery costs to those revenue rows. These are illustrative inputs, in USD, rather than industry benchmarks.
Put the input table in columns A through E, with headers in row 1. The total is row 5.
| Campaign | Media cost (USD) | Other campaign cost (USD) | Attributed net revenue (USD) | Variable costs on that revenue (USD) |
|---|---|---|---|---|
| Search | 30,000 | 6,000 | 150,000 | 90,000 |
| Webinar | 10,000 | 4,000 | 80,000 | 40,000 |
| Paid social | 20,000 | 5,000 | 90,000 | 63,000 |
| Total | 60,000 | 15,000 | 320,000 | 193,000 |
Add calculated columns F through I. Contribution before marketing subtracts the included variable costs from attributed revenue. Contribution after marketing also subtracts the campaign costs, once. Enter these formulas in F2, G2, H2 and I2, respectively:
=B2+C2
=D2-E2
=G2-F2
=IF(B2=0,"",D2/B2)
Fill down through row 4. Column I is media ROAS, shown as a multiple. No intermediate rounding is needed; display that ratio to two decimal places.
| Campaign | Total campaign cost (USD), F | Contribution before marketing (USD), G | Contribution after marketing (USD), H | Media ROAS, I |
|---|---|---|---|---|
| Search | 36,000 | 60,000 | 24,000 | 5.00x |
| Webinar | 14,000 | 40,000 | 26,000 | 8.00x |
| Paid social | 25,000 | 27,000 | 2,000 | 4.50x |
| Total | 75,000 | 127,000 | 52,000 | 5.33x |
The arithmetic closes: $320,000 minus $193,000 minus $75,000 equals $52,000. The total media ROAS is $320,000 divided by $60,000, or 5.33x after rounding. Calculate that ratio from totals rather than averaging the campaign ratios.
The marketing ROI versus ROAS guide owns the fuller return formulas and margin test. Here the practical finding is that the campaign with the largest attributed revenue does not produce the largest contribution after marketing. Webinar leaves $26,000 compared with Search's $24,000 on these supplied allocations.
For a larger cost export in Excel or Google Sheets, name a worksheet Costs and keep campaign ID in A, posting date in B and signed campaign cost in C. On a summary sheet, put the selected campaign in A2, start date in K1 and the exclusive end date in L1. Dates must be spreadsheet date values.
=SUMIFS(Costs!$C$2:$C$1000,Costs!$A$2:$A$1000,$A2,Costs!$B$2:$B$1000,">="&$K$1,Costs!$B$2:$B$1000,"<"&$L$1)
Google's SUMIFS documentation describes summing a range based on multiple criteria. Use equally sized ranges and extend them to the full export. The exclusive end date also handles rows carrying a time of day.
For the worked table, these checks must return zero:
=SUM(F2:F4)-SUM(B2:C4)
=SUM(H2:H4)-(SUM(D2:D4)-SUM(E2:E4)-SUM(F2:F4))
Also reconcile the selected campaign totals to their source registers. An identity inside the summary proves the formulas fit together; it does not prove the underlying export is complete. Covirage is not affiliated with Microsoft or Google.
Marketing owns the campaign mapping and allocation rule. Finance owns cost completeness, the revenue tie and the contribution definition. Sales operations resolves missing campaign and opportunity identifiers. Give each unresolved amount an owner before the budget meeting.
The table can identify campaigns to investigate or cost assignments to challenge. It does not estimate the return from the next advertising dollar. For the different causal question, incremental return on ad spend compares additional outcomes with additional cost using suitable treatment and control evidence. The adjacent B2B marketing analytics workflow addresses the wider commercial funnel.
Bring your campaign cost, attributed outcome and finance exports, or a Google Sheet containing the same fields. Covirage maps the columns; its tools compute and check the cost and contribution comparisons, and the external AI model explains the result with every figure traced to its rows. Create a free Covirage account and bring a sample of your own data.
See cost variance analysis for the supporting cost comparison approach.
Bring advertising costs by campaign, finance entries for agency and creative costs, and an outcome export linked to net revenue. Retain campaign identifiers, dates, currency and the attribution rule. Product or service cost data is also needed when the comparison includes contribution.
Include them in the total campaign cost when finance has assigned them to the selected scope. Keep media spending visible separately so readers can distinguish a media efficiency comparison from a fuller contribution review. Allocate shared costs using a documented rule.
A comparison of attributed revenue cannot establish that by itself. Attribution assigns observed outcomes to recorded interactions. A causal claim needs evidence about what would have happened without the advertising, such as results from an appropriately designed controlled experiment.