Marketing & SEO

How to Measure Marketing ROI (With Worked Formulas)

Worked marketing ROI formulas for campaigns and channels, plus practical ways to count phone calls, walk-ins and other offline sales.

Quick answer

Marketing ROI is the profit a campaign earns compared with what it cost. The basic formula is (gross profit from marketing minus marketing cost) divided by marketing cost, times 100. Use gross profit rather than revenue, include every cost and track offline sales with promo codes, call tracking and asking customers how they found you.

How to Measure Marketing ROI (With Worked Formulas)

Photo: Unsplash

On this page

Every marketing dollar has to earn its place. Yet many owners still judge campaigns by gut feel, likes or the number of people who said they “saw the ad”. When money is tight, that’s how good channels get cut and bad ones keep running.

Measuring marketing ROI doesn’t need a data team. It needs 3 things: an honest list of what each campaign cost, a way to connect sales back to the campaign that drove them and the right formula. This guide gives you worked formulas for single campaigns and whole channels, explains the related metrics such as ROAS and customer acquisition cost, and shows how to count the sales that happen offline, over the phone or in person.

The examples below use made-up round numbers to show the math. Your own numbers will differ.

The marketing ROI formula

The core formula is simple.

Marketing ROI = (gross profit from marketing − marketing cost) ÷ marketing cost × 100

2 details make the difference between a useful number and a misleading one.

  • Use gross profit, not revenue. Revenue includes the cost of the product or service you delivered. If you sell a $100 item that costs you $60, only $40 is available to pay back the marketing. Gross profit is revenue minus cost of goods sold or direct job costs.
  • Count every marketing cost. Ad spend, design, printing, postage, software subscriptions, agency or freelancer fees and discounts given away all belong in the cost.

Many people calculate ROI on revenue because it’s easier. That’s fine as a quick comparison, but it can make a campaign look profitable when it’s losing money. When you report ROI to a partner or lender, say which version you used.

Worked example 1: an email campaign

A boutique sends a fall sale email to its list.

Item Amount
Email platform share for the month $150
Freelance design and copy $350
Total marketing cost $500
Revenue tracked to the email $4,000
Gross margin 40%
Gross profit $1,600
  • ROI on revenue: ($4,000 − $500) ÷ $500 × 100 = 700%
  • ROI on gross profit: ($1,600 − $500) ÷ $500 × 100 = 220%

Both numbers are positive, but 220% is the honest one. Every $1 spent returned $3.20 in gross profit, or $2.20 after paying back the dollar itself.

Worked example 2: a paid search channel

A plumbing company runs Google Ads for a month and tracks every lead.

Item Amount
Ad spend $2,000
Agency management fee $500
Total marketing cost $2,500
Leads (calls and form fills) 40
Jobs won 10
Average job value $1,200
Revenue $12,000
Gross margin on jobs 50%
Gross profit $6,000

From this you can work out 5 useful metrics.

  • ROI: ($6,000 − $2,500) ÷ $2,500 × 100 = 140%
  • ROAS (return on ad spend): $12,000 ÷ $2,000 = 6, often written 6:1 or 600%
  • Cost per lead: $2,500 ÷ 40 = $62.50
  • Close rate: 10 ÷ 40 = 25%
  • Customer acquisition cost (CAC): $2,500 ÷ 10 = $250

Notice that ROAS looks much higher than ROI. ROAS only compares revenue to ad spend. It ignores margins and other costs, so it’s useful for comparing campaigns inside an ad platform, but it isn’t profit. Our Google Ads for beginners guide shows how to set up the conversion tracking that makes these numbers possible.

Worked example 3: offline sales from a postcard mailer

A neighborhood cafe mails 5,000 postcards with a unique promo code and a QR code.

Item Amount
Design, printing and postage $2,750
Redemptions of the promo code 30
Average first order $85 (catering and gift cards included)
First-order revenue $2,550
Gross margin 60%
First-order gross profit $1,530
  • First-order ROI: ($1,530 − $2,750) ÷ $2,750 × 100 = −44%

On first orders alone, the mailer lost money. But new cafe customers come back. If the owner’s POS data shows the average new customer brings in $300 of gross profit over a year, the picture changes.

  • 12-month ROI: (30 × $300 − $2,750) ÷ $2,750 × 100 = ($9,000 − $2,750) ÷ $2,750 × 100 = 227%

Key takeaway: Judge campaigns that win new customers on customer lifetime value, not just the first sale. Judge pure sales promotions to existing customers on the immediate profit they earn.

How to track offline sales

Phone calls, walk-ins and sales closed weeks after a first click are where most small business ROI tracking breaks down. These methods close the gap.

Method How it works Best for Effort
Unique promo codes A different code for each campaign, entered at checkout or the register Mailers, print ads, radio, events, partners Low
Tagged QR codes and vanity URLs QR codes and short URLs that redirect to links with UTM parameters Print, signs, vehicle wraps, packaging Low
Call tracking numbers A different phone number for each channel, forwarding to your main line Local service businesses with phone leads Medium
“How did you hear about us?” A required field on forms, booking tools and in-store at checkout Every business Low
CRM lead source field Each lead is tagged with its source, and closed sales keep that tag Businesses with longer sales cycles Medium
Offline conversion import Upload closed sales back into ad platforms such as Google Ads to match them with ad clicks Businesses spending meaningfully on paid ads Higher

