🙌 Our latest webinar is live!
Nov 7
Analytics & Reporting

How Agencies Prove ROI to Clients (With Examples)

Andre Sottil
Founder & CEO, Admira

Agencies prove ROI to clients by connecting ad spend to revenue in the client's own CRM, agreeing on how ROI is calculated before the campaign starts, and reporting profit after media spend and agency fees, not platform ROAS. A client who sees "ROAS 6.3x" in Ads Manager and flat sales in their bank account will not renew. A client who sees "these 41 deals, worth $95,000, came from campaigns we ran, and here is what they cost you, including our fee" usually will.

This guide covers the measurement agreement to sign at onboarding, the ROI formula agencies should use, a monthly report structure, a worked example, how to handle numbers that don't match, and the tools that do the work.

Why don't platform reports prove ROI?

Platform dashboards answer "what did this platform see?" Clients want to know "what did I get for my money?" The gaps are predictable:

  • Each platform claims the same sale. Meta, Google and TikTok each count conversions they can link to their ads. Added together, they often exceed real sales. See why platform ROAS overstates results.
  • Leads are not revenue. For lead-gen and sales-led clients, the platform sees a form fill. The sale happens weeks later in HubSpot, Salesforce or Kommo.
  • Fees are missing. ROAS ignores the agency retainer, production costs and tools. ROI must include them, or the client will do the math themselves.

What should agencies agree with clients before starting?

Most ROI disputes are definition disputes. Put these in writing at onboarding, in a one-page measurement agreement:

ItemDecideExample
Source of truth for revenueWhich system counts a saleClosed-won deals in the client's CRM
Conversion definitionsWhat counts as a lead, qualified lead and saleQualified = sales accepts within 7 days
Attribution modelHow credit is split across channelsPosition-based, with last touch shown alongside
Lookback windowHow long after a touch a sale can be credited90 days, based on the client's sales cycle
ROI formulaRevenue or gross profit; which costs are includedGross profit minus media and agency fee
Data accessWho gives CRM and ad account accessRead access to CRM deals and stages
Review cadenceWeekly operational, monthly ROI, quarterly testMonthly call with the client's sales lead

The agreement protects both sides. The client can't move the goalposts, and the agency can't hide behind vanity metrics.

What ROI formula should agencies use?

Marketing ROI = (attributed gross profit − media spend − agency fees) ÷ (media spend + agency fees)

Use gross profit instead of revenue whenever the client will share a margin, because a $10,000 sale with a 20% margin is not the same as one with a 70% margin. If the client won't share margins, report revenue-based ROI and label it clearly. The full set of variants is in our marketing ROI formula guide.

Example: platform ROAS vs real ROI for one client

Example (hypothetical numbers): a B2B services client pays $15,000 in monthly media and a $4,000 agency retainer.

MetricPlatform viewCRM-based view
Media spend$15,000$15,000
Agency feeNot included$4,000
Conversions310 leads (Meta + Google, summed)240 unique leads, 41 closed deals
Revenue$118,000 claimed conversion value$95,000 closed-won revenue
ROAS7.9x6.3x
Gross profit (40% margin)n/a$38,000
ROI after media and feen/a($38,000 − $19,000) ÷ $19,000 = 100%

Both views are "true." Only the right-hand column survives a CFO's review. It also shows the client that every dollar spent with the agency, including the fee, came back with a dollar of profit on top. That is a much stronger renewal argument than 7.9x.

How should a monthly client ROI report be structured?

  1. Headline result. One sentence: revenue and profit attributed this month, and ROI after fees.
  2. Funnel by channel. Spend, leads, qualified leads, deals and revenue for each channel, from the CRM.
  3. Cost per sale and cost per qualified lead. The metrics that connect spend to the sales team's work. See cost per lead vs cost per sale.
  4. What changed and why. The two or three decisions you made and their effect.
  5. Reconciliation note. A short line explaining why platform numbers differ from the CRM.
  6. Next month's plan. Budget moves, tests and what you need from the client (for example, sales updating deal stages).

Keep it to one page plus an appendix. Our guide to automating reporting without losing trust covers what to automate and what to write by hand.

What do you do when the numbers don't match?

They never match exactly, and pretending they do damages trust. Explain the reasons up front: different attribution windows, view-through credit, duplicate leads, offline sales and time lag between lead and deal. Then pick one source of truth (the CRM) for ROI and use platform numbers only for in-platform optimization. Our breakdown of why Meta, Google Ads and GA4 numbers don't match is a good link to send skeptical clients.

For clients who still doubt that ads caused the sales, run an incrementality test: pause a channel in one region or for a holdout group and compare. It's the strongest answer to "would these sales have happened anyway?"

Which tools do agencies use for ROI reporting?

Prices checked on vendor sites in November 2026.

Tool typeExamplePriceProves ROI?
Free dashboardingLooker StudioFree; paid connectors extraOnly if you bring CRM revenue in yourself
Agency reporting platformAgencyAnalytics$20 per client/month on the Core plan (annual billing)Shows channel metrics well; CRM revenue depends on integrations
Attribution platformAdmiraFrom $199/month (Starter), $399 (Growth)Yes, ties ad spend to CRM deals and revenue

Reporting tools pull numbers into one place. Attribution tools decide which channel gets credit for which sale. Many agencies need both. Source: AgencyAnalytics pricing.

How Admira works for agencies

Admira connects each client's Meta, Google Ads, TikTok and Click-to-WhatsApp campaigns to their CRM (HubSpot, Salesforce, Kommo, Clientify, ActiveCampaign), so ROI reports come from closed deals instead of platform claims. Shared reports and unlimited dashboards let clients see the same numbers you do, and the Growth plan adds ROAS, ROI and CAC reporting. Admira also runs a partner program that pays agencies 50% of MRR for each referred client. That is a commercial relationship, and you should disclose it to clients if you recommend the tool. Admira is a young brand with few public reviews, so ask for a demo on one client account before rolling it out. Details on the attribution for agencies page.

Who this is for, and when it doesn't apply

For performance and growth agencies managing paid media for lead-gen, B2B and sales-led clients, where revenue lands in a CRM. Less relevant for pure brand or awareness mandates, where reach and lift studies are the agreed measure, or for ecommerce clients whose store platform already reports orders by channel. In those cases, align on the right metric at onboarding instead of forcing an ROI number.

FAQ

Should ROI include the agency fee?

Yes. The client pays both media and fee, so ROI should include both. Show media-only ROAS separately if it helps optimization discussions.

What if the client won't give CRM access?

Ask for a monthly export of deals with source fields, or read-only access to closed-won deals. Without any revenue data, you can only report cost per lead, and you should say so in writing.

Which attribution model should agencies use with clients?

Choose one the client understands and agree on it at onboarding. Position-based works well for most lead-gen clients, with last touch shown next to it for comparison.

How often should agencies report ROI?

Monthly for ROI, weekly for operational metrics. If the sales cycle is long, report ROI by lead cohort so recent months are not judged before deals close.

How do I prove ROI when sales close on WhatsApp?

Capture the ad source when the chat starts and keep it on the contact in the CRM. Our guide to WhatsApp ads attribution explains the setup.

What if ROI is negative?

Report it. Show which campaigns are profitable, which are not and the plan to fix them. Clients forgive a bad month far more easily than a report that hid it.