The old local campaigns (footfall to a physical shop across Search, Maps, YouTube and Display) were folded into Performance Max with store goals. For a business with premises — shops, clinics, dealerships, restaurants, franchises — this is the campaign that brings people to the door. This tutorial builds one from scratch, with the measurement that justifies it.
Step 0 · Requirements
- A Google Business Profile with every location verified (that is what Google treats as a "store").
- A Google Ads account with the Business Profile linked (Assets → Location → link; or Admin → Linked accounts).
- For local inventory: Merchant Center with a local inventory feed (optional).
- Enough visit volume for Google to measure (privacy thresholds).
Step 1 · Link and verify locations
- Business Profile: every branch with its address, opening hours, phone, category and photos; status verified.
- Google Ads → Assets → Location → link the Business Profile account (same user, or a request to the owner).
- If you have many locations, use location groups (by region, brand, type) so you can attach only some of them to each campaign.
Check: under Assets → Location the branches appear with the status "active".
Step 2 · Store visits and store sales measurement
- Store visits: a conversion Google estimates (from aggregated, anonymous data on users with location history) when someone interacts with an ad and then visits the branch. It switches on by itself once the account meets the requirements (verified locations, volume, country); it appears under Goals → Conversions as "Store visits". Check that it is included in "Conversions" if the local campaign should optimise towards it (and excluded on pure ecommerce campaigns).
- Store sales: uploading your till sales (with hashed customer data or per transaction) as a "store sales" conversion; it needs volume and a setup with Google. For large accounts.
- Complementary local conversions: directions (a click on "get directions"), calls to the branch, clicks through to the Profile — all measurable as conversion actions from the Business Profile.
Step 3 · Create the PMax with store goals
- New campaign → objective Local store visits and promotions (or Sales/Leads with store goals) → type Performance Max.
- Locations: "Promote store locations" → select the branches (or the group).
- Conversion goals: store visits, directions, calls to the branch (and store sales if you upload them). Remove the ecommerce ones if they do not apply.
- Geographic targeting: a radius around each branch (5-20 km depending on the business) with "presence" (not interest).
- Budget and bidding: maximize conversions (visits) to start with; target CPA per visit once you have volume.
- Asset groups: one per type of branch or message; photos of the branch and of the product/service, a short video, copy naming the city or the neighbourhood (location customisers if there are many), local calls to action ("Visit us at…", "Book at your local store").
- Signals: your own data (customers, site visitors), custom signals built from local searches ("X shop near me").
Check: the campaign shows ads on Maps (the branch listing marked "Ad"), on Search with the location asset, and on YouTube and Display near the branches.
Step 4 · Local inventory ads (if you have Merchant Center)
- Merchant Center → Programmes → Local inventory ads: a local products feed and a local inventory feed (product × store × stock × price), updated daily.
- Inventory verification by Google (a one-off).
- In the PMax (or Shopping): switch on local products; the user sees "Available in your store 2 km away" and a local shopfront.
Step 5 · Judging a local campaign
| Metric | What it measures | How to read it |
|---|---|---|
| Store visits | Google's estimate | Trend and cost per visit; not exact figures (it is modelled) |
| Directions / calls to the branch | Direct actions | The most reliable ones; per branch |
| Store sales (if uploaded) | The truth | Cost per local sale |
| Visibility on Maps | Impressions on Maps | Presence in the area |
| By location | The campaign's locations report | Which branches get traffic and which do not |
Incrementality: a geo experiment by branch (some with the campaign, some without), comparing visits and till sales.
Mistakes multi-store accounts make
- Unverified branches or out-of-date opening hours: the ad sends people to a closed door.
- One single radius for urban and rural branches.
- Store visits included in "Conversions" on ecommerce campaigns (it inflates ROAS).
- Local inventory not kept up to date: "available" when it is not.
- Judging on modelled visits alone, with no directions or sales.
- Forgetting the location asset on your ordinary Search campaigns (they drive footfall too).
💡 Ninja trick: a local campaign is PMax with a different objective, so it inherits all its rules: brand exclusion (if you run a brand Search campaign), an account-level location list, automatically created assets kept under review. And one signal of its own is worth gold: directions and calls to the branch are real conversions per store that the judge can use as a reference — far firmer than modelled visits.
What to remember
- Local campaigns = PMax with store goals; it needs a verified, linked Business Profile.
- Measurement: store visits (modelled), directions and calls (direct), store sales (till) — include the right ones in each campaign.
- A radius per branch with presence, local assets, signals from your own data; local inventory with Merchant Center if you have a catalogue.
- Judge on directions/calls/sales per branch; treat visits as a trend.