The temptation to lump everything together
The instinct with multi-location accounts is to run one big campaign with all the locations as audience signals or location targets. It’s faster to set up. It’s also why most multi-location accounts under-perform: spend gravitates to whichever one or two locations the algorithm decides are easy wins, and the others starve.
The campaign architecture that works
Build one campaign per location, per match type. Yes, it’s more campaigns. Yes, it’s necessary.
For a seven-location salon brand, the structure looks like this:
- 7 × Search campaigns (one per location, branded + service keywords + local geo terms)
- 1 × Search campaign for academy/national keywords (no location target)
- 7 × Performance Max campaigns (one per location, with location-specific assets and feeds)
- 1 × Call-only campaign per location (mobile-only, drives directly to phone calls)
The Maps overlay is automatic if your Google Business Profiles are linked correctly — you don’t need separate campaigns for it.
Why one campaign per location, not per ad group
Google Ads’ budget allocation works at the campaign level. If you have one campaign with seven location ad groups, the budget will pool to whichever ad group has the cleanest signal — usually your flagship location. The other six get scraps.
One campaign per location forces budget separation. You can spend $300/month on Koregaon Park and $150/month on Lullanagar based on your strategic priorities, not Google’s preferences.
Location-specific everything
The campaign structure is only as strong as the assets inside. For each location campaign:
- Headlines reference the neighbourhood: “Hair colour specialist in Koregaon Park” beats “Hair colour specialist.”
- Sitelinks point to the location-specific page: /locations/koregaon-park, not the generic homepage.
- Call extensions use the location’s actual phone number, not a centralised number that requires a receptionist to route.
- Location extensions pull from the matching Google Business Profile.
The keyword strategy
For each location, three buckets:
- Branded: [brand name] [location], [brand name] [neighbourhood], etc. Cheap clicks, high intent. Always run.
- Service + location: “hair colour Koregaon Park,” “balayage specialist Aundh.” Mid-cost, mid-intent. The volume drivers.
- Service only (broad geo target): “hair colour” with the campaign’s location target set to a 5km radius. Higher cost, broader reach. Only run after the first two are saturated.
Performance Max with location feeds
PMax campaigns now support location-specific asset groups. Use them. Each location gets its own asset group with its own images, headlines, and feed (if you have a product/service feed). Google’s algorithm uses the location signal to optimise which asset group shows for which user.
Tracking that survives the chaos
The single non-negotiable: every conversion event must include the location. If your booking system fires a “Booking Completed” event with no location attribute, you’ll never know which campaign drove which booking. Add a location parameter to the event, pass it to GA4 and Google Ads, and your reporting becomes actionable.
The reporting cadence
Weekly: spend per location, leads per location, cost per lead per location. Compare against the location’s revenue contribution. Locations that are over-indexing on cost per lead but under-indexing on revenue are usually fixable with creative or landing-page work, not budget cuts.