Your Website's Real ROI: A Framework for Measuring What Matters

Written by Ted·March 11, 2026·11 min read

Most small business owners can tell you their monthly website traffic. Almost none can tell you their Revenue Per Visitor.

That gap is where money disappears.

81% of consumers research a business online before making a purchase (Marketing Scoop, 2025). 73% of marketing teams struggle with Google Analytics 4 setup (Semrush, 2025). The result: businesses invest in websites and marketing without any way to measure whether it is working.

Traffic is not a business metric. Revenue is. This framework connects the two.

Dashboard screen showing website analytics transforming into revenue charts with a magnifying glass focusing on key metrics

The Vanity Metrics Trap

Open any website analytics dashboard. The numbers that jump out first are almost always the least useful:

  • Page views -- how many pages were loaded. Says nothing about whether anyone took action.
  • Total visitors -- how many people showed up. Does not tell you if the right people showed up.
  • Bounce rate -- what percentage left after one page. A high bounce rate on a contact page might mean people found your phone number immediately and called. That is a win, not a loss.
  • Time on site -- how long they stayed. A confused visitor who cannot find your phone number stays longer than one who calls in 10 seconds.

These metrics feel good in a monthly report. They do not pay bills.

Forrester Research found that businesses which align their metrics to actual business objectives experience 32% higher revenue growth (Forrester, 2024). The problem is not a lack of data. The problem is measuring the wrong things.

The Revenue Per Visitor (RPV) Framework

RPV is the single number that tells you whether your website is a revenue engine or a digital brochure. The formula:

Revenue Per Visitor = (Monthly Website-Attributed Revenue) / (Monthly Unique Visitors)

For a home services company: if your website generates 20 calls per month, 12 of those become jobs, and your average job value is $800, your website-attributed revenue is $9,600. If you had 1,500 unique visitors that month, your RPV is $6.40 per visitor.

That number changes everything about how you make decisions:

  • Should you invest in SEO? If SEO brings 200 more visitors per month at $6.40 RPV, that is $1,280/month in additional revenue.
  • Is your new website worth it? If your old site had an RPV of $3.20 and the new one hits $6.40, you doubled revenue per visitor without adding any traffic.
  • Should you run Google Ads? If ads cost $5 per click and your RPV is $6.40, every dollar spent returns $1.28.

RPV makes every marketing decision a math problem instead of a guess.

Funnel diagram showing website visitors entering at the top and revenue coming out at the bottom with measurement icons at each stage

The Four Metrics That Actually Matter

RPV is the headline number. These four metrics are its components. Track all four and you can diagnose exactly where revenue leaks occur.

1. Conversion Rate (Visitor to Lead)

What it measures: The percentage of website visitors who take a meaningful action -- call, fill out a form, request a quote.

Benchmark: The average B2C website conversion rate is 3.9% (First Page Sage, 2026). Home services search ad conversion rate averages 7.33% (LocaliQ, 2025). Organic website traffic typically converts at 2.4% for SEO-driven visits (SeoProfy, 2026).

If your contractor website converts below 2%, something is broken -- your call-to-action is buried, your site is slow, or your content does not match what visitors are searching for.

How to improve it: Every page needs a visible, specific call-to-action. Not "Contact Us" buried in the footer. A sticky click-to-call button on mobile. A form above the fold on desktop. Emergency service badge if you offer 24/7 availability.

2. Lead-to-Customer Rate (Lead to Job)

What it measures: The percentage of website leads that become paying customers.

Benchmark: Home services businesses close 30-50% of qualified leads on average (InnerSpark Creative, 2025). If your close rate is below 25%, the issue may be lead quality (your website attracts the wrong people) or response time (you take too long to call back).

How to improve it: Speed kills. Responding to a web lead within 5 minutes makes you 100x more likely to connect versus waiting 30 minutes (Lead Response Management Study). Your website should route leads to your phone instantly, not into an email inbox you check twice a day.

3. Average Job Value

What it measures: The average revenue per completed job from website-sourced leads.

