Agency guide

How to measure the ROI of hiring a marketing agency, and what to do if the numbers disappoint

Bar chart showing net profit rising from 2,000 before an agency to 6,600 after 90 days, net of a 3,000 fee, with three scorecard tiles

Get a free audit

In this article 10 sections
  1. Why simple ROI misleads
  2. Measure profit, not revenue
  3. A worked example
  4. Set the baseline before work starts
  5. A 90-day scorecard
  6. Attribution traps that flatter the results
  7. If the numbers disappoint
  8. When to continue, fix or leave
  9. How Growloom works with this
  10. Frequently asked questions

Hiring a marketing agency is easy to justify at the start and hard to judge three months later. The monthly report shows impressions, clicks and a ROAS number, but the founder's question is simpler: is my business better off for paying them? This guide explains how to measure the return on an agency honestly, what to track from day one, a 90-day scorecard and what to do if the numbers disappoint.

Why simple ROI misleads

The usual shortcut is to divide revenue from ads by what you spent. It ignores four things:

  • Costs between revenue and profit, such as product cost, shipping, fees and returns.
  • The agency fee, which is part of the cost of getting those sales.
  • Sales you would have made anyway, such as brand searches and repeat customers.
  • What changed at the same time, including seasonality, promotions, pricing and product launches.

So the honest question is not "how much revenue did the ads report?" It is "how much extra profit did we make, after every cost including the fee, compared with what would have happened without the agency?"

Measure profit, not revenue

Use contribution profit: sales minus the costs that rise with every order. If you are not sure how to calculate it, start with our guide to ROAS, CAC and payback and the free break-even ROAS calculator. Then track these together:

MetricWhat it tells youWatch out for
Net profit after ad spend and feeWhether marketing is making money overallNeeds honest margin data
Blended ROAS (MER)Total revenue divided by total marketing spend, across all channelsDoes not show which channel worked
Cost to win a new customer (CAC)What a genuinely new buyer costsPlatforms often count existing customers
Payback periodHow fast a customer's profit covers their acquisition costNeeds repeat-purchase data
New customer shareWhether growth comes from new people, not retargeting the same onesRequires tracking from your own store data

A worked example

The numbers below are illustrative. Assume a 40% contribution margin, so each 100 of revenue leaves 40 after product, shipping and fee costs.

Per monthBefore the agencyAfter 90 days
Ad spend10,00012,000
Revenue from ads30,00054,000
Contribution profit (40%)12,00021,600
Less ad spend-10,000-12,000
Less agency fee0-3,000
Net profit2,0006,600
Net profit per month, after ad spend and agency fee (illustrative)Before2,000After 90 days6,600 after a 3,000 feeExtra monthly profit of 4,600 against a 3,000 fee: about 1.5 times the fee. Judge it over several months.
A worked example: compare profit after all costs, including the fee, not revenue.

Net profit rose by 4,600 a month against a fee of 3,000, so the engagement is returning about 1.5 times its fee. That is a reasonable sign, but it is not proof. Before you credit all of it to the agency, check whether prices, promotions, seasonality or new products helped, and look at the trend over several months, not one.

Set the baseline before work starts

  1. Record at least the last three months of ad spend, revenue, new customers, ROAS, CAC and conversion rate.
  2. Write down the current margin per product or category.
  3. Check that tracking matches your store. If GA4 and the ad platforms disagree widely with your sales, fix that first or no measurement will be trustworthy. See our GA4 setup guide.
  4. Agree in writing which numbers define success and who supplies the data.

A 90-day scorecard

PeriodWhat the agency should deliverHow you judge it
Month 1: foundationsTracking audit and fixes, accounts you own, a written plan with targets, first tests liveDoes tracking now match your store data? Do you have a baseline and a plan you understand?
Month 2: testingA steady rhythm of creative and audience tests, with results explainedIs cost per new customer moving in the right direction? Are you learning what works?
Month 3: scalingBudget moved towards what works, retention channels plannedNet profit, blended ROAS and payback against baseline, with any outside changes noted

Judge leading indicators early (tracking quality, test volume, cost per new customer) and profit later. An agency that only shows revenue and clicks in month one is hiding the numbers that matter.

Attribution traps that flatter the results

  • Brand search and retargeting. They claim sales that were already coming. Separate brand from non-brand results.
  • Platform self-reporting. Each platform credits itself. Check against your store's own order data.
  • Promotions. A sale month will lift everything. Compare like with like.
  • Returns and cancellations. Count net sales, not gross.

When you need stronger proof, run a simple test: pause a campaign type or a region for a short period and compare, or hold back a small audience group, and see what happens to total sales.

If the numbers disappoint

SymptomLikely causeWhat to do
Platform ROAS is high but profit is flatMargin is thin, or results are mostly brand and retargetingRecalculate from margins and separate brand from non-brand
Cost per new customer is risingCreative fatigue or too much budget too fastRefresh creative and scale in smaller steps
Good traffic, few ordersOffer, price or landing page problemFix the page and offer before buying more traffic
Numbers cannot be verifiedTracking is broken or reports do not match your dataFix tracking and reconcile with the store
Not enough data to learn fromBudget is too small for the channels usedConcentrate on one or two channels

When to continue, fix or leave

  • Continue if tracking is trustworthy, cost per new customer is improving and profit is moving in the right direction.
  • Fix if the diagnosis points to your offer, product or data, because no agency can fully compensate for those.
  • Leave if reports cannot be reconciled with your own data, the team cannot explain results or you do not own your accounts. A short notice period makes this decision easier. Our guide to choosing a performance marketing agency covers contract terms and account ownership.

How Growloom works with this

We start with tracking, set targets from your margins and report on net profit and payback, not just clicks. You own your accounts and there are no lock-in contracts, so you can check our work against your own numbers. See our analytics and tracking service, or ask for a free audit.

Frequently asked questions

How do you calculate the ROI of a marketing agency?

Compare net profit after all marketing costs, including ad spend and the agency fee, with a baseline from before the engagement. Divide the extra profit by the fee to see what each unit of fee returned, and account for other changes such as promotions and seasonality.

How long should I give an agency before judging results?

Judge leading indicators such as tracking quality and cost per new customer within the first two months, and profit and payback over three to six months. Short sales cycles can show results sooner, but a single month is rarely enough.

Is ROAS enough to measure an agency?

No. ROAS ignores costs between revenue and profit, the agency fee and sales that would have happened anyway. Use it alongside net profit, blended ROAS, cost per new customer and payback period.

What should I do if I cannot verify the agency's numbers?

Ask for access to the ad accounts and analytics you own, reconcile the reports with your store's order data and agree on one source of truth. If the numbers still cannot be explained, that is a reason to reconsider the relationship.

Sources and further reading

Want a second opinion on your marketing?

Get a free audit of where your budget is working and where it is leaking.

Get a free audit

Related articles

Free audit