Google Ads Management in Hamilton and Southwestern Ontario for Contractors
Google Ads management for contractors in Hamilton, Kitchener, London and Windsor. What is different about running ads in this corridor, and what it costs.
By Gavin Sevastian · Updated August 4, 2026 · 7 min read
For owners of home service businesses. If you are a homeowner looking to hire a trade, this is not the page you want.
This is for the owner or operator of a home service business who is already running Google Ads, or thinking about starting, somewhere along the corridor that runs from Hamilton and Burlington through Brantford, Kitchener, Waterloo, Cambridge and Guelph, and on to London, Woodstock, St. Thomas, Chatham-Kent, Sarnia and Windsor, plus every town in between. It is not a directory and it will not help anyone find a plumber. If that is what you came for, you want a contractor's own website, not mine.
Three things make advertising here different from advertising in the 416. The housing is far older than the newer 905 suburbs, which shifts the job mix. The auction is thinner, which cuts both ways. And a service area shaped by highways is not a circle. This page explains all three, plus what the work costs and how to tell whether it is working. It should be useful to you whether or not you ever get in touch.
Hamilton and Burlington · Stoney Creek, Ancaster, Dundas, Waterdown, Grimsby
Waterloo Region and Guelph · Kitchener, Waterloo, Cambridge, Guelph, Fergus
Brant and southwest · Brantford, Woodstock, London, St. Thomas
Far southwest · Chatham-Kent, Sarnia, Windsor, Leamington
Work outside the corridor is fine and I do plenty of it. This page is about what makes this particular stretch of Ontario its own market.
What changes when you run ads in this corridor instead of Toronto
Older housing pushes the job mix toward repair and replacement
Start with the census, because it is checkable. Hamilton has 222,805 occupied private dwellings and 60.9% of them were built before 1981. Compare that to 7.6% in Vaughan, 18.5% in Markham and 18.9% in Milton. Further down the corridor it gets older still: Windsor sits at 68.0% pre-1981, Sarnia and St. Catharines at 71.0%, Chatham-Kent at 73.7%. Dwellings needing major repairs run around 5.7% across the corridor against roughly 3.6% in the newer 905.
Here is why that matters, and it is not the obvious reason. An older housing stock shifts the mix toward repair and replacement, and that changes the whole account rather than just the keyword list. Repair intent is urgent, phone-led, lower ticket, and it closes fast. Replacement intent is considered, form-led, higher ticket, and it closes slowly. The two want different ad copy, different landing pages, different call-handling, and a different tolerance for what a lead is allowed to cost. Judging a repair-weighted campaign by form fills will produce the wrong verdict, and so will judging a replacement-weighted one by call volume.
One honest caveat. More repair work is not automatically more work. It is a different job profile with a different average ticket, so carrying a new-build suburb's cost-per-lead expectation into Hamilton is a category error, not a benchmark.
A thinner auction is cheaper per click and thinner on demand
Measured as census metropolitan areas, the corridor comes to roughly 3.07 million people, using 2021 Census figures: Hamilton 785,184, Kitchener-Cambridge-Waterloo 575,847, London 543,551, St. Catharines-Niagara 433,604, Windsor 422,630, Guelph 165,588 and Brantford 144,162. Toronto CMA on its own is 6,202,225.
Fewer advertisers bidding generally means less pressure on click prices, and that is the real advantage of working here. I am not going to attach a percentage to it, because I have not seen a published source that measures it properly, and a made-up number would be worse than no number.
The same thinness cuts the other way, though, and that part gets ignored. The binding constraint moves from "can I afford this click" to "is there enough searching in my trade, in my towns, to feed a campaign at all." Market sizing does more work here than bid management does.
Which leads to the mistake this market creates. Spreading a modest budget across the entire corridor is the most reliable way to kill a campaign. Every town you add is another slice, and below a certain spend per slice nothing accumulates enough data to improve. Consolidation usually beats coverage at contractor budgets, and the intuition runs the other way, which is why it keeps happening.
Your service area is a corridor, not a circle
Draw a radius around a shop on the 403 or the 401 and you have included farmland and lake, excluded profitable towns forty minutes down the highway, and measured in kilometres when the economics are actually in drive time. Google's own documentation puts "a business that only wants to reach specific cities, regions, or countries" in the column of businesses that do not benefit from radius targeting. Municipality and region targeting matches how this corridor really works.
Two more things worth saying plainly. Google's default location setting includes people merely interested in an area, not only people standing in it, and that default is unusually expensive here: the GTA sits at one end and shows constant interest in Hamilton and Burlington, while Windsor sits against a US metro of several million people. Second, municipal boundaries and the market in a buyer's head are different things. Kitchener, Waterloo and Cambridge are three municipalities and one commercial market. If you serve both this corridor and the newer suburbs east of it, you are running two markets, not one bigger one.
| Municipality | Dwellings | Built before 1981 | Needing major repairs |
|---|---|---|---|
| Windsor | 94,270 | 68.0% | 7.2% |
| Brantford | 41,675 | 62.8% | 6.0% |
| Hamilton | 222,805 | 60.9% | 6.6% |
| London | 174,655 | 52.3% | 5.5% |
| Kitchener | 99,815 | 48.6% | 4.7% |
| Cambridge | 51,270 | 48.4% | 5.2% |
| Burlington | 73,180 | 47.4% | 4.1% |
| Guelph | 56,480 | 43.7% | 4.7% |
| Markham | 110,865 | 18.5% | 3.0% |
| Milton | 40,035 | 18.9% | 2.7% |
| Vaughan | 103,915 | 7.6% | 2.5% |
The municipal programs that shape demand here
Hamilton's pre-qualified list is a $2,000 versus $500 swing
The city's Protective Plumbing Program offers homeowners a grant of up to $2,000 toward a backwater valve and related work. To get the full amount, the homeowner has to pick a contractor from the city's pre-qualified list. Choose anyone else and the maximum drops to $500. Eligibility also requires the home to have been built before January 1, 2012.
If you are a Hamilton plumber and you are not on that list, you are bidding for clicks against a four-times subsidy gap that the homeowner will discover shortly after they call you. That is not a keyword problem and no amount of ad spend fixes it. If you are on the list, it belongs in your ad copy and near the top of your landing page, because it is the single most persuasive thing you can say to a homeowner comparing quotes. Everything else about getting plumbing work through search is downstream of that.
Windsor requires a city-licensed plumber, and pre-approval
Windsor's Basement Flooding Protection Subsidy Program runs up to $3,500 per property as a lifetime maximum, tiered so that a backwater valve plus sump pump reaches the full amount and a valve on its own reaches $1,450.
Two rules matter commercially. A City of Windsor licensed plumber must complete the work, and any work done by the homeowner or completed before approval is not eligible. That second rule is a search-behaviour fact as much as a policy one. It means a real share of Windsor demand arrives already knowing it needs a licensed trade and cannot do the job itself, which is a better starting position than the same search in a city with no such program.
London's grant excludes newer subdivisions outright
London pays 90% of total cost up to caps that include $1,800 for a backwater valve, $4,000 for a sump pit and pump, $6,000 for a sewage ejector and holding tank, and $7,000 for a storm private drain connection. Homes in subdivisions registered after 1996, infill developments, and certain additions are ineligible.
That is the cleanest version of this page's whole argument, and I did not have to make it. London's own program says the money is for the older housing. That is the housing-stock thesis stated by a municipality rather than asserted by a marketer, and it tells you which parts of the city are worth weighting spend toward.
What this costs, and what the published numbers are worth
There are three numbers, and owners usually only ask about one
Ad spend goes to Google. The management fee goes to whoever runs the account. Neither of those is the number that decides anything. The number that decides is cost per booked job, and it depends on your close rate and your average ticket, which are yours and not Google's.
Management fees in this industry are usually either a flat monthly amount or a percentage of ad spend. Percentage models get awkward at contractor budgets, because the work of building and maintaining an account does not shrink just because the budget did. On the spend side, the honest answer is that it needs to be enough to buy a meaningful number of clicks per month in your trade, in your towns, and that number depends entirely on what clicks cost in your trade. The corridor's genuine advantage is that the same monthly spend that is thin in Toronto goes further here. If you want the longer version, I wrote one on what Google Ads actually cost a contractor, and a broader one on running search ads as a small business.
Published benchmarks, and why they will not match you
There are public benchmark figures. They are worth exactly one thing: setting an order of magnitude so nobody is shocked by their first invoice. Presenting a North America wide aggregate as "what a click costs in Hamilton" is the same granularity error this page keeps warning about.
| Metric | Home and Home Improvement | Why it will not match your account |
|---|---|---|
| Average cost per click | $8.33 USD | Almost certainly USD and North America wide, not Canadian and not corridor specific |
| Average click-through rate | 6.47% | Depends heavily on brand recognition and where your ad sits on the page |
| Average conversion rate | 8.05% | Your landing page and your call handling drive this more than the ads do |
| Average cost per lead | $90.92 USD | HVAC, plumbing, roofing, garage doors and windows are rolled into one line, and their economics diverge sharply |
Those figures come from LocaliQ's search advertising benchmarks, and the caveats belong in the same breath as the numbers, not in a footnote underneath them.
Cost per lead is not the scoreboard
A cost per lead with no job value beside it invites sticker shock and produces no useful decision. A $120 lead is expensive for a $300 service call and cheap for an $18,000 replacement. Those two jobs frequently sit inside the same campaign in a market with this much repair and replacement in it.
There is a second problem. Unless somebody is telling the account which leads actually booked, the bidding system is being taught that every lead is worth the same, which is demonstrably false. That feedback loop is most of what separates an account that improves from one that just runs.
And every contractor eventually makes the referral comparison, so let me make it properly. Word of mouth is not free. Its acquisition cost is invisible, which is a different thing. The comparison that means something is cost per booked job through each channel, side by side.
The part that does not fit in a setup fee
Reading what people actually typed is the recurring job
Most owners have never had this mechanic explained to them, so here it is. Match types control eligibility, not precision, and exact match has not been literal for years. Every match type expands to close variants, and there is no setting to turn that off. The only way to know what you actually bought is to read the search terms report.
Two facts make that harder than it sounds. First, negative keywords match literally while positive keywords match semantically, so a negative does not bridge a plural, a synonym or a reordering. Every variant has to be added by hand, one at a time. Second, the search terms report is deliberately incomplete: Google withholds queries that fall below a volume threshold, which in a small corridor account is exactly the long tail you most want to see. Absence from the report is not evidence that a search never ran, and that does not change as the account grows.
Then there is the trap nobody warns about. Over-blocking is as damaging as under-blocking and it is completely invisible. Nothing in the interface tells you that a negative keyword suppressed a profitable search last week. An unexplained impression drop should send you to the negative list before anywhere else.
The defaults that cost money until somebody turns them off
Several of Google's defaults exist to increase billable events rather than to improve your return. Display expansion on search campaigns, interest-based location targeting, and auto-applied recommendations that can change bidding strategy and expand match types without anyone noticing are the usual three. Reviewing and overriding them before the first dollar is spent is ordinary practice, and it frequently has never been done.
Two of those land harder in this corridor. Interest-based location targeting is more expensive here than in almost any other part of Ontario, for the reason already given: a huge metro at one end and an American one at the other. And conversion tracking is the floor rather than a feature. For trades that means counting phone calls properly, because calls are the dominant conversion mechanism, and a call that rings for four seconds is not a lead. Set a minimum call length or you are teaching the bidding system to buy more wrong numbers. When an account produces clicks but no calls, the cause is usually tracking or the destination rather than the keywords, which is also why ad traffic should not land on your homepage.
Small numbers are noisy, in both directions
At contractor volumes in a corridor town, a week with no leads is often ordinary variance rather than failure. The uncomfortable half of saying that is the discipline it demands: a good week is not proof either. Anyone reacting to every week is chasing noise, and reacting costs more than waiting does.
Here is the honest closing argument for the whole page. A well-built account still decays. Search language shifts, competitors enter and leave the auction, Google changes match behaviour and ships new defaults, and seasonality moves the mix between repair and replacement. Reading the terms, pruning waste, and checking that spend still lands where the jobs came from is not maintenance around the job. It is the job. Any page implying otherwise is either inexperienced or selling a subscription it does not intend to service. That is also the real answer to whether you should run this yourself or hire someone: not whether you can learn it, but whether you want that on your desk every week.
Read what people typed
Pull the search terms and cut what does not belong. This is the highest-value recurring task in any contractor account, and it never finishes.
Check where the spend landed
Compare it against where the jobs actually came from, by town and by service. Spend drifts toward whatever is cheapest, not whatever is most profitable.
Check the phone
Were the calls answered, and how long did they last. A conversion count that includes four-second calls is not a lead count.
Change one thing, then wait
Change one thing at a time and give it long enough to know whether it worked. Two changes at once tells you nothing about either.
How I work with contractors in this corridor
Who this fits, and who it does not
It fits an owner or operator of a home service business who is already doing the work well, has capacity to take more of it, and wants one person accountable for the account rather than a rotating team.
It does not fit anyone hoping ads will fix a close rate, a review profile, or a phone nobody answers. Ads amplify whatever already exists, including the parts that do not work. It also does not fit anyone who wants a dashboard instead of a conversation, or anyone whose real constraint is that they cannot service more jobs than they already have.
Turning someone down is normal and I do it. It saves both of us a bad six months.
What you actually get
Account build or takeover. Conversion tracking that counts a call as a call and not as a ring. Geography set to the corridor the way the market actually works instead of as a circle on a map. Ongoing search-term work. And a monthly conversation in plain language about cost per booked job rather than a PDF of charts.
Where it makes sense, that includes sorting out how paid search sits alongside Local Services Ads and alongside whatever you are doing organically, since search ads and SEO answer different questions on different timelines.
The honest limitation of a one-person service is capacity. The roster stays small on purpose, which is exactly why the qualification above is real rather than decorative.
Trades
The work is the same shape across most home service trades, and the differences are in ticket size, seasonality and how urgent the search is. I have written up the specifics for roofing, plumbing, HVAC, electrical, garage doors, painting, pest control and landscaping. If your trade is not on that list, it does not mean no. It means I have not written the page yet.
Send the form
Tell me your trade and the towns you actually serve, not the ones you would take a job in once.
I look at what exists
Whether that is a live account with history, a dormant one, or nothing at all. Either way I want to see it before I say anything.
Twenty minutes on the phone
What you charge, what you close, and whether the numbers work at the spend level you are willing to commit to.
An honest answer
If the numbers do not work, or ads are not your constraint, I say so on that call rather than after three months of spend.
If a Toronto playbook is not working here, this is usually why
Nearly 61% of Hamilton's housing predates 1981, and Windsor is higher still, which pushes the job mix somewhere a new-build suburb's playbook was never written for. There is a pre-qualified contractor list in Hamilton that decides whether a homeowner gets $2,000 or $500. Windsor's subsidy only pays out if a city-licensed plumber does the work, and only if it was approved first. And a service area strung along the 401 and the 403 is not a radius, no matter how convenient the setting is.
None of that shows up in a template with a city name swapped into it. If you want someone to look at your actual account and your actual towns, send the form.
- Corridor geography set the way the market actually works
- Call tracking that counts a lead as a lead
- One person on the account, reachable directly
- If it is not a fit, I will say so
Common questions
There are two numbers: what you pay Google for clicks, and what you pay whoever runs the account. Published North America wide benchmarks put average cost per lead in the home improvement category around $90 USD, but that rolls many trades into one line and is not Canadian. The number that actually decides anything is cost per booked job, which depends on your close rate and your average ticket.
It depends almost entirely on ticket size and close rate. If your average job is a few hundred dollars and you close one lead in ten, the maths gets very tight very quickly. If your average job is in the thousands and you close a third of what comes in, there is usually room. Work out what a booked job is worth to you before you work out what a lead should cost.
Longer than a week, and the reason is arithmetic rather than patience. At contractor volumes the weekly numbers are small enough that a zero week and a good week are both within ordinary variance. An honest early read tells you whether the tracking is right, whether the search terms are sane, and whether calls are being answered. It does not tell you your cost per booked job yet.
Yes, genuinely, and plenty of contractors do. The setup is learnable in a weekend. The part that catches people is the recurring work: reading what people actually typed, pruning waste, and resisting the urge to react to every quiet week. If you want that on your desk every week, run it yourself. If you do not, that is what hiring someone actually buys.
Usually both, and usually in that order if you qualify. Local Services Ads sit above search ads, are priced per lead rather than per click, and require Google to verify your business. Search ads reach a much wider set of searches and give you far more control over which ones. They answer different questions and the budget for one is not a substitute for the other.
They are different timelines and different money, not a substitution. Search ads answer the question I need work this month. SEO answers the question I want cheaper work in a year. Contractors in this corridor search for SEO help far more often than for ads help, which is worth knowing but is not itself an argument for either one.
No. The corridor runs from Hamilton and Burlington through Waterloo Region, Guelph and Brantford down to London, Chatham-Kent, Sarnia and Windsor, and I work in Toronto and Ottawa as well. The corridor is just where the specific local knowledge on this page applies, and where a generic Ontario approach is most likely to miss.
