Paid media

How to Track Paid Media ROI Without Double Counting

8 min read
Difficulty
Moderate
You need
Conversion tracking, a CRM or lead sheet, your cost figures
Optional
Offline conversion imports from your CRM
On this page
  1. ROI, ROAS and the numbers around them
  2. Steps
  3. Tagging an ad link
  4. Why platform totals add up to more than your sales
  5. Troubleshooting
  6. Common questions

Paid media ROI is the profit your ads produce compared with what they cost. To track it, tag every ad link, record each lead's source, connect leads to the sales they become, and total every cost, not only ad spend. Then use one source of truth for conversions, because each platform claims credit on its own and their totals overlap. This guide is part of our paid advertising guide.

You'll need conversion tracking on each ad platform, a CRM or lead sheet that records outcomes, and your cost figures for ads, management and creative.

ROI, ROAS and the numbers around them

Several metrics get called return. They answer different questions, so it helps to keep them apart from the start.

Paid media return metrics and what each one tells you
MetricHow it's calculatedWhat it tells you
ROI(Revenue minus all costs) divided by all costsWhether ads made money
ROASRevenue divided by ad spendRevenue per unit of ad spend
Cost per leadAd spend divided by leadsWhat each enquiry costs
Cost per acquisitionAd spend divided by customers or salesWhat each customer costs

ROAS is the figure ad platforms show, because they know your spend and the conversion values you send them. ROI needs numbers only you have: the full costs and the revenue that actually arrived. We compare the two cost metrics in detail in cost per lead vs cost per acquisition.

Steps

  1. Decide what counts as return.

    For online sales, return is the order value. For leads, it's the revenue from leads that became customers, or an agreed value per qualified lead until sales close. Decide whether you'll measure revenue or gross profit. Profit is more honest when the cost of delivering the work varies a lot between jobs.

  2. Tag every ad link.

    Add UTM parameters to the landing page URL of every ad that isn't on Google Ads. Google says to always include utm_source, utm_medium and utm_campaign, and to keep one source per platform and one medium per channel. For Google Ads, keep auto-tagging on: it adds a click ID that analytics and offline imports use.

  3. Track conversions on each platform.

    Set up conversion tracking in every ad platform you use, for the same actions: leads, calls, bookings or purchases. Platforms need these events to optimize delivery. For Meta, that means the Pixel and the Conversions API working together, as in our guide to Meta Pixel and Conversions API setup.

  4. Store the source with every lead.

    When a form is submitted, save the UTM values and any click ID in hidden fields, so they reach your CRM with the lead. Ask callers how they found you as a backup, but don't rely on memory. A lead with no recorded source can't be connected to the ad that produced it.

  5. Connect leads to sales.

    Mark each lead's outcome in your CRM: qualified, won, lost, and the sale value. Then send those outcomes back to the platforms where you can. Google Ads accepts offline conversion imports and recommends enhanced conversions for leads. Meta's Conversions API accepts events from your own systems, such as a closed sale.

  6. Choose one source of truth and one attribution model.

    Pick where revenue is counted, usually your CRM or analytics, and report ROI from there only. Inside Google Ads, data-driven attribution is now the default for most conversion actions, and last click is the other option. Each platform still credits itself, so never add platform totals together.

  7. Total your full costs.

    Add ad spend, management fees, creative production, landing page work and tools for the same period. Leaving out anything but spend makes ROI look better than it is. Keep creative costs in the period they serve, or spread a big shoot across the months it runs. For setting a starting spend, see our post on the minimum ad budget.

  8. Calculate ROI and ROAS.

    ROI is revenue from ads minus total costs, divided by total costs, shown as a percentage. ROAS is revenue divided by ad spend; Google's help multiplies it by 100% to show a percentage. Calculate both by channel and campaign, using the revenue in your source of truth, not each platform's own claim.

  9. Report on a fixed schedule, allowing for lag.

    Report monthly or quarterly, using the same definitions each time. Leads from this month may close next month, so note how many leads are still open, and update past months as they close. Show cost per lead early, then ROI once enough leads have had time to become customers.

If you'd rather have tracking, CRM handoff and reporting set up for you, our in-house ads team runs paid search, paid social, geofencing and OTT campaigns and reports on what they return.

