A single rank number for a multi-location brand is a lie. I don't mean that dramatically—I mean it structurally. Google Maps visibility shifts based on the searcher's GPS coordinates, the keyword they typed, the device they're holding, and which of your locations happens to be closest. I spent an embarrassing amount of time early in my career pulling a single "city rank" for a client with 14 locations and presenting it like it meant something. It didn't. The franchisee in the southeast corner of the metro was hemorrhaging visibility while the flagship location looked golden, and my averaged report hid the whole story.
Here's what this post will actually give you: a phase-by-phase system for tracking each location independently, comparing them side by side, and catching the branch that's quietly dropping before your phone stops ringing there.
What You Need Before You Touch a Single Tool
Skip this section at your own risk. I've watched agency teams burn two hours in a tracking tool only to realize they didn't have the right Google account connected—or worse, they didn't have Owner/Manager permissions on half the profiles they were trying to pull.
Your pre-flight checklist:
Verified Google Business Profile access for every location, under the correct Google account with Owner or Manager permissions. Not "I think my client shared it with me once." Confirmed, logged-in access.
A master location spreadsheet with business name, exact address, GBP URL or CID, primary category, and service area for each branch. If you don't have the CID, grab it from the GBP URL or use a CID lookup—you'll need it when the tool's search picker inevitably can't find one of your locations.
A location-specific keyword list. Not one generic list for the whole brand. Each branch serves slightly different neighborhoods, and the search phrases customers use vary. Seed these from call logs, site search data, and the actual category your profile sits in.
For agencies: written client authorization for each profile you're connecting. Some tools require re-authorization per location, and you don't want to be chasing consent mid-setup.
Verification check: You're ready for Step 1 when you can open your master spreadsheet and confirm that every row has a verified GBP, an address, a CID, and at least 3–5 target keywords. If any cell is blank, fix it now.
Phase 1: Define Each Location as Its Own Tracking Unit
This is where most multi-location tracking falls apart before it starts.
The instinct—especially for brand managers—is to create one campaign and dump all locations into it. That approach produces a blended average that tells you nothing actionable. One branch ranking #2 and another ranking #18 averages to #10, and #10 is a number that describes neither reality.
What to do: Create one tracking profile, campaign, or project per physical location. Each unit gets its own GBP connection, its own keyword set, and its own scan geography. Think of it like this: every row or card in your tracking tool should represent one distinct branch.
The pro shortcut: If you built that master spreadsheet from the prerequisites, you can often import or replicate the structure directly into your tracking platform. Some tools let you bulk-import locations from a CSV—use it. Manually adding 30 branches one by one is a recipe for typos and missed profiles.
Visual checkpoint: When this phase is done, your dashboard or project list shows each branch as a separate entry. Not one brand-level campaign. Individual branches, each with their own name and address visible.
Verification: Click into any two location profiles in your tool. They should show different addresses and different connected GBPs. If they're pointing to the same profile, something's wired wrong.
One thing I've learned the hard way: teams resist this structure because it "looks like more work." It is more work upfront. But the reporting clarity it creates saves you from the much worse work of explaining to a client why their underperforming branch went unnoticed for four months. If you're managing local SEO across a portfolio, tracking rankings for multiple business locations with this kind of granularity isn't optional—it's the baseline.
Phase 2: Connect the Google Business Profile for Each Location
What to do: In your tracking tool's settings, search for the business name, select the correct profile from the picker, and authorize Google access. Repeat for each location.
The friction warning—and this one's common: The profile you need won't show up in the search picker. I've seen this happen on roughly 1 in 4 location setups for agencies. The usual culprits: the wrong Google account is connected, the permissions aren't at the Owner/Manager level, or the tool's search index simply doesn't match the profile name exactly.
The fix: Enter the Google CID manually. Every GBP has a unique CID, and most tools have a fallback field for it. Paste it in, and the tool pulls the profile directly. I'll be honest, I got stuck here for longer than I'd like to admit the first time—I kept re-searching the business name with slightly different spellings before realizing the CID bypass existed.
Visual checkpoint: The tool shows the profile as "connected" or "fetched," with the correct business name, address, and category displayed. If the address shown doesn't match the branch you intended, you've grabbed the wrong profile.
Verification: The connected profile's address matches the address in your master spreadsheet for that specific branch.
Phase 3: Assign Keywords Per Location
Don't just copy-paste the same 10 keywords across every branch. That's lazy, and it creates noisy data.
What to do: For each location, enter the search phrases your customers actually use when looking for that branch's services. A "dentist" keyword for a practice in a suburb hits differently than for one downtown—the local modifiers, the neighborhood names, the "near [landmark]" phrases all vary.
The pro shortcut: Pull keyword ideas from three places most people forget: your call tracking transcripts (what words do callers actually say?), your website's internal search data, and the "services" or "products" section of each GBP. Then dedupe by intent, not wording. "Emergency plumber Westside" and "24-hour plumber West End" are the same intent.
The friction warning: Generic head terms like "dentist" or "plumber" without any local modifier produce wildly unstable results. The ranking fluctuates so much between scans that you can't draw any conclusions. Add geographic or service-specific qualifiers to stabilize the signal.
Visual checkpoint: Each branch's keyword list is visible in the tool, attached to that specific location—not floating in a shared pool.
Verification: Open two different branch profiles in your tool. Their keyword lists should overlap somewhat (brand-level terms) but not be identical.
Phase 4: Set the Scan Geography
This is where grid-based local rank tracking earns its keep—and where the most misunderstandings happen.
What to do: For each location, configure a center point (usually the business address), a radius, and a grid density. The tool will check rankings from multiple coordinates within that grid, giving you a geographic heatmap of visibility instead of a single number.
Why this matters: A branch might rank #1 from the block where it sits but drop to #12 from a neighborhood three miles away. That neighborhood might be where 40% of its customers live. A single center-point rank hides that completely.
The pro shortcut: Use a grid scan rather than a single-point check for every location. The grid exposes visibility gradients across neighborhoods. When you're comparing branches, this is the data that actually tells you which location needs work and where it needs work.
The friction warning: The default grid radius might not match your actual service area. I've seen tools default to a tight 3-mile radius when the business serves a 15-mile zone—or the opposite, a massive grid that dilutes the data with irrelevant outer coordinates. Adjust the map scan radius and grid size before running the first scan. The default is almost never right.
Visual checkpoint: Before you hit "scan," the map should show your centered pin plus the full grid overlay. If the grid doesn't cover the neighborhoods you care about, resize it now.
Verification: The grid boundary on the map visually encompasses the primary service area for that branch. If major customer neighborhoods fall outside the grid, expand it.
If you want to understand how grid-based scanning fits into a broader local visibility strategy, optimizing your Google Business Profile for local search covers the foundational signals that influence what those grid results actually look like.
Phase 5: Run the Scan, Review, and Compare
What to do: Start the scan—quick or scheduled—for each location. Wait for completion. Then review rankings by grid point, keyword, and location.
The friction warning that trips up everyone at least once: A slow scan is not a failed scan. Grid-based tracking checks rankings from dozens (sometimes hundreds) of coordinates. It takes time. I've had team members kill and restart scans because they assumed the tool froze. It hadn't. Give it space.
What to look for in the results: Don't just celebrate the center-point rank. A "good" result at the pin can mask weak fringe coverage. Look at the color gradient across the grid—where does visibility drop off? That's where your optimization effort needs to go.
The pro shortcut for multi-location comparison: Export all location data to a spreadsheet and pivot by location, keyword, and grid point. This is how agencies build recurring client-ready reports without manually screenshotting each branch's dashboard. A single export that includes multiple profiles—or a dashboard that toggles between locations cleanly—is the goal.
The normalization trap: If you compare raw position numbers without accounting for keyword difficulty and geographic density, you'll misread one branch's performance. A location ranking #3 for "personal injury lawyer downtown" is performing better than a branch ranking #1 for "notary public rural county," even though the number looks worse.
Verification: Every branch in your system shows a completed scan with populated rank values. No branch is stuck on "pending" or showing zero data.
For teams building these comparison reports at scale, creating local SEO reports for multi-location businesses walks through the formatting and delivery side of this workflow.
The Ghost Errors Nobody Warns You About
"My profile won't show up in the rank tracker at all." This is the single most common complaint I see in forums—and the fix is almost always the CID workaround. Search-by-name matching in tracking tools is imperfect. Manual CID entry resolves it in about 90% of cases.
"The scan is centered correctly but the ranking looks wrong." Verify with a few real-world checks. Use a VPN or location spoofing to search from a specific coordinate and compare it to what the tool reports. Rank varies by coordinate—that's the whole point of grid tracking—but if the tool's result and your manual check diverge wildly, the grid center or radius may be misconfigured.
"Tracking works for one branch but is useless for the whole chain." This almost always means the team tried to run everything through one blended campaign. One scan profile per branch, compared via exports. That's the fix. Every time.
FAQ
How often should I run rank tracking scans for multiple locations?
Weekly scans strike the right balance for most multi-location businesses. Daily scans create noise—local rankings fluctuate naturally by time of day and minor algorithm refreshes, so daily data often triggers false alarms. Weekly cadence gives you enough resolution to spot real trends without drowning in variance. For high-competition verticals, bi-weekly works if budget is tight.
Can I track Google Business Profile rankings for free?
Google's own Business Profile performance reports give you impression and interaction data for each location, and you can download multi-profile reports directly. But these don't show grid-based geographic rankings. For actual position tracking across coordinates, you'll need a third-party tool—most offer limited free tiers or trials, but meaningful multi-location tracking requires a paid plan.
What's a Google CID and how do I find it?
Your Google CID is a unique numeric identifier for your Business Profile. You can find it in the URL when you view your listing on Google Maps—it's the long number string after "cid=" in the address bar. You'll need this when your tracking tool's search picker can't locate your profile by name, which happens more often than vendors like to admit.
Why do my rankings look different when I search manually?
Google personalizes local results based on your exact GPS position, search history, and device. The rank you see from your office is not the rank a customer sees from their home. Grid-based tracking exists specifically to solve this—it checks from multiple coordinates so you see the full picture, not just your personal bubble.
How do I compare performance across locations without misleading data?
Export all location scans into a single spreadsheet and pivot by branch, keyword, and grid point. Normalize for keyword difficulty and local competition density before drawing conclusions. A branch ranking #5 in a hyper-competitive downtown grid may be outperforming a branch ranking #2 in a low-competition suburb.
Do I need separate keyword lists for each location?
Yes. Even branches of the same business serve different micro-markets. The search phrases customers use vary by neighborhood, local landmarks, and regional vocabulary. Shared brand-level keywords are fine as a baseline, but each location needs localized terms layered on top.
What grid size and radius should I use?
Match the grid to your actual service area, not the tool's default. For a business serving a 5-mile radius, a 7x7 grid at 5 miles usually provides enough granularity. For a business covering a metro area, expand accordingly. The grid should cover the neighborhoods where your customers live—not just the block where your building sits.
Tracking multi-location GBP rankings isn't a "set it and forget it" task. The branches that look fine today can quietly lose grid coverage next month if a competitor opens nearby or a profile update triggers a re-evaluation. Build the scan cadence, compare the exports, and treat each location like its own small business—because from Google's perspective, that's exactly what it is.
What's the one branch you've been averaging into oblivion? Go pull its grid scan independently. The answer might change your next quarter's strategy.