Draw the map by bridge and tunnel, because a mile in Manhattan is not a mile
Distance is the wrong unit in a city where a five mile job can take ninety minutes, and where the parking is the hard part.
Radius targeting is the default and it is wrong from the first click. A circle around a Long Island City shop covers open water, an airport, and a stretch of Manhattan you may not want at all. It also cuts through neighborhoods you serve well.
Build target lists from ZIP codes or named neighborhoods instead, chosen by where a van actually gets and back. Then split the account by borough. Manhattan, Brooklyn, Queens, the Bronx and Staten Island have different costs, different win rates and different job mixes, and averaging them together hides all of it.
Set targeting to people physically in your service area rather than people showing interest in it. The interest setting quietly buys clicks from anyone anywhere researching New York, which in a city this famous is a large and useless audience.
If you take work in Nassau or Westchester, that is a separate campaign with its own budget and its own honest travel math, not a wider circle.
A no-heat search from a rental apartment is a landlord's problem, not a lead
A large share of this city rents, and a tenant with no heat generally calls the landlord or the city, not a contractor.
Your ads will collect those clicks anyway, because the search looks identical to one from an owner. In a dense borough it can be a meaningful share of what you pay for, and none of it books.
Reduce it with language. Ads and landing pages that speak to owners, buildings, co-op shareholders and managing agents filter more effectively than any bid adjustment. Say who you work for in the ad copy, not on page two of the site.
Qualify at the top of the form as well. One question about whether the caller owns the unit or manages the building removes a large volume of unbillable conversations before anyone in your office picks up.
Then flip it around and build the campaign you are missing. The landlord with a portfolio of walk-ups and the managing agent with a dozen buildings are the buyers worth chasing, and they search differently. Give them their own keywords, their own ads and their own page.
Steam boiler work and ductless installs cannot share a campaign or a budget
The buyer, the ticket size, the sales cycle and the season all change between them, so a single campaign averages them into a number that means nothing.
Break the account by job type before you break it by anything else. Emergency service. Boiler and steam system work. Ductless and mini split retrofits in brownstones and walk-ups with no duct space. PTAC and through-wall replacement. Light commercial and rooftop units.
Each gets its own budget, its own landing page and its own bid. An emergency click and a retrofit click are worth different amounts because they resolve on different timelines and at different values.
Long-cycle campaigns need their own conversion definition too. A retrofit inquiry that goes to a board is not a failure because it did not close in fourteen days, and an account optimizing on a short window will starve exactly the campaigns that produce your best work.
Resist the urge to consolidate for simplicity. A tidy account with three campaigns is easier to read and much harder to control.
Window units, Con Edison bills and DIY searches will eat a Brooklyn budget by Thursday
Exclusions matter more here than in any other market because the volume of near-miss searching is enormous.
The recurring categories are predictable. People shopping for a window air conditioner. People trying to understand a Con Edison bill or check an outage. People looking for parts, filters, or a how-to video. People looking for a job with an HVAC company. Real estate listings that mention central air.
None of that is fixable at the campaign level. It is fixed by reading the search terms report every week for the first several months and adding negatives with a heavy hand. The list is the asset, and it takes real time to build.
Turn off Display and search partners unless you have a reason to want them. In a market with this much volume, they will spend a residential budget quickly and produce inquiries your dispatcher will not recognize.
Review placements and audiences on the same schedule. The account does not get cheaper on its own, and platform defaults are set to spend.
A January spike converts in March, because the board meets first
Pacing built on the assumption that a click becomes a job this week will make good campaigns look broken.
Emergency demand does close same day, and it is the part of the account that can be judged quickly. Everything else is slower, and in buildings with a board it is slower still, through no fault of the caller or your sales process.
Pace against dispatch capacity rather than against the calendar. During a cold snap, more spend does not produce more revenue if you cannot staff the calls. It produces missed calls and bad reviews. Turning budget down for a week is sometimes the correct move.
Give the heating season its share. In this city the winter work is heavy and the equipment is old, and a budget spread in twelve equal parts underfunds exactly the months when the phone would ring.
Set conversion windows long enough to capture approvals. If the window closes before the board meets, the platform learns that your best campaign does not work.
Cost per booked job means nothing until you subtract the walk-up you lost money on
Two jobs acquired at the same cost can have completely different economics once access is counted.
A fifth floor walk-up with a stair carry, or a building where the freight elevator has to be booked days ahead, consumes hours that a suburban job does not. If your reporting stops at cost per booked job, those hours are invisible and the segment looks fine.
Feed the platform booked jobs rather than form fills. Import the outcome from your dispatch or CRM system so bidding optimizes toward work you actually performed, not toward whoever fills in a form fastest.
Then report by borough and by job type together. You will usually find one or two segments with an acceptable cost per lead and unacceptable margin, and those are the ones to cut or reprice rather than to optimize.
Pricing that looks high against a national average is not high here. It reflects a different job. An account that books work at a price which covers the access is healthier than one that books more work at a price that does not.
Questions we actually get
- Is Google Ads even affordable for an independent HVAC shop in New York?
- It can be, but not with a broad account. Clicks on the widest phrases are expensive and heavily contested. Accounts that work here are narrow: specific job types, specific boroughs, aggressive exclusions, and a landing page that qualifies rather than one generic contact form. The goal is fewer clicks that fit, not more clicks.
- How much budget do we need to start?
- That depends on your job mix, your service area and your dispatch capacity, and any agency quoting a figure before seeing those is guessing. What matters more at the start is that budget is not spread thin across five boroughs at once. One or two boroughs funded properly will teach you more than the whole city funded badly.
- Should we run separate campaigns for heating and cooling?
- Yes, and usually more separation than that. Emergency service, steam and boiler work, ductless retrofits and light commercial all behave differently enough to justify their own budgets and landing pages. They peak at different times of year and they close on different timelines.
- What do you do about clicks from renters?
- Filter with copy and with the form rather than hoping bids will do it. Speak to owners, boards and managing agents in the ad itself, ask early whether the caller owns or manages the unit, and keep adding negatives for the search patterns that turn out to be tenant traffic. Some of it is unavoidable and should simply be priced in.
- How do you measure whether the spend is working?
- By imported outcomes, not by form fills. Booked jobs, then completed jobs, reported by borough and by job type, over a window long enough to include board approvals where they apply. Cost per lead is the number that flatters everyone and explains nothing.