This case study shows what small business growth with Google Ads actually looks like when you run it the right way. A local HVAC company in Tampa, Florida started with a $1,500 monthly budget and inconsistent lead flow. Over six months it grew from 25 leads per month to 80, cut cost per acquisition from $60 to $25, and pushed monthly revenue from $4,000 to $16,000. You will see the exact structure, keywords, landing page changes, and tracking setup that produced an 8.0x return on ad spend on a modest budget.
- The Business and the Starting Point
- Watch: How This HVAC Company Grew With Google Ads
- The Goals and Budget Constraints
- What the Audit Found
- How Competitors Were Winning
- Campaign Structure and Keyword Strategy
- Ad Copy, Landing Pages, and Tracking
- The Results After Six Months
- Lessons You Can Apply to Your Business
1The Business and the Starting Point
This case study focuses on a local home services company that handles residential HVAC installation and repair in Tampa, Florida. The climate is hot and humid, so demand for air conditioning spikes in the warmer months, which makes the business highly seasonal. The company serves homeowners within a 25 to 30 mile radius and runs two service trucks with skilled technicians.
Before running Google Ads, the company relied on referrals, repeat customers, and traditional local marketing. That gave it very little control over how many leads came in or when they came in. Weekdays were often underbooked, especially during slower periods. The customers it wanted are homeowners who make maintenance decisions for single-family homes, often dual-income families searching on mobile devices during evenings or weekends with terms like "AC repair near me" or "emergency AC repair Tampa." Most of them compare two or three providers before hiring, and they weigh Google reviews, transparent pricing, clear service areas, and local trust.
The starting numbers explain the problem. The business generated $35,000 to $40,000 in monthly revenue, but seasonal swings made planning hard. It brought in 25 to 30 inbound leads per month from phone calls and form submissions, and when you factored in mailers and print ads, the cost per lead ran $120 to $150. The website pulled only 600 to 800 sessions per month with almost no tracked conversions, so nobody could say which channel was actually producing customers.
| Starting Metric | Value |
|---|---|
| Monthly revenue | $35,000 to $40,000 |
| Inbound leads per month | 25 to 30 |
| Cost per lead | $120 to $150 |
| Website sessions per month | 600 to 800 |
| Direct competitors on search | 5 to 7 |
The competition made it harder. Five to seven direct competitors were running search campaigns, and larger national and franchise brands dominated local results. Many competitors had 100 or more Google reviews and strong visibility in the Google Maps pack, setting a high bar with same-day service, financing, and maintenance plans. On top of that, tracking was almost nonexistent. The site used basic Google Analytics that recorded pageviews but not calls or form submissions, so the owner was guessing at cost per lead, return on ad spend, and lifetime value.
Question to Answer:
Do you actually know your current cost per lead, or are you estimating it from memory the way this owner was?
2Watch: How This HVAC Company Grew With Google Ads
Before you read the full breakdown, watch this walkthrough. It covers how a small Google Ads budget turned into real revenue for one HVAC company, and it lines up directly with the strategy in the sections below.
Question to Answer:
As you watch, which single change do you think would move the needle most on your own account?
3The Goals and Budget Constraints
The owner set clear goals for the first three to six months. The point of writing them down was to make optimization decisions objective instead of emotional.
- Double qualified leads from 25 to 30 per month up to 50 to 60 per month, with the focus on high-intent service calls rather than any click.
- Increase monthly revenue from roughly $40,000 to $55,000 or $60,000, keeping both trucks booked and raising average job value through system replacements and maintenance plans.
- Hit a ROAS of 4:1 or higher, meaning at least $4 in tracked revenue for every $1 spent, with a longer-term target of 5x to 6x as the campaigns matured.
These goals only work if you track cost per lead, close rate, and average ticket size. To stay profitable, the owner wanted cost per lead under $80, based on an average job value of $450 to $650 and a close rate of 40 to 50 percent on booked estimates.
The starting budget was $1,500 per month, or about $50 per day, which represented 60 to 70 percent of total marketing spend after cutting weaker print and directory ads. Maximum cost-per-click targets were set at $12 to $18 for core terms like "AC repair" and "HVAC near me," based on local benchmarks. That budget was designed to produce meaningful data within 30 to 60 days without straining cash flow. If you want to understand how those click costs are set in the first place, read our breakdown of how much Google Ads costs.
Because the budget was tight, the plan carried real constraints. Geographic targeting was capped at a 15 to 20 mile radius around profitable ZIP codes and higher-income neighborhoods. Campaigns used a mix of exact and phrase match keywords to capture high-intent searches while avoiding broad terms that drain a small budget. Ads ran from 7 a.m. to 9 p.m. local time, matching the hours when someone could actually answer the phone.
Question to Answer:
Is your monthly budget tied to your close rate and average job value, or did you pick a round number and hope it works?
4What the Audit Found
The audit uncovered problems in every part of the account. The structure was the first one. Every keyword sat inside a single campaign instead of being split by theme, service, or location, so there was no clean way to see which terms produced results or to adjust bids.
The keyword strategy was worse. It leaned on broad match with almost no negative keywords, so ads showed up for searches like "HVAC training courses" and "HVAC jobs in Tampa." Those clicks had zero chance of becoming customers, and every one of them spent money. A disciplined negative keyword list would have caught most of that waste, which is why we treat negative keywords as a core part of any small budget account.
The main problems the audit surfaced
- All keywords crammed into one campaign with no thematic structure
- Broad match keywords with almost no negatives, triggering irrelevant clicks
- Generic ad copy with no sitelinks, callouts, or call extensions
- Conversion tracking missing or set up incorrectly, so calls and forms went unmeasured
- Cluttered landing pages with buried phone numbers and long forms
- Mobile load times over 5 seconds on a site that was not fully responsive
- No remarketing tags and no separation of search, display, and remarketing
Tracking was the most damaging gap. Conversion tracking was either missing or broken, so there were no tags measuring form submissions or phone calls. Without that data, the owner could not tell which campaigns or keywords produced leads, which meant every optimization decision was a guess.
The landing pages worked against the ads too. They were cluttered, the messaging was mixed, and the contact information sat in the footer, which is the worst place for it on mobile. Forms asked for too much information for someone who just wanted a quick quote. The site took over 5 seconds to load on mobile, so many visitors left before the page finished rendering, and the lack of reviews, certifications, or guarantees meant even the traffic that stayed rarely converted.
Question to Answer:
If you pulled your search terms report right now, how many clicks last month came from searches you never wanted to pay for?
5How Competitors Were Winning
A competitive review explained why the business kept losing visibility. Competitors ran well-organized campaigns with tightly focused ad groups that separated emergency repair, routine maintenance, and installation. They targeted specific terms like "emergency AC repair Tampa" and "HVAC installation Carrollwood" instead of generic phrases.
They also used ad extensions fully. Their ads carried sitelinks to specific service pages, callouts that highlighted selling points, and call extensions that let mobile users tap to call straight from the results. The ad copy pushed clear advantages like "24/7 Service," "100+ 5-Star Reviews," and "Transparent Pricing."
Their landing pages matched their ads. Clicking an ad for "AC repair" sent you to a dedicated AC repair page, not a generic homepage, and those pages had clear calls to action, visible phone numbers, short forms, testimonials, and trust badges. Competitors backed this up with strong Google Business Profiles carrying 4.5 stars or higher, recent reviews, and regular updates, which strengthened their position in local and Maps results.
The targeting was smarter as well. Competitors used precise geo-targeting on profitable areas and adjusted bids by device, often bidding higher on mobile where "near me" searches concentrate. Many layered remarketing lists and in-market audiences on top. The takeaway was simple. Competitors were not just spending more money, they were spending it with better structure, better intent, and consistent name, address, and phone information across directories.
Question to Answer:
When someone clicks your ad for a specific service, do they land on a page about that exact service or on your homepage?
6Campaign Structure and Keyword Strategy
The rebuild started with structure. The strategy put 70 to 80 percent of the budget into dedicated Google Search campaigns to capture "near me" and localized demand, then organized those campaigns by theme so budget and reporting stayed clean.
- Brand campaign: protected searches for the company name so competitors could not take cheap, high-converting traffic.
- Core Service campaigns: split by service category such as emergency repair, installation, and maintenance, with ad groups built around intent like emergency needs, pricing questions, and financing.
- Location campaign: targeted city names, neighborhoods, and ZIP codes inside the primary service area, weighted toward high-value neighborhoods.
- Performance Max campaign: added once tracking was solid and the account produced 20 to 30 conversions per month, using 20 to 30 percent of the budget to find more converting traffic across Search, Maps, YouTube, and Display.
- Remarketing campaigns: ran on Display and YouTube to re-engage visitors who viewed service pages but did not convert, with messages like "Still need AC repair? Call today for same-day service."
If you want to see how that automated campaign type fits alongside Search, our guide to Google Ads Performance Max covers when to add it and how to keep it from cannibalizing your best keywords.
Keyword research focused on commercial phrases that signal purchase intent. Using Google Keyword Planner, the team reviewed search volume, competition, and cost-per-click estimates to build a list that included "AC repair near me," "emergency HVAC Tampa," "AC installation cost," and "best HVAC company in [city]." As results came in, the monthly budget grew to about $2,000, roughly $65 per day, split 60 to 70 percent to core Search, 20 to 30 percent to Performance Max, and the rest to remarketing.
To control costs, the account started on exact and phrase match keywords so ads only showed for targeted phrases, and broad match came later once conversion data could guide smart bidding. A well-maintained negative keyword list filtered out DIY tutorials, job seekers, and training programs, and weekly search term reviews kept refining it. The bidding strategy evolved the same way. It opened on Maximize Conversions with a capped daily spend to gather baseline data, then moved to Target CPA aiming for $40 to $60 once the account produced 20 to 30 conversions per month. Budgets on winning campaigns rose 10 to 20 percent every two to four weeks while weak campaigns were scaled back. If you are choosing between these approaches, our guide to Google Ads bidding strategies explains when each one makes sense.
Question to Answer:
Are your campaigns split by service and location, or is everything sharing one budget and hiding your real performance?
7Ad Copy, Landing Pages, and Tracking
Ad copy was rewritten to speak to local customers with a real problem. Headlines combined the problem, the location, and urgency, with examples like "Emergency AC Repair in Tampa, 24/7 Local Technicians," "AC Not Cooling? Same-Day Service in Carrollwood," and "Licensed HVAC Installation, Serving Tampa Since 2010." The body copy pushed benefits like "Upfront Pricing, No Hidden Fees," "Rated 4.9 Stars on Google," and "Financing Available," paired with direct calls to action such as "Call Now for a Free Quote" and "Book Your Same-Day Service."
Extensions did the rest of the work on the results page. Call extensions showed a phone number for direct contact, location extensions tied to the Google Business Profile built local trust, sitelinks pushed users to specific service pages, and callouts reinforced points like "Veteran-Owned," "24/7 Support," "Warranty Included," and "Free Estimates." Tighter, more relevant ads also help your Quality Score, which lowers your cost per click over time.
Landing pages were rebuilt to match the ads. Each ad group pointed to a dedicated page instead of the homepage, so someone searching "emergency AC repair Tampa" landed on a page about emergency AC repair with matching keywords and messaging. Those pages showed Google review ratings with star counts and real customer excerpts, plus recognizable trust signals like BBB accreditation, state licensing, and "Licensed and Insured in Florida." Above-the-fold calls to action and short forms that asked only for name, phone number, ZIP code, and a brief description reduced friction and lifted conversion rates.
Tracking held all of it together. Conversion tracking was implemented through Google Tag Manager to record phone clicks and form submissions, and weekly reviews optimized bids, paused weak keywords, and refined the negative list. That is the piece that turns a campaign from guesswork into a measurable system.
Question to Answer:
Can you tell today which specific keyword produced your last booked job, or does the trail go cold at the click?
8The Results After Six Months
The campaign ran from January to June 2024, and the numbers improved month by month as the optimizations compounded. The clearest way to see it is the before and after.
| Metric | Before (Dec 2023) | After (June 2024) |
|---|---|---|
| Monthly ad spend | $1,500 | $2,000 |
| Leads per month | 25 | 80 |
| Cost per acquisition | $60 | $25 |
| Monthly revenue | $4,000 | $16,000 |
| Return on ad spend | 2.7x | 8.0x |
| Click-through rate | 3.2% | 6.8% |
| Landing page conversion rate | 4% | 10% |
Ad spend rose only $500, from $1,500 to $2,000, but leads jumped from 25 to 80 and cost per acquisition dropped from $60 to $25. Click-through rate more than doubled from 3.2 percent to 6.8 percent, landing page conversion rate went from 4 percent to 10 percent, impressions grew 45 percent, and clicks surged 112 percent. With a typical customer lifetime value near $1,200 once you count repeat business and referrals, the lower cost per acquisition made each new customer highly profitable.
The gains reached past the ad account. Branded searches rose 30 percent after three months of steady exposure, and direct traffic climbed with it. A steady flow of 18 to 20 qualified leads per week made scheduling and inventory planning easier and supported hiring another technician in May 2024. Lead quality improved too, with 60 percent of leads now service-ready compared to 35 percent before. Better tracking also showed which calls and forms became jobs, which pushed the owner to add a simple CRM and faster follow-up, and that lifted the close rate from 40 percent to 52 percent. By August 2024, six straight months above 6.0x ROAS gave the owner the confidence to test expansion into a neighboring city 15 miles away.
Question to Answer:
If you doubled your close rate and your conversion rate like this business did, what would that do to the budget you can justify?
9Lessons You Can Apply to Your Business
You do not need a large budget to get results like this. You need discipline in a few specific places.
- Set up tracking before you spend real money: conversion tags and analytics showed exactly which campaigns and keywords produced leads under the target cost per acquisition. Without that data, every decision is a guess.
- Structure the account by theme: separating brand, service, and location campaigns made the budget more effective and made performance easy to read, so money flowed to what worked.
- Treat optimization as ongoing work: weekly search term reviews, bid adjustments, and landing page tweaks drove the steady gains. This is a routine, not a one-time setup.
- Match high-intent keywords to dedicated pages: pointing terms like "AC repair near me" at pages built for that exact service is what pushed conversion rate from 4 percent to 10 percent.
- Base your budget on your numbers: the $2,000 budget was calculated from a target cost per acquisition of $40 to $60, average customer value, and close rate, not a round guess.
- Maintain a negative keyword list: weekly reviews filtered out DIY searches and job inquiries, which protected a small budget from wasted clicks.
If you would rather move faster than the do-it-yourself path allows, that is a reasonable choice. You can learn the full system inside the Google Ads course, get a second set of eyes through Google Ads consulting, or hand the account off entirely with Google Ads management services. If you are not sure which fits, reach out through the contact page and describe where your account stands today.
Question to Answer:
Which of these six lessons is the one your account is missing right now?
In Summary
Small business growth with Google Ads is not about outspending larger competitors. This HVAC company started with a $1,500 monthly budget, weak tracking, and a single disorganized campaign, and it competed against brands with 100 or more reviews. The fix was structural. It rebuilt the account by service and location, moved to high-intent keywords with a maintained negative list, matched every ad group to a dedicated landing page, and set up conversion tracking that finally told the truth about which clicks became jobs.
The payoff was clear. Over six months, leads grew from 25 to 80 per month, cost per acquisition fell from $60 to $25, revenue climbed from $4,000 to $16,000, and return on ad spend reached 8.0x. Click-through rate and landing page conversion rate both roughly doubled, and the close rate rose from 40 percent to 52 percent as follow-up improved.
You can apply the same approach whether you run a service business, an ecommerce store, or a professional practice. Track every conversion, structure your campaigns, focus on high-intent keywords, and optimize on a schedule. Do those four things consistently and a modest budget can produce results that fund real growth.
0 comments