The SBA suggests 2 of the simplest options: train staff to ask new customers where they learned about you, and use a different code for each print, mail or broadcast ad.

Google Ads also lets you import offline conversions, such as phone sales or signed contracts, and connect them to ad clicks. Its “enhanced conversions for leads” option matches hashed customer data, such as email addresses captured in a lead form, to your later sales records. That lets ad campaigns optimize toward paying customers instead of form fills.

Your POS or CRM is the system of record for sales. Make sure it can store a lead source or promo code with each transaction, and export it. If you are choosing a new system, look at POS systems for small businesses with customer profiles and reporting.

Channel ROI versus campaign ROI

Campaign ROI tells you whether one promotion worked. Channel ROI tells you whether a whole channel, such as email, paid social or SEO, is worth continuing. Calculate channel ROI the same way, using all of that channel’s costs over a longer window, usually a quarter.

Channel Quarterly cost (all-in) Gross profit attributed ROI
Email $1,500 $6,000 300%
Google Ads $7,500 $18,000 140%
Paid social $3,000 $3,600 20%
SEO (content and tools) $4,500 $9,000 100%

In this example, paid social barely pays for itself and email is the strongest channel. Before cutting anything, check 2 things.

  • Attribution. If paid social introduces people who later buy through a branded Google search or an email, last-click reports will undercount it. Google Analytics 4’s attribution reports let you compare channels across the customer journey. Our Google Analytics 4 setup guide covers the setup.
  • Incrementality. Some customers would have bought anyway. When you can, hold back a test group, for example a set of zip codes you don’t mail or a list segment you don’t email, and compare their sales with the group that got the campaign. The difference is the true lift.

Where to start: a 6-step ROI routine

  1. List every campaign and channel you spend money or staff time on.
  2. Record all costs monthly in one sheet, including software, fees and discounts.
  3. Set up tracking: GA4 key events, UTM tags on every link, promo codes for offline campaigns and a lead source field in your CRM or POS.
  4. Pull sales and gross margin from your accounting software or POS each month.
  5. Calculate ROI, CAC and ROAS per campaign and per channel using the formulas above.
  6. Review quarterly and move budget from the weakest channels to the strongest, testing one change at a time.

A simple business dashboard can pull these numbers into one view. For a wider look at using your data, see our guide to data analytics for small business. And if you are also investing in AI tools, the same thinking applies, as covered in how to measure AI ROI.

Conclusion

Measuring marketing ROI comes down to honest costs, clean tracking and the right formula. Use gross profit instead of revenue, include every cost, and judge customer-winning campaigns on lifetime value. Track offline sales with codes, call tracking and simple questions at the counter. Do that every quarter and your marketing budget stops being a guess and starts being an investment you can defend.

Sources

Questions readers ask

Frequently asked questions

What is a good marketing ROI?

There is no single benchmark that fits every business, because margins, sales cycles and channels differ. Any positive ROI calculated on gross profit means the campaign earned more than it cost. Many businesses compare channels against each other and move budget toward the highest returns rather than chasing a fixed target.

What is the difference between ROI and ROAS?

ROI compares profit with all marketing costs, while ROAS compares revenue with ad spend only. A campaign can show a strong ROAS and still lose money once product costs, agency fees and tools are included. Use ROAS to compare ads inside a platform and ROI to decide where the budget goes.

Should I calculate marketing ROI on revenue or profit?

Use gross profit whenever you can. Revenue-based ROI ignores what it cost to deliver the product or service, so it overstates returns, especially for low-margin businesses. Revenue-based ROI is acceptable for a quick comparison between similar campaigns, as long as you label which version you used.

How do I measure ROI for offline marketing?

Give each offline campaign a unique promo code, QR code, vanity URL or call tracking number, and ask new customers how they found you. Record the source with each sale in your POS or CRM. Then compare the gross profit from those tracked sales with the full cost of the campaign.

How long should I wait before measuring ROI?

Wait at least one full sales cycle. For a restaurant or retail shop, a few weeks may be enough to see first purchases. For a contractor or B2B firm, it may take 2 to 3 months for leads to close. Judge new-customer campaigns again after 6 to 12 months using lifetime value.

How do I calculate customer acquisition cost?

Divide your total marketing and sales cost for a period by the number of new customers won in that period. If you spent $2,500 and won 10 new customers, your customer acquisition cost is $250. Compare it with the gross profit an average customer brings in over their lifetime.

Can I measure the ROI of social media?

Yes, but it takes deliberate tracking. Tag every link you post with UTM parameters, use unique offers or codes, and track key events in Google Analytics. Social often introduces customers who buy later through another channel, so check attribution reports before deciding a social channel isn't working.

Reader reviews

Was this guide useful

No reviews yet. Share your experience and help other readers.

Write a review
Your rating
Never shown publicly

Reviews are checked before they appear. We never show your email. Please review only places or services you have used.

Manishdai
Written by

Manishdai

Manishdai writes about the technology that is reshaping every industry — from AI agents and cloud platforms to healthtech, fintech and the IT companies building it all across the United States.