Blog · Board and management reporting
Marketing ROI tracking compares successive return snapshots using consistent costs, attribution, and observation windows. Learn how to retain prior views, reconcile revisions, and compare cohorts at the same age.
Marketing ROI tracking compares campaign return snapshots using consistent costs, attribution rules, and maturity windows. Keep the old snapshots so you can explain revisions, then compare different campaigns at the same age. A percentage without its cohort, observation window, and reporting cutoff cannot support a dependable trend.
Start with a campaign register containing cohort ID, start date, eligible outcomes, attribution rule, cost boundary, and responsible owner. Define observation age as days elapsed since the cohort start. Record the actual as-of date and source-extract dates beside every snapshot.
Keep the outcome basis stable: bookings, invoiced sales, and collected cash are different measures. For the example below, the measure is attributed net sales after known discounts and refunds, less related variable costs. Marketing costs sit outside those variable costs and are deducted once.
Keep the return convention explicit too. Google's ROI reference describes ROI in relation to net profit and costs, with the calculation depending on the advertiser's goals. The marketing ROI versus ROAS guide explains the specific contribution and marketing-investment convention used here.
Choose the ages you will compare before reading the outcome. A campaign at an early age has had less time to generate sales and recognize refunds than an older one. Comparing current calendar-month totals alone can confuse that difference with a change in performance.
Each source extract should have a snapshot ID. Preserve the rows as they were known at that cutoff, either in separate extracts or in a history table with the snapshot ID attached. A workbook refresh should not quietly replace the evidence behind a prior review.
For a US distributor, the following illustrative extracts show the January and February 2026 acquisition cohorts at two ages. The rows are cumulative views, not additional transactions. Amounts are USD; percentages are rounded to one decimal place.
| Snapshot | Cohort | Age in days | Net sales (USD) | Variable costs (USD) | Contribution (USD) | Marketing cost (USD) | After marketing (USD) | Attributed ROI |
|---|---|---|---|---|---|---|---|---|
| J30 | January | 30 | 24,000 | 14,400 | 9,600 | 10,000 | -400 | -4.0% |
| J60 | January | 60 | 35,000 | 21,000 | 14,000 | 10,500 | 3,500 | 33.3% |
| F30 | February | 30 | 30,000 | 18,000 | 12,000 | 12,000 | 0 | 0.0% |
| F60 | February | 60 | 45,000 | 27,000 | 18,000 | 12,500 | 5,500 | 44.0% |
With this summary in columns A through I, enter contribution in F2:
=D2-E2
Enter contribution after marketing in H2:
=F2-G2
Enter attributed ROI in I2:
=IF(G2=0,"",H2/G2)
Fill down and format column I as a percentage. A missing cost should remain unresolved; a known zero cost makes the return ratio undefined, so the formula returns a blank.
To assemble net sales, suppose Outcomes has snapshot ID in A, cohort ID in B, and the already matched, window-eligible net amount in C. In summary D2, use:
=SUMIFS(Outcomes!$C$2:$C$1000,Outcomes!$A$2:$A$1000,$A2,Outcomes!$B$2:$B$1000,$B2)
Apply the same snapshot and cohort filters to the related variable costs and the approved marketing-cost register. Microsoft's SUMIFS documentation confirms that the function sums values meeting multiple criteria. Extend all ranges to the complete extracts.
Covirage is not affiliated with Microsoft or Google.
January's contribution after marketing moves from negative $400 at day 30 to positive $3,500 at day 60. Explain that change with a bridge drawn from the same rows:
| January movement | Effect on contribution after marketing (USD) |
|---|---|
| Additional net sales: 35,000 minus 24,000 | 11,000 |
| Additional variable costs: 21,000 minus 14,400 | -6,600 |
| Additional marketing cost: 10,500 minus 10,000 | -500 |
| Net movement | 3,900 |
The check is negative $400 plus $3,900 equals $3,500. This proves the arithmetic; supporting order and invoice rows explain whether the additions represent later activity, corrected records, or late-arriving costs. It does not show that a budget change made the campaign more productive.
Compare January day 60 with February day 60 for the campaign comparison. February's 44.0% exceeds January's 33.3%, but the next review still needs audience, offer, and product-mix context. Improving marketing ROI covers the decision that follows this measurement work.
Select only the day-60 rows. Their net sales total $80,000, variable costs $48,000, contribution $32,000, and marketing costs $23,000. Contribution after marketing is $9,000, so combined attributed ROI is 39.1%.
For the displayed worksheet, row 3 and row 5 are the selected snapshots:
=(H3+H5)/(G3+G5)
Tie the $23,000 cost total to the selected campaign-cost register. Reconcile eligible sales as attributed plus unallocated sales against the finance export. For acquisition cohorts, keep customer acquisition cost alongside the return; a changing customer mix can affect both measures.
Bring your saved campaign snapshots, matched sales, and cost exports to Covirage as files or a Google Sheet. Covirage maps the columns, and its tools compute and check the figures; 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 customer profitability for the contribution view behind campaign return.
Use a cadence that fits the sales cycle and the availability of financial data. A team may review weekly operational updates and retain a reconciled monthly snapshot. State the observation age and ledger cutoff so changing report frequency does not change the comparison silently.
Later orders, refunds, invoice corrections, cost allocations, and attribution revisions can change the recorded result. Preserve the previous snapshot and explain the movement by component. A revised return may reflect better information rather than a new marketing action.
No. Cumulative snapshots contain earlier activity, so adding them counts the same outcomes repeatedly. Select one snapshot at the chosen age for each cohort. Then calculate the portfolio return from summed contribution and summed marketing cost.
Consistent tracking improves comparability, but attribution still allocates credit rather than establishing what would have happened without marketing. Label the return accordingly. Estimating incremental profit requires separate evidence, such as an appropriately designed comparison with a credible counterfactual.