This guide is for an HVAC shop with roughly 5 to 25 techs that wants more booked calls and installs without guessing at marketing. The economics are simple. A replacement ticket runs $8,000 to $14,000 and a repair $300 to $800, so one booked install covers a month of agency fees. Typical retainers for a shop this size run $2,000 to $5,000 a month, with ad spend on top.
Demand peaks in the first heat wave and the first cold snap. The shoulder months are when lead volume has to be bought, and that is where the choices below matter.
Get the license and the Google Business Profile in order before spending anything
Google Local Services Ads and most lead marketplaces check your state HVAC license before a profile goes live. Pull the license number, the insurance certificate and the business registration into one folder before you apply anywhere. Then claim and complete the Google Business Profile: correct categories, service area, hours and a phone number that rings a person. Every paid channel sends traffic back to that profile or to your site, so gaps there waste the budget. The drawback is time. Verification can take weeks, and a mismatch between the license name and the business name stalls the application.
Run Local Services Ads before PPC
LSA is available for HVAC in every US metro, and most agencies on the listing page run it. You pay per lead. There is no charge per click. The Google Guaranteed badge appears above the regular ads, and you can dispute leads that were spam or outside your area. Set a weekly budget, keep the profile hours accurate, and answer every call, because missed calls lower your placement. The honest limit is volume. LSA fills from search demand and from your review count, so a new shop with few reviews gets fewer leads than it has budget for. Add PPC on top only once LSA is spending its full budget each week.
Buy marketplace leads for the shoulder months and track the cost per booked job
Marketplaces sell leads one at a time and can be switched on and off, which suits the slow months. Angi charges per lead whether or not you win the job, with advertising sold separately. Other marketplaces on the listing page work the same way, with lead fees that vary by location and job type, and some sell the same lead to several contractors. Track the cost per booked job. Cost per lead on its own tells you little. Drop any source whose booked cost exceeds what a repair ticket earns, and expect to call back within minutes to win a shared lead. The drawback is that marketplace homeowners are often price shopping.
Put call tracking on every channel before you hire anyone
An agency report that says leads are up is hard to check unless each channel has its own tracked number. CallRail is the most widely used call-tracking tool in home services, bills monthly, and integrates with ServiceTitan and HubSpot, so booked jobs can be matched back to their source. Set up one number per channel: LSA, PPC, the website, each marketplace, the truck wraps. After 60 days you will know which channel produces booked installs and which produces tire kickers. The drawback is another subscription and some setup work. Tracking numbers need care on the Google Business Profile so the primary business number stays consistent across the web.
Hire an agency for the channels you cannot run in-house
With tracking in place you can judge an agency on booked jobs. Hook Agency runs SEO, PPC, LSA, websites and social for contractors, with PPC from around $2,000 a month and SEO quoted at $2,000 to $4,800 a month. It publishes its own listicles and ranks itself in them. Blue Corona starts around $2,500 a month, focuses on analytics and lead attribution, integrates with ServiceTitan, and client quotes report no long-term contracts. Ask any agency three things: who owns the ad accounts, what the exit terms are, and how booked jobs are reported. The drawback of any retainer is the fixed cost through the slow months. Fund it from install margin in peak season.
Review the numbers each quarter and cut what does not book
Three months is long enough to judge a channel in HVAC, provided the period includes a seasonal peak or a full shoulder period. Pull booked jobs and revenue per source from your call tracking and your dispatch software. Keep LSA running as the base. Scale PPC only where cost per booked job stays under the margin on a repair ticket. Pause marketplaces that send shared leads you keep losing. Renegotiate or end an agency retainer that cannot show booked installs. The limit of this step is sample size. A shop booking 30 installs a quarter sees noisy numbers, so compare against the same quarter last year.
The full list of agencies and tools for this is at HVAC contractors: get more leads.