Benchmark: Varies wildly by trade. HVAC averages $500-$1,200 per repair, $5,000-$15,000 per installation. Plumbing averages $200-$800 per service call. Landscaping averages $300-$2,000 per project.

Why it matters for website ROI: If your website attracts mostly small repair jobs but your profit margin lives in installations, your content strategy is wrong. The pages you build and the keywords you target determine which customers find you.

4. Customer Lifetime Value (CLV)

What it measures: Total revenue from a customer over their entire relationship with your business.

Benchmark: The average residential HVAC customer lifetime value is $15,340 (Leads4Build, 2025). A plumbing customer who uses you for annual maintenance plus emergencies over 10 years is worth $5,000-$12,000.

Why it matters: A website visitor who becomes a maintenance plan customer is worth 10-20x more than a one-time emergency call. If your website does not promote recurring services, you are leaving the most valuable revenue on the table.

How to Calculate Your Website ROI (The 30-Minute Method)

You do not need enterprise analytics tools. Here is the minimum viable tracking setup for any small business.

Calculator next to a contractors hard hat and laptop with abstract floating numbers and upward arrows representing ROI calculation

Step 1: Count Your Website Leads (10 Minutes)

Phone calls: Use a dedicated tracking number on your website (CallRail, WhatConverts, or even a separate Google Voice number). Every call to that number came from your website. Cost: $30-50/month for basic call tracking.

Form submissions: Count form submissions in your email inbox or CRM. If you use Google Analytics 4, set up a "Key Event" that fires when someone hits your thank-you page after submitting a form.

Chat/text inquiries: If you have a chat widget or texting feature, count those separately.

Total monthly leads = calls + forms + chats from your website.

Step 2: Track Which Leads Become Jobs (10 Minutes)

This requires one habit: when a new customer calls, ask "how did you find us?" and log the answer. A simple spreadsheet works:

| Date | Customer | Source | Job Value | |---|---|---|---| | Mar 1 | Smith | Website | $450 | | Mar 3 | Jones | Google Ads | $1,200 | | Mar 5 | Davis | Referral | $800 |

After 30 days, filter for "Website" and you have your website-attributed revenue.

Step 3: Calculate RPV (5 Minutes)

Divide website-attributed revenue by unique visitors (from Google Analytics or any analytics tool).

Example: - 1,200 unique visitors - 48 leads (4% conversion rate) - 18 jobs closed (37.5% close rate) - $14,400 total revenue ($800 avg job value) - RPV = $12.00 per visitor

Step 4: Calculate Website ROI (5 Minutes)

Website ROI = (Website-Attributed Revenue - Website Cost) / Website Cost x 100

Using the example above: - Monthly revenue from website: $14,400 - Monthly website cost (hosting + maintenance): $300 - ROI = ($14,400 - $300) / $300 x 100 = 4,700%

That is a $300/month investment generating $14,400/month in revenue. For every dollar spent, $48 comes back.

RPV Benchmarks by Industry

These benchmarks help you understand where you stand relative to your trade. Numbers are based on industry conversion rates (First Page Sage, 2026; LocaliQ, 2025) and average job values from trade associations.

| Industry | Avg Conversion Rate | Avg Job Value | Estimated RPV | |---|---|---|---| | HVAC | 3-5% | $800 | $8-16 | | Plumbing | 3-5% | $400 | $4-8 | | Electrical | 2-4% | $500 | $4-8 | | Roofing | 2-3% | $8,000 | $48-96 | | Landscaping | 3-5% | $600 | $6-12 | | General Contractor | 1-3% | $15,000 | $45-135 |

The takeaway: High-ticket trades like roofing and general contracting have enormous RPV even with low conversion rates. A single additional visitor who converts is worth thousands. Low-ticket, high-frequency trades like plumbing need higher conversion rates to drive meaningful RPV.

The Five Revenue Leaks (And How to Find Them)

If your RPV is below your industry benchmark, the problem lives in one of five places. Diagnose them in order.

Leak 1: Wrong Traffic

Symptom: High traffic, low conversion rate (below 2%).