A tagged link carries the source, medium and campaign into your analytics. This example tags a paid social ad, with utm_content naming the creative so you can compare ads later:

text
https://www.example.com/kitchen-remodeling
  ?utm_source=facebook
  &utm_medium=paid_social
  &utm_campaign=kitchen_leads_oct
  &utm_content=video_problem_first

In a real ad, it's one line with no spaces. Pick a naming pattern and use it everywhere: lower case, underscores, the same source name for each platform. Mixed spellings, such as Facebook and facebook, split one source into two rows in your reports.

Why platform totals add up to more than your sales

Each ad platform counts the conversions it can link to its own ads. If someone sees a streaming TV ad, clicks a Meta ad, then searches and clicks a Google ad before calling, three platforms may each count that call. Add their reports together and one customer becomes three.

That isn't a reporting fault. Each platform is answering a different question: did my ads play a part? Your ROI question is different: what did all advertising return, and how should credit be shared? That's why step 6 matters.

Streaming TV is the hardest channel to fit into this, because people rarely click a TV ad. We cover lift tests and comparison groups in how to measure CTV ad performance.

Troubleshooting

Platforms report more conversions than you had sales

Cause: each platform credits its own ads for any conversion it can connect to them, so customers who saw ads on several platforms are counted more than once. Duplicate tracking makes it worse: a tag that fires twice, or a browser and server event without a shared ID, can double a platform's count before any overlap with other platforms.

Fix: report revenue and customers from one source of truth, as in step 6, and use platform figures only to compare campaigns within that platform. Check each platform for duplicate tags and test a lead end to end. On Meta, make sure browser and server events share an event ID so they are counted once.

Leads in the CRM have no source

Cause: the form doesn't capture UTM values or click IDs, the values are lost when visitors move between pages before converting, or the CRM integration drops the fields. Calls and walk-ins have no form at all. A redirect that strips query parameters from the landing page URL can also remove the tags before they're read.

Fix: add hidden fields that store the UTM values and click ID, and save them in a first-party cookie or session so they survive page changes. Test by clicking a tagged link, browsing two pages and submitting the form, then check the CRM record. Check that redirects keep query parameters, and add call tracking for phone leads.

ROI looks poor in the first weeks

Cause: costs arrive immediately but revenue arrives later. Leads take time to become customers, especially for services with quotes or site visits. Automated bidding also needs time to learn from conversions, so early spend often works less efficiently than later spend. Judging the first weeks on closed revenue alone mixes those two effects together.

Fix: track leading measures early, such as cost per lead and lead-to-qualified rate, and set a date for the first ROI review that allows for your usual sales cycle. Recalculate past months as open leads close. If cost per lead and lead quality look healthy, give the campaign time; if lead quality is poor, fix targeting or the offer first.

Common questions

What is a good ROI for paid advertising?

There's no single number worth quoting, because it depends on your margins, how long customers stay and how much each sale is worth over time. Work out your own break-even point first: the return at which ads pay for themselves after the cost of delivering the work. Anything above that is profit; compare campaigns against each other, not against industry averages.

What is the difference between ROI and ROAS?

ROAS is revenue divided by ad spend, usually shown as a percentage or a ratio. ROI subtracts all your costs, including management, creative and the cost of delivering what you sold, then divides the profit by those costs. ROAS is quick and good for comparing campaigns. ROI tells you whether advertising actually made money.

How do I track ROI from phone calls?

Calls need their own tracking, because they don't pass through a web form. Use the call tracking your ad platforms offer, such as call conversions in Google Ads, or a call tracking service that assigns numbers by source. Then record each caller's source and outcome in your CRM, so calls that become customers count toward revenue like any other lead.

How long does it take to see ROI from paid ads?

As long as your sales cycle, plus the time platforms need to learn. A shop selling online can see sales within days, while a service with quotes and site visits may take weeks or months to close. Judge early weeks on leads and cost per lead, and judge ROI once enough of those leads have had time to become customers.

← Back to Paid media

Creative that earns its spend

Paid search, paid social, geofencing and OTT, run in-house, custom-quoted. Quote within 24 hours.

5.0-star Google rating (24 reviews) · BBB Accredited, A rating