How do you show marketing ROI to a client?
Agree what ROI means before the first report, count the full cost, name the attribution model and show the number next to what it leaves out. With a worked example.
Agree what ROI means first
Most ROI arguments between an agency and a client are really a definitions argument. The client says ROI and means return on ad spend. The agency reports ROAS and the client's finance team reads it as profit. Google's Ads help defines ROI as the ratio of net profit to costs; HubSpot's guide defines ROAS as revenue generated by ads divided by the cost of those ads. A campaign can have a ROAS of 4 and still lose money once product cost and fees are counted.
The pressure to get this right is real. Gartner's 2025 CMO Spend Survey found marketing budgets flat at 7.7% of company revenue, and a 2024 Gartner survey reported by CRM Magazine found only 52% of senior marketing leaders said they could prove marketing's value. Both samples lean toward large companies, but the client reading your report answers to someone asking the same question.
A method you can repeat every month
Settle these six points with the client in writing before the first report, then keep them fixed. Changing a definition mid-year makes every past number look wrong.
- The outcome and what it's worth: a sale is worth its gross margin, not its price; a lead is worth its close rate times the margin of an average deal.
- One source of truth per number: the store or CRM for revenue, Google Analytics 4 for what happens on the site, each ad platform for delivery and spend.
- The attribution model, named on the report. GA4 uses data-driven attribution by default, and Google retired its first click, linear, time decay and position-based models in November 2023. Changing the reporting model rewrites history as well, so note any change.
- The full cost: media, your fees and production, not media alone.
- A comparison: the same period last year, or the months before the campaign, so the number has something to stand against.
- What the number leaves out: brand search, word of mouth and anything without a click. Say it once, plainly, every time.
A worked example
Example data. An online store spends $20,000 on ads in a month, and the platforms attribute $80,000 in revenue to them: a ROAS of 4.0. The client's gross margin is 40%, so that revenue carries $32,000 of gross profit. Take away the $20,000 of media and a $5,000 agency fee and $7,000 is left.
So the marketing ROI is $7,000 on $25,000 of total cost, or 28%. Both numbers are true. The ROAS says the ads find buyers; the ROI says the program pays for itself with a margin. A report that shows only the 4.0 invites the finance team to do the second calculation on its own, usually without the agency in the room.
Put the two side by side and the next conversation changes. If the client wants a higher ROI, the levers are visible: lower-cost media, a better margin mix, or a fee tied to a different scope. Nobody has to argue about whether the report is honest.
What goes on the page
One page is enough for the ROI story, as long as it carries these:
- One headline number, with its definition written under it.
- The costs it includes, and the ones it doesn't.
- The attribution model and the date range, plus the comparison period.
- AI assistants as their own line: GA4's default channel group now has an AI Assistant channel for visits from sources such as ChatGPT. Whether assistants name the brand at all is a separate question, and the free brand scan gives a first answer for any domain.
- What you will change next month because of the number.
When the number is bad
Some months the ROI will be poor, and how you report those months decides whether the client trusts the good ones. Put the bad number first, not on page four. Say what caused it if you know, say you don't know yet if you don't, and say what you're changing. A client who learns about a bad month from their own finance team stops reading your summaries.
Be careful with small samples in either direction. Ten conversions in a week are not a trend, and a cost per acquisition that halves on that volume will probably come back. Show ranges when the volume is low, compare against more than one prior period, and wait for a second month before you call a change a result.
Where Metric* helps
In , each client's campaigns show spend, conversions, cost per conversion and ROAS down to the single ad, across Meta, Google Ads, TikTok, LinkedIn and the rest. A store's orders are split across the campaigns that were clicked, and platform-reported numbers sit next to GA4's own data-driven credit instead of being blended into one figure nobody can check. Forecasts come as ranges, and reports wait for your approval before they go out.
The margin step is still yours: the product reads platform and store figures, not the client's cost of goods, so the profit line in the example above is one you write into the report's commentary.
Sources
- Google, About return on investment (ROI) (Google Ads Help), read 2026-10-19
- HubSpot, The plain English guide to return on ad spend (ROAS), read 2026-10-19
- Silicon UK (Gartner release via Business Wire), Gartner 2025 CMO Spend Survey reveals marketing budgets have flatlined at 7.7% of overall company revenue, read 2026-10-19
- CRM Magazine, Marketing leaders can't prove their value, read 2026-10-19
- Google, How to attribute credit for key events (Analytics Help), read 2026-10-19
- Google, Get started with attribution (Analytics Help), read 2026-10-19
- Google, Select attribution settings (Analytics Help), read 2026-10-19
- Google, Default channel group (Analytics Help), read 2026-10-19