Diagnosis: Your visitors are not your customers. Check Google Analytics for top landing pages and search queries. If your HVAC site gets traffic for "HVAC salary" or "how to become an HVAC tech," those are job seekers, not customers.

Fix: Audit your content. Remove or rewrite pages that attract the wrong audience. Focus on "[service] + [city]" pages that match buyer intent.

Leak 2: Slow Site

Symptom: Decent traffic from the right keywords, but conversion rate still low.

Diagnosis: Your site loads too slowly. Portent found that conversions drop 4.42% for each additional second of load time. NitroPack documented that passing Core Web Vitals leads to 15.1% more page views per session (NitroPack, 2026). A 5-second load time loses roughly 20% of potential conversions versus a 1-second site.

Fix: Test at pagespeed.web.dev. If you score below 50 on mobile, your site is actively repelling customers.

Leak 3: No Clear CTA

Symptom: Good traffic, fast site, but visitors leave without calling or filling out a form.

Diagnosis: Your call-to-action is invisible, vague, or buried. "Contact Us" in the navigation bar is not a CTA. A phone number in 12px font in the footer is not a CTA.

Fix: Sticky click-to-call button on mobile. Phone number in the header on desktop. Specific CTAs on every service page: "Call now for a free AC inspection" beats "Get in touch."

Leak 4: Slow Follow-Up

Symptom: Good lead volume, but low close rate (below 25%).

Diagnosis: You are not responding fast enough. The average home services company takes 42 minutes to respond to a web lead (ServiceTitan data). By then, the customer has already called your competitor.

Fix: Route web form submissions directly to your phone as text messages. Set up auto-response emails that confirm receipt within 60 seconds. Call every web lead within 5 minutes.

Leak 5: No Recurring Revenue

Symptom: Decent RPV but flat revenue month over month.

Diagnosis: Every customer is a one-time transaction. You are spending money to acquire the same types of customers over and over without building long-term value.

Fix: Promote maintenance plans, annual service agreements, and seasonal tune-ups on your website. A page dedicated to your maintenance plan -- with pricing, benefits, and a sign-up form -- converts one-time customers into recurring revenue.

The Website ROI Dashboard (What to Check Monthly)

Build this in a spreadsheet. Update it on the first of every month. It takes 15 minutes.

| Metric | Jan | Feb | Mar | Trend | |---|---|---|---|---| | Unique visitors | | | | | | Total leads (calls + forms) | | | | | | Conversion rate | | | | | | Jobs closed from website | | | | | | Close rate | | | | | | Website-attributed revenue | | | | | | RPV | | | | | | Website cost | | | | | | ROI | | | | |

What to look for: - RPV trending up = your website is getting more efficient at generating revenue - Conversion rate dropping = something changed on your site (slower load, broken form, poor mobile experience) - Traffic up but revenue flat = you are attracting the wrong visitors - Close rate dropping = lead quality issue or response time issue

What This Looks Like in Practice

A plumbing company with a 5-year-old WordPress site: - 800 visitors/month - 2% conversion rate = 16 leads - 30% close rate = 4.8 jobs - $400 average job value = $1,920/month - RPV: $2.40

Same company after a Ted-built site with proper CTAs, speed optimization, and service-specific pages: - 800 visitors/month (same traffic) - 5% conversion rate = 40 leads - 35% close rate = 14 jobs - $450 average job value = $6,300/month - RPV: $7.88

Revenue increase: $4,380/month -- from the same 800 visitors. No additional ad spend. No additional marketing. Just a website that converts.

The $500 build cost paid for itself in 3.4 days.

Stop Guessing. Start Measuring.

Your website is either making you money or it is not. RPV tells you which. The 30-minute tracking setup described above gives you the answer -- no enterprise tools, no agency dashboards, no monthly reports full of vanity metrics.

One number. Revenue Per Visitor. Track it monthly. Every decision gets easier.

Test your current site speed at pagespeed.web.dev. Get your free website score at sitesByTed.com -- including a conversion readiness assessment that identifies exactly where your revenue leaks are.

Need a website that works as hard as you do?