Marketing ROI sounds like a finance problem. It isn’t. It’s a tracking problem — and it’s simpler to solve than most guides make it look. This article gives you a practical measurement system for Google Ads, social media, and organic traffic, and tells you which numbers to look at weekly versus monthly.
The ROI Formula — And Why It’s Only the Starting Point
The basic formula
Marketing ROI = (Revenue from marketing − Marketing cost) / Marketing cost × 100
If you spent $1,200 on Google Ads last month and generated 18 leads, and you close 30% of leads at an average job value of $800, your revenue from those ads was $4,320. ROI = ($4,320 − $1,200) / $1,200 = 260%.
That’s the formula. The hard part isn’t the math — it’s knowing the inputs.
Why revenue attribution is harder than the formula suggests
Only 23% of small businesses say they can accurately measure the ROI of their marketing spend (HubSpot, 2024). The other 77% aren’t failing at math. They’re missing the tracking that populates the formula.
A customer who finds you on Google, leaves without converting, sees a Facebook retargeting ad a week later, and calls you after reading a review — which channel gets credit? Last-click attribution in Google Analytics assigns it all to the channel that drove the final session. That’s often incomplete.
The honest answer: most SMB attribution is imperfect, and that’s acceptable. Imperfect measurement is better than no measurement. The goal isn’t perfect attribution — it’s knowing whether each channel is producing more than it costs.
What “good ROI” actually means by channel
Google reports an average 2:1 revenue-to-spend ratio across Google Ads accounts (Google Economic Impact Report). But category averages range from 1.5:1 in competitive retail to 8:1 in high-margin services. A 2:1 return on a $500/month ad budget ($1,000 in revenue) is reasonable for a low-margin business. For a $2,000 average job, it’s a disappointment.
Good ROI depends on your margins, your close rate, and your customer lifetime value. Define what “good” means for your business before you measure.
Vanity Metrics vs. Revenue Metrics — Know the Difference
This is the most practically useful distinction in this article. Get it right and every future marketing decision gets easier.
Metrics that feel good but don’t predict revenue
Impressions (how many times your ad appeared), reach (how many people saw your content), follower count, likes, comments, shares, open rates for emails, page views — none of these have a reliable direct path to revenue for most businesses.
They feel good because they’re large numbers. They change when you run campaigns. They go up when you post more. But a business with 10,000 followers and zero sales has a vanity metric problem, not a marketing success.
Metrics that connect to money
A conversion is any action that has a direct path to revenue: phone call, form submission, chat message, appointment booking, purchase. A conversion is not a pageview, a session, or a social media like.
Track these and only these as your primary success metrics:
- Leads generated (calls, forms, bookings, chats) per channel, per month
- Cost-per-lead by channel (spend ÷ leads)
- Close rate (leads that became paying customers ÷ total leads)
- Cost-per-customer (total spend ÷ paying customers)
- Revenue per customer (average job or purchase value)
If you spent $800 and got 11 leads, your cost-per-lead is $72.72. If your average job value is $500 and you close 40% of leads, each lead is worth $200 in expected revenue. A $73 cost-per-lead is a strong channel.
How to audit what you’re currently measuring
Look at what you report to yourself or your team each month. If the list is dominated by impressions, reach, engagement rate, and follower count — you’re measuring the wrong things. Replace them with leads, cost-per-lead, and cost-per-customer. That’s the audit.
Measuring Google Ads ROI
Conversion tracking: the non-negotiable starting point
You cannot measure Google Ads ROI without conversion tracking. This means a tag that fires when someone calls from an ad, completes a form, or books an appointment — not when they visit a page or click a button.
Set up conversion tracking in Google Ads before running any campaign. Every dollar you spend without it is a dollar producing data you can never recover. See our Google Ads setup guide for step-by-step instructions on getting this right.
Cost-per-lead as your primary metric
Not CPC (cost-per-click). Not CTR (click-through rate). Not impression share. Cost-per-lead.
Calculate it monthly: total Google Ads spend ÷ confirmed leads from Google Ads = cost-per-lead. If your CPL drops from $90 to $65 after you restructure your ad groups, that improvement is measurable, real, and worth understanding.
Cost-per-lead benchmarks by industry (WordStream, 2024): home services $65–$90, legal $135, B2B SaaS $55, ecommerce $45. If your CPL is within range, your campaign is performing normally. If it’s 2–3x the benchmark, investigate before assuming the channel doesn’t work.
ROAS vs. ROI — what each tells you
ROAS (Return on Ad Spend) = Revenue ÷ Ad Spend. A 4:1 ROAS means you generated $4 in revenue for every $1 spent on ads.
ROI accounts for all costs, including margins, overhead, and management fees. A 4:1 ROAS on a product with 25% margins is actually negative ROI when you include cost of goods.
Use ROAS for quick comparisons between campaigns or channels. Use ROI when making budget allocation decisions that involve your actual profitability.
How to connect Google Ads data to actual revenue
Google Ads reports how many conversions your campaign produced. Conversions are leads. Revenue comes from the leads you close.
Track this in a simple spreadsheet: month, total ad spend, leads from ads, close rate, average job value, revenue from ads. Update it monthly. After six months, you’ll have a clear picture of whether Google Ads produces positive ROI for your business.
Measuring Social Media ROI
Why social media ROI is harder to measure directly
Social media works across a longer time horizon than paid search. A prospect might follow your Instagram account after seeing a post, see your content for three months, and then call you when they have a project. That last-call touchpoint might get attributed to “direct” in Google Analytics. The social media contribution disappears.
This is the attribution gap. Social media’s contribution to revenue is real — and systematically undercounted by last-click attribution models.
The proxy metrics that predict social media contribution
Since direct attribution is often impossible, use these leading indicators: monthly reach growth (are you reaching new people?), profile visits (are people curious enough to check you out?), link clicks or DMs (are they taking action?), and follower-to-lead conversion rate when you run campaigns with trackable links.
For local service businesses, a practical social media success metric is inbound DMs from people asking about services. Track those separately from your other lead sources.
Setting up UTM parameters
UTM parameters are short codes added to links you share in your social posts or bio. When someone clicks a UTM-tracked link and fills out your contact form, Google Analytics records exactly where that visitor came from.
Setting up UTMs takes 10 minutes. Use Google’s Campaign URL Builder. Create different UTMs for each platform (Instagram bio link, Facebook post link, LinkedIn article link). Businesses using UTM parameters see 20% better attribution accuracy than those relying on default source tracking (2024 study).
Attribution windows and why social conversions look smaller than they are
GA4’s default session timeout is 30 minutes. A customer journey that involves three separate visits over two weeks — first from a social post, then direct, then from a Google search — looks like three different sessions with the last one getting credit.
Set a 30-day attribution window in GA4’s conversion settings for channels with longer consideration periods. UTM parameters combined with a 30-day window recover roughly 40–60% of social-influenced conversions that would otherwise appear as unattributed.
Measuring SEO and Organic Traffic ROI
Google Search Console as your free baseline tool
Google Search Console shows you which search queries your pages rank for, how many impressions they receive, and what your click-through rate is. It’s free and it connects directly to Google’s actual search data — no estimates, no third-party modeling.
Check Search Console monthly for three things: which keywords are gaining or losing impressions, which pages have high impressions but low CTR (title or description may need work), and whether any pages have dropped significantly (may indicate a technical issue or content gap).
Traffic value estimation as a useful ROI proxy
Organic traffic has an implicit cost equivalent. If your website gets 500 organic visits per month from searches that would cost $3.50/click in Google Ads, the traffic value is $1,750/month. That’s not revenue — it’s a way to benchmark whether your SEO investment is producing proportional value to what you’d spend on paid search for the same traffic.
The long time horizon problem
SEO ROI is measured in quarters, not weeks. A page published today may not rank meaningfully for six to twelve months. This time lag makes SEO ROI difficult to attribute in monthly reporting.
The practical approach: track which organic search queries drive leads using Search Console + UTM-tagged links from organic traffic sources, measure organic-to-lead conversion rate separately from paid channels, and compare organic CPL to paid CPL annually to make budget allocation decisions.
The Minimum Viable Measurement Stack for SMBs
You don’t need a BI tool or a data analyst. You need four things connected correctly.
Google Analytics 4
Set up GA4 and configure at least one conversion event — the “thank you” page after a form submission, or a phone number click event. Without a conversion configured in GA4, the data is interesting but not actionable.
Ignore: real-time reports, audience demographics, technology reports. Focus on: Acquisition → Traffic Acquisition (where visitors come from), Conversions (how many conversion events fired, by source), and Engagement → Pages and Screens (which content pages drive the most sessions that lead to conversions).
Google Search Console
Connect Search Console to your GA4 property. Check it monthly. Look at query reports filtered to your main service keywords. Any page with more than 500 impressions and under 3% CTR has a title tag problem worth fixing.
Google Ads conversion tracking
Per-channel cost-per-lead. This lives in Google Ads, not GA4. Look at it weekly: which keywords are generating conversions, what does each conversion cost, and which keywords are spending money without producing conversions (pause those).
A monthly tracking spreadsheet
Columns: Month, Google Ads Spend, Google Ads Leads, Google Ads CPL, Social Spend, Social Leads, Social CPL, Organic Leads, Total Leads, Close Rate, Revenue From Marketing, Overall CPL.
Update it on the first Monday of each month. After three months, you’ll know which channel is your most efficient source of leads. After twelve months, you’ll know which channels deserve more budget and which need to be cut.
How to Use ROI Data to Make Channel Decisions
When to cut spend on a channel
Cut spend when: cost-per-lead is consistently higher than your maximum acceptable CPL for two or more months, and you’ve already made structural fixes (match types, landing pages, targeting). Not because one month was bad.
Calculate your maximum acceptable CPL: take your average job value, multiply by your close rate, and multiply by your target ROI margin. If your job is worth $600, your close rate is 35%, and you need a 3:1 ROI, your maximum CPL is ($600 × 0.35) / 3 = $70. Consistently spending $150/lead means the channel isn’t working for your business at your margins.
For a specific troubleshooting framework when Google Ads conversions are low, see our guide to why Google Ads aren’t converting.
When to increase spend
Increase spend when: your cost-per-lead is well below your maximum acceptable CPL and you’re limited by budget (impression share below 60%), not by conversion rate. Scaling a channel that’s working is the highest-ROI marketing decision a small business can make.
How to present marketing results to a partner or stakeholder
Three numbers. That’s it. Spend: how much we put in. Leads: how many we got out. CPL: how much each lead cost. Then compare CPL to the revenue per closed customer. The conversation becomes: “we spent $1,400 and generated 22 leads at $63.64 each. At our 35% close rate, that’s 7.7 new customers at $800 average job value — $6,160 in revenue.”
If you’re not sure whether your current marketing is producing that kind of answer, run a quick audit at honest.designodin.com to get a baseline read on what your channels are actually producing. Or see how we structure Google Ads management and social media management to build trackable ROI from the start.
Frequently Asked Questions
What is a good ROI for digital marketing for a small business? The standard benchmark is 5:1 — five dollars of revenue for every dollar spent on marketing. Google reports a 2:1 average across all Google Ads accounts, but category averages range from 1.5:1 for competitive retail to 8:1 for high-margin services. “Good” depends on your margins. A 3:1 ROI on a 60% margin product is excellent. A 3:1 ROI on a 20% margin product may not cover overhead.
How do I know if my Google Ads are generating a positive return? Calculate your cost-per-lead from Google Ads. Multiply it by your close rate to get cost-per-customer. Compare cost-per-customer to average revenue per customer. If revenue-per-customer exceeds cost-per-customer by more than your margin requirement, the campaign has positive ROI. This calculation requires working conversion tracking.
Why does Google Analytics show different numbers than Google Ads? Attribution model differences, session timeout settings, and cross-device tracking gaps all cause discrepancies. Google Ads counts a conversion when someone clicks an ad and converts within the attribution window. GA4 assigns sessions to sources based on its own session logic. The two systems will rarely agree perfectly. Use Google Ads data for campaign decisions; use GA4 for overall traffic and behavior data.
What’s the simplest way to track marketing ROI without a big analytics setup? A spreadsheet with five columns: month, spend per channel, leads per channel, close rate, and revenue from those customers. Update it monthly. The data you need comes from three places: your Google Ads account (spend and conversions), your CRM or call log (close rate), and your bookkeeping (average revenue per customer). That’s the minimum viable measurement system.
How do I measure social media ROI when sales happen offline? Use UTM parameters in your social bio links and any links you share in posts. Track which social visitors complete your contact form. For phone-based businesses, ask new customers “how did you find us?” and record the answers. After three months, you’ll have enough data to estimate what percentage of your new customers first found you through social media.
What’s the difference between ROAS and ROI? ROAS (Return on Ad Spend) = Revenue ÷ Ad Spend. It ignores all other costs. ROI = (Revenue − All Costs) / All Costs. A 5:1 ROAS sounds strong, but if your product has 20% margins and production costs eat the remaining revenue, your actual ROI may be negative. Use ROAS for in-platform campaign comparisons. Use full ROI when making budget and resource allocation decisions.
How long should I run a campaign before measuring whether it’s working? At least 30 days and 100 clicks for Google Ads. Before that threshold, you don’t have enough data to distinguish performance problems from statistical noise. For social media, give a content strategy 60–90 days before drawing conclusions — social media algorithms reward consistency over time, and results in week one rarely reflect steady-state performance.