You’re spending $5,000 a month on marketing. But you don’t know which channel is making money.
Is it Google Ads? Local SEO? Social media? Referrals?
This is the #1 mistake: spending without tracking. You can’t optimize what you don’t measure.
Here’s how to track marketing ROI like a pro.
Step 1: Define Your Metrics
Before you track anything, define what success looks like.
Pick one primary metric:
- For lead-based businesses: Cost Per Lead (CPL)
- For e-commerce: Cost Per Sale (CPS)
- For SaaS: Cost Per Acquisition (CPA)
Then calculate backwards:
If you’re a roofing company:
- Average job value: $5,000
- Close rate: 30% (of leads that become customers)
- Cost per lead target: $150
- Monthly lead target: 30 leads = $4,500 spend
If you’re an e-commerce store:
- Average order value: $75
- Profit margin: 40%
- Advertising spend limit: 15% of revenue
- Cost per sale target: $10
Step 2: Set Up Call Tracking (For Service Businesses)
If your revenue comes from phone calls, you MUST have call tracking.
Set up CallRail or Attentive:
- Create a free CallRail account
- Get dynamic phone number for each marketing channel
- Replace your main phone with channel-specific numbers:
- Google Ads → (555) 123-4001
- Local SEO → (555) 123-4002
- Facebook Ads → (555) 123-4003
Now every incoming call is attributed to the correct channel.
Track this data:
- Which channel drove the call
- Call duration
- Whether they booked a job
- Job value
Step 3: Set Up Conversion Tracking (For E-commerce)
If you’re selling online, link your ads to your store.
Google Ads + Shopify:
- Go to Google Ads > Conversions
- Click ”+ Conversion”
- Select “Website”
- Copy the conversion tracking code
- Add to your Shopify thank-you page
- Now every purchase is tracked back to the Google Ads campaign that drove it
Meta Ads + Shopify:
- Install Meta Pixel on Shopify
- Track “Purchase” events
- Link back to Ad Account
Now you know: Campaign A drove 15 sales at $10 cost per sale. Campaign B drove 8 sales at $20 cost per sale.
Step 4: Calculate Your Key Metrics
Cost Per Lead (CPL)
Formula: Total ad spend ÷ Total leads
Example: $3,000 spend ÷ 30 leads = $100 CPL
Cost Per Customer (CPC) or Cost Per Acquisition (CPA)
Formula: Total ad spend ÷ Total customers acquired
Example: $3,000 spend ÷ 10 customers = $300 CPA
If your average job is $5,000 and you acquire 10 customers, that’s $50,000 in revenue from $3,000 spend = 16.7x ROI.
Customer Lifetime Value (CLV)
Formula: (Average order value × Purchase frequency) × Customer lifespan
For e-commerce: ($75 AOV × 4 purchases/year) × 2 years = $600 CLV
For services: ($5,000 job value × 1.5 jobs/lifetime) = $7,500 CLV
Once you know CLV, you can spend more to acquire customers. If CLV is $600, you can afford to spend $150 per customer ($25% of LTV). If CLV is $7,500, you can spend $2,000+ per customer.
Step 5: Understand Attribution Models
Most businesses attribute revenue wrong.
First-Touch Attribution: Customer sees Google Ad → clicks → leaves → comes back → calls → books job.
Attribution: Google Ads gets 100% credit.
Reality: Google Ad started it, but maybe email reminders or reviews moved them to decide.
Multi-Touch Attribution:
- Google Ad: 40% credit
- Email: 30% credit
- Google My Business: 20% credit
- Referral: 10% credit
This is more accurate but harder to set up.
For most small businesses: Use simple first-touch attribution for now. Start with Channel Level (Google Ads, SEO, Social, etc.) not keyword level.
Step 6: Create a Simple Dashboard
You don’t need software. A spreadsheet works.
Monthly tracking sheet:
| Channel | Spend | Leads | CPL | Customers | CPA | Revenue |
|---|---|---|---|---|---|---|
| Google Ads | $3,000 | 30 | $100 | 10 | $300 | $50,000 |
| Local SEO | $500 | 15 | $33 | 5 | $100 | $25,000 |
| $1,000 | 12 | $83 | 3 | $333 | $15,000 | |
| Referrals | $0 | 8 | $0 | 4 | $0 | $20,000 |
Now you see: Local SEO has the best CPL. Facebook has the worst CPA. Google Ads has best ROI overall.
Step 7: Optimize Based on Data
Once you have 30 days of data, optimize.
If CPL is too high:
- Improve ad quality score (Google Ads)
- Improve landing page experience
- Refine targeting (fewer impressions, better leads)
- Test new ad copy
If close rate is too low:
- Improve lead quality (target better keywords)
- Improve follow-up speed (call within 5 minutes)
- Train sales team better
If customer value is too low:
- Raise prices
- Add upsells
- Improve average order value
Common Attribution Mistakes
Mistake #1: Not tracking at all You don’t know ROI. You can’t optimize. You’re guessing.
Mistake #2: Only tracking last-touch Customer sees ad Monday, calls Thursday. You attribute to Thursday traffic source, ignoring the Monday ad.
Mistake #3: Mixing online and offline You measure digital ad ROI but forget about phone calls from those ads.
Mistake #4: Changing channels too fast SEO takes 3-6 months. You kill it after 6 weeks because no immediate leads. Give it time.
Mistake #5: Not accounting for seasonality Summer is slow for roofing. Winter is busy. Comparing summer and winter results is meaningless.
Your Action Plan This Week
- Define your primary metric (CPL or CPA)
- Set up tracking (Call tracking or conversion pixels)
- Create tracking sheet (spreadsheet)
- Collect 30 days of data (don’t optimize yet)
- Calculate your baseline metrics (current CPL, CPA, ROI)
By month 2:
- Identify best-performing channel
- Double down on it
- Cut or improve worst-performing channel
By month 3:
- Have clear ROI by channel
- Know what you can afford to spend per customer
- Forecast revenue based on spend
Most marketing fails because people don’t measure it. You will. That’s your advantage.
Want to see what metrics your competitors are likely achieving? We’ll break down their likely ad spend, leads, and ROI. Free competitor analysis.