Short answer: there is no single right number. The figure that matters is what a job is worth to you and how many jobs the spend needs to produce to break even. Work that out first, then set a budget you can sustain for at least three months — because stopping and starting wastes most of what you spend.
Contractors ask this expecting a dollar figure. The honest answer is that the same budget is generous for one business and pointless for another, and the difference is entirely in your own numbers.
Start with your break-even, not a budget
Take the profit — not revenue, profit — on an average job. Then ask how many extra jobs a month the spend needs to generate to cover itself.
If a job nets you $2,000 and you spend $1,500 a month, you break even on one job. That is a reasonable target. If a job nets you $300, one job a month does not come close, and you need either far more volume or a different channel entirely.
Run that number before you take any sales call. It is the difference between negotiating and guessing.
Ad spend and management fees are separate
This trips up contractors constantly. If an agency quotes you a monthly fee, ask plainly whether that includes the money going to Google. Usually it does not — the fee is for managing the campaign, and ad spend is billed separately, directly to your account.
Insist that ad spend goes to a Google Ads account you own. If the agency runs your campaigns inside their account, you lose all your performance history the day you leave. That history has real value and you should not hand it away.
Why Massachusetts clicks are not cheap
Cost per click is set by auction — what your competitors are willing to pay. In a dense, competitive market like Worcester and greater Boston, contractor keywords are expensive because the jobs are valuable and established companies bid aggressively.
That does not make Google Ads a bad idea. It means a small budget stretched across broad, expensive keywords will disappear without producing anything, while the same money aimed at specific high-intent searches can work.
Emergency and specific beats broad and cheap
Bidding on “plumber” in Worcester puts you against everyone, for clicks from people who may be researching. Bidding on “emergency plumber Worcester MA” or “water heater replacement Worcester” costs more per click and converts far better, because the person searching has a problem right now.
A smaller budget spent on genuinely urgent, specific searches usually outperforms a larger budget spread thin.
Do not start and stop
Google Ads needs consistent data to optimise. Running for three weeks, pausing, then restarting resets much of that learning and wastes the early spend, which is always the least efficient.
If you can only afford three months, run three months properly rather than six months intermittently. And if seasonality means you genuinely have an off-season, plan the pause deliberately instead of reacting to a slow week.
What to measure — and what to ignore
Impressions and clicks are not results. Insist on tracking that shows calls and form fills, and ideally which of those became jobs. If your reporting only shows traffic, you cannot tell whether the spend is working.
Call tracking matters especially for contractors, because most of your leads phone rather than fill in a form. Without it, the channel that produces your best work looks invisible in the numbers.
Ads versus SEO — the honest trade-off
Ads turn on immediately and stop the moment you stop paying. Local SEO takes months and keeps working. Neither replaces the other. If cash flow allows, ads while your organic visibility builds is the sensible sequence — but if you have to choose one and can wait, the free profile work described elsewhere on this blog costs nothing but time.
Related reading
- SEO Agency Cost for Contractors: 2026 Pricing
- How to Rank on Google Without Paying for SEO
- Local SEO for Contractors in Worcester, MA
Trying to work out a realistic ad budget? Tell us your trade, your average job value and the towns you serve. We’ll tell you honestly whether Google Ads makes sense for your numbers — including if it doesn’t.