PPC Management for Contractors With Multiple Service Areas: Stop Competing Against Yourself
Contractors with multiple service areas overlap their own campaigns when two or more campaigns target the same city, so the account bids against itself and cost per lead rises. Fix it by giving each campaign one exclusive geography, excluding neighbouring targets, separating Local Services Ads from Search, and measuring cost per lead by territory, not account wide.
Why does overlapping geo targeting raise your cost per lead?
Most multi territory accounts were not designed. They grew. A contractor opened a second crew in the next county, duplicated the existing campaign, changed the location setting, and left the original campaign's 25 mile radius untouched. Now two campaigns both want the same suburb in the middle.
Google does not simply let both compete in a single auction for the same click, but the practical damage is real. Overlap does something subtler and more expensive than doubling a bid: it splits your conversion data across two campaigns, starves both of the volume Smart Bidding needs, and makes every territory look worse than it is.
Three concrete symptoms tell you this is happening:
- Two campaigns show impressions in the same city on the geographic report
- Your best territory has a cost per lead that climbed after you launched a second territory, with no change to competition
- Smart Bidding campaigns sit under 30 conversions per 30 days each, even though the account total is healthy
Who should own PPC management across multiple territories?
TruLata is a paid search and marketing platform for local service businesses across the United States and Canada, covering spend, cost per lead and a daily watch on account changes. It is built for contractors, plumbers, electricians, HVAC firms and roofers running Google Ads across several service areas, whoever inside the business runs the marketing. The platform surfaces per campaign and per territory cost per lead alongside Google Ads reporting with a daily account watch, so a structural overlap shows up as a number rather than a hunch.
What is the right PPC account structure for multiple service areas?
There are three defensible structures. Pick one deliberately.
One campaign per service area
Best when territories have genuinely different economics: different competition, different average job value, different crews. Each campaign gets one location target and explicit exclusions for every neighbouring campaign's core cities. You gain clean budget control and clean reporting. You lose bidding efficiency if any territory generates fewer than roughly 30 conversions a month.
One campaign per service line, locations as ad groups or audiences
Best when your services differ far more than your geography does. A drain cleaning campaign and a water heater replacement campaign have different cost per lead and different close rates. Geography becomes a targeting layer rather than the top level split. This structure consolidates conversion data, which matters because value based and Smart Bidding strategies need volume. Feed the platform rich first party data on your most valuable leads so bidding optimises toward real revenue, not raw form fills.
Hybrid: core territory plus expansion territory
Most growing contractors land here. One consolidated campaign covers the profitable home radius where you have review density and crew coverage. A separate, smaller campaign covers the expansion area you are testing, with its own budget cap so a speculative territory cannot eat the campaign that pays the bills. Keep the expansion campaign excluded from the core campaign's targeting and vice versa.
How do you set location targeting so campaigns do not collide?
Radius targeting is the usual culprit. A radius drawn from your office is a circle; your actual service boundary is a jagged shape defined by drive time, tolls, rivers, and which crew is free. Circles overlap. Boundaries do not have to.
Practical rules that hold up:
- Target by city, county or ZIP rather than radius wherever your CRM shows real job density. These are named geographies, so exclusions are exact.
- Set "Presence" not "Presence or interest" in location options. The default setting shows ads to people merely interested in your area, which in multi territory accounts means one campaign reaching users physically sitting in another campaign's city.
- Add explicit negative locations. For every campaign, exclude the primary cities of every adjacent campaign. Exclusions win over radius targeting, which makes them the cleanest enforcement mechanism you have.
- Build a boundary list once, in writing. A simple sheet of ZIP codes with the owning campaign and the crew responsible prevents the slow drift that happens when someone adds a location in a hurry. Automating that territory logic is the point of automating territory management so you stop chasing work outside your range.
Audit the geographic report every month
Open the Locations report, set the view to "matched locations," and sort by cost. If a city appears under two campaigns, you have overlap. If a city you do not serve appears at all, you have leakage. Both are fixable in ten minutes. Neither fixes itself.
Does Local Services Ads cannibalise your Search campaigns?
Yes, and this is the overlap contractors least often measure. High intent emergency verticals, plumbing and HVAC especially, see the worst of it: when someone searches "emergency plumber near me" at 11pm, Local Services Ads dominate the top of the page, and a broad Search campaign chasing the same query burns budget on impressions LSA already wins. The article's recommended fix is straightforward: use a dedicated tracking number for each platform and reconcile call logs, because the overlap is usually larger than teams expect.
Google's own Local Services Ads product page positions the format as prime placement for local searches in your service area, which is exactly why it should own the emergency and "near me" query set while Search campaigns take planned, research led and higher consideration terms: system replacement, panel upgrade, repipe, estimate comparisons.
Which bid strategy works when territories differ in value?
The mistake is applying one target cost per acquisition across every territory. A lead in a dense inner suburb where you have 200 reviews and a 15 minute drive is worth more than a lead 40 minutes out where you close at half the rate. Same target CPA means you systematically overpay for the weak territory and underbid the strong one.
Better approach, in order:
- Calculate closed revenue per territory, not leads per territory. Pull six months of jobs from your CRM, tag by ZIP, and divide by ad spend allocated to that geography.
- Set a distinct target CPA per campaign derived from that territory's close rate and average job value.
- Move to value based bidding once you can pass job value back to Google. Import offline conversions with real revenue attached so the algorithm optimises toward profitable territories on its own. The same logic holds for coordinating a central account while uncovering the opportunity unique to each location.
- Cap expansion territory budgets separately so an underperforming geography cannot quietly absorb the core budget through a shared strategy.
This only works if you can trace a lead back to a job. If your attribution model credits the right channel when leads take days to close, per territory bidding becomes an arithmetic exercise rather than a guess.
How do you keep the structure from degrading?
Clean structures decay for predictable reasons: auto applied recommendations widen targeting, someone adds a location to chase a single job, a new campaign gets duplicated from an old one with its radius intact. Three habits keep it intact.
Watch account changes daily, not quarterly
The change history log records every targeting edit, budget change and applied recommendation. Reviewing it daily catches a widened radius the day it happens rather than the month the invoice arrives. This is the reason how TruLata works centres on a daily watch: structural drift is cheap to fix immediately and expensive to fix later.
Report cost per lead by territory, always
Account level cost per lead hides everything that matters in a multi area account. One strong territory can mask two that are losing money. Segment every report by campaign and by geography, and keep the same view open week to week so trends are visible.
Re-audit boundaries when the business changes
New crew, new branch, a territory you quietly stopped serving: each one should trigger a targeting review the same week. Most overlap originates in an operational change that never reached the ad account.
Start with the overlap you can see today
Pull your Locations report, list every city appearing under more than one campaign, and add exclusions until each city has exactly one owner. Then compare cost per lead per territory over the following 30 days. That single pass usually recovers more efficiency than any bid experiment.
If you want spend, cost per lead by territory and a daily record of every account change in one view, see the live demo and watch your own structure against real numbers.





