What Is City Rank Tracking?
City rank tracking is the practice of measuring how a business ranks in Google's local results across multiple points within a city, not just from a single location. Instead of one data point, you get dozens or hundreds, each representing a real searcher's perspective from a different neighborhood or zone.
Why does this matter? Because Google's local pack is driven by proximity. When someone searches “emergency plumber” from Midtown Houston, they see different results than someone running the same search from Katy or The Woodlands. The local three-pack reshuffles every few hundred meters. A business that dominates one corridor can be completely invisible three miles away.
City rank tracking captures this spatial variation. It replaces the fiction of a single “city ranking” with a map of actual visibility across the entire service area. For agencies managing local SEO clients, this is the difference between guessing and knowing.
The technique works by simulating searches from a grid of GPS coordinates using Google's UULE parameter. Each coordinate produces a real local search result, as if a user were standing at that exact spot with their phone. The output is a spatial dataset you can visualize as a ranking heatmap, showing where the business is strong, where it is weak, and where competitors are winning.
City rank tracking and geo-location rank tracking are often used interchangeably, but they answer different questions. Geo-location rank tracking is the method: checking a ranking from an exact latitude and longitude, and making sure the results really come from that spot. City rank tracking is what you do with the method: cover a whole city or service area, compare neighborhoods, and report coverage. This guide is about the second part.
Why Single-Point City Tracking Fails
Most traditional rank trackers check from one location per city. They pick the city center (or a ZIP code centroid), run the query, and report a single number. For a compact town of 20,000 people, that might be close enough. For a real metro area, it is meaningless.
Houston covers over 1,700 square kilometers. Chicago sprawls across 600. Phoenix sits on 1,340. Checking from one point inside those cities and labeling it “your ranking in Houston” is statistically absurd. You are sampling one pixel from a photograph and describing the whole image.
The North Houston Problem
Consider a plumber based in north Houston. Their Google Business Profile is optimized, reviews are strong, and they rank #1 for “plumber near me” within a 3km radius of their shop. A traditional tracker checks from downtown Houston, 25km south. It reports rank #15. The agency panics, reworks the listing, changes categories, adjusts the description. None of it helps, because the actual problem is proximity, not optimization.
Meanwhile, the plumber is getting plenty of calls from their actual service area. The tracker was telling the wrong story from the wrong vantage point. A city-level rank check from downtown told you nothing about the business's real performance in the neighborhoods that matter.
The False Confidence Problem
The inverse is equally dangerous. A dentist near Chicago's Loop ranks #1 when checked from the city center. The report looks great. But in Lincoln Park, Wicker Park, and half the North Side, they do not appear at all. The client thinks they own Chicago. In reality, they own a 2km circle downtown and are invisible to most of their potential patients. Single-point tracking creates confidence where none is deserved.
What About ZIP Code Rank Tracking?
ZIP code rank tracking is the most common upgrade from a single city check: one rank per postal code instead of one per city. Under the hood it is usually one search per ZIP, located either at the code's centroid or with Google's UULE location parameter naming the postal code. Either way Google answers for the ZIP as a whole, so every business inside it gets one number.
The trouble is that ZIP codes are drawn for mail delivery, not for search. Their size varies enormously from dense downtowns to suburbs, and their borders ignore where customers actually come from. A business near the edge of a ZIP can rank well on its own street and badly at the centroid the tracker checks. ZIP-level data is still useful as a rough presence check across hundreds of locations, or for organic web rankings, which move less with distance than the map pack does. For Google Maps, use the ZIP codes as reporting labels and measure with a grid: group the grid points by the ZIP they fall in, and you keep the familiar breakdown without pretending one point speaks for the area.
The Grid Approach to City Coverage
City rank tracking solves the single-point problem by replacing one check with a structured grid of checks. You lay a matrix of points across the city at your desired radius, and each point receives a simulated Google search from its exact GPS coordinate.
A 13x13 grid gives you 169 data points. At a 10km radius, those points are spaced roughly 1.5km apart, covering about 314 square kilometers. Every point returns a real local search result, including the full local pack with business names, positions, and distances. Your target business gets a rank at each point, and the result is a complete spatial map of visibility.
How UULE Makes This Possible
Google's UULE parameter encodes a geographic coordinate into the search request. It tells Google to return results as if the search originated from that exact latitude and longitude. This is the same mechanism Google uses internally when your phone sends GPS data with a search. By generating UULE values for each grid point, you get authentic local results without needing 169 people standing in different parking lots. For a deeper look at this technique, see our guide on geo-location rank tracking.
From Raw Data to Heatmap
Once every grid point has a rank value, you color-code them and plot them on a map. Green for top positions, yellow for mid-range, red for bottom or unranked. The result is a heatmap that shows your client's actual visibility footprint across the city. Patterns that were invisible in a spreadsheet become obvious in seconds.
Step-by-Step: Running a City-Wide Rank Scan
Here is a practical walkthrough of how to run a city rank tracking scan from start to finish. The process takes under two minutes and produces a complete visibility map.
Center the Grid on the Business Location
Do not center on the city center. Center on the business itself. The grid radiates outward from the center point, so placing it on the business location means you are measuring visibility relative to where the business actually operates. For a multi-location business, run separate scans for each location.
Set the Radius to Match the Service Area
A neighborhood bakery might only need a 3-5km radius. A roofing contractor covering the whole metro needs 15-20km. A good rule: set the radius to cover the area where your client actually wants to get customers. There is no value in tracking visibility in suburbs your client does not serve.
Choose Grid Density
5x5 (25 points) for a quick check, 7x7 (49 points) for a reasonable overview, or 13x13 (169 points) for full-resolution analysis. For client reports and serious optimization work, 13x13 is the standard. It costs more credits but reveals patterns that smaller grids miss entirely. Large metros can go to 21x21 (441 points) on the Enterprise plan. Each point costs one credit, so a 13x13 scan is 169 credits.
Run the Scan and Read the Heatmap
Hit scan and wait. A 13x13 grid completes in under 90 seconds. When it finishes, you get a color-coded map overlay showing your rank at every grid point. Green clusters are your strongholds. Red zones are where competitors are beating you. Yellow areas are contested territory where small improvements could flip results in your favor.
Identify Weak Zones and Plan Optimization
The heatmap tells you exactly where to focus. If the north side is red, look at what competitors are doing there. Check their citations, reviews, and categories. If you see a sharp drop-off at a specific distance, that is a proximity wall you can push outward with stronger local signals. Use competitor tracking to see who dominates each weak zone.
Rank Tracking for a Multiple-Location Site
A business with several branches, or a franchise with one website and dozens of Google Business Profiles, has the same problem multiplied. One rank per city tells you nothing about which branch is carrying the brand and which one is invisible. Rank tracking for a multiple-location site works best when every location is treated as its own scan, measured the same way.
One grid per location, centered on its profile
Center each grid on the branch's own Google Business Profile, not on the city or the head office. Each location competes from its own pin, so a single grid stretched over the whole metro mixes the strengths of one branch with the weaknesses of another.
Same keyword, grid size, and radius everywhere
Locations can only be compared if they are scanned with the same settings. Pick one grid size and one radius per market type (dense downtown branches versus suburban ones) and keep them fixed. Then the visibility score of the Dallas branch and the Phoenix branch mean the same thing, and you can rank your own locations against each other.
Watch the overlap between your own branches
When two branches sit a few kilometers apart, their grids overlap. The heatmaps show where each one wins, and whether Google is showing one branch in the other's neighborhood. That is useful when deciding which location page to strengthen, or whether a new branch would add coverage or only split it.
Budget the credits before you schedule
The cost is locations × keywords × grid points. Ten locations tracked on three keywords with a 13x13 grid is 10 × 3 × 169 = 5,070 credits per round. One monthly round fits in the Agency plan's 20,000 monthly credits; running every combination weekly would not, so a common setup is the main keyword weekly and the rest monthly. Each scheduled scan tracks one keyword for one location: Agency allows 10 schedules, Enterprise has no limit, and the API (Freelance and above) can run the rest from your own scripts.
For larger rollouts, see how agencies structure multi-location grid tracking at enterprise scale.
Reading the Heatmap: What the Colors Mean
A city rank tracking heatmap uses a simple color scale to encode ranking positions. Understanding this scale is critical for interpreting results and communicating them to clients.
Green (Positions 1-3)
Dominant territory. The business appears in the local three-pack at these locations. Searchers see the business name, reviews, and a click-to-call button without scrolling. This is where calls and direction requests come from. Protect these zones.
Yellow (Positions 4-10)
Visible but not winning. The business shows up in the extended local results, but the user has to tap “More places” to see it. Click-through rates drop significantly outside the three-pack. These zones are your best optimization targets because they need the least effort to move into green.
Red (Positions 11-20)
Below the fold. The business exists in results but practically no one scrolls this far in a local search. Red zones indicate either strong competitor presence, excessive distance from the business location, or weak local signals in that area.
Gray (Unranked)
The business does not appear in the top 20 results at these locations. This usually means the searcher is too far from the business for Google to consider it relevant, or a competitor has overwhelming dominance in that zone.
Transition Zones Tell the Real Story
The most strategically important areas on the heatmap are the transitions: where green fades to yellow, or yellow turns to red. These boundaries show exactly where your visibility drops off. A sharp green-to-red transition means a competitor is cutting into your territory at a specific distance. A gradual green-to-yellow fade is normal proximity decay. Each pattern requires a different response.
3 Common Patterns and What They Mean
After running city rank tracking scans for hundreds of businesses, three patterns show up repeatedly. Recognizing them immediately tells you where to focus your optimization strategy.
Pattern A: Strong Center, Weak Edges
The heatmap shows a green core around the business location that fades to yellow and red at the edges. This is the most common pattern and it means: the Google Business Profile is well-optimized and proximity is working in your favor near the business, but your local authority is not strong enough to compete at distance.
Fix: Build geo-targeted citations and landing pages for the weak edge neighborhoods. Get reviews that mention those specific areas. The goal is to extend the green zone outward, not just protect the center.
Pattern B: Strong in One Direction, Weak in the Other
Green on the east side, red on the west (or north vs south). This asymmetry almost always means a competitor with a strong GBP is located in the weak direction. They are closer to those searchers, so Google favors them. You see this constantly with service-area businesses in the same industry: two HVAC companies on opposite sides of Phoenix, each dominating their half.
Fix: Use the competitor tracking overlay to identify who is winning in the weak zone. Then outwork them on reviews, content, and local links for those neighborhoods. You may not overcome proximity, but you can shrink their advantage.
Pattern C: Scattered Performance
No clear pattern. Green, yellow, and red cells are mixed seemingly at random across the grid. This scattered heatmap usually indicates inconsistent local signals: conflicting NAP (Name, Address, Phone) data across directories, duplicate listings, or category mismatches. Google is not sure where the business is authoritative, so rankings fluctuate unpredictably.
Fix: Audit citations and clean up inconsistencies before doing anything else. Fix duplicate GBP listings. Standardize the business name and address everywhere. Once the foundation is clean, rankings typically consolidate into a predictable pattern you can work with.
These patterns are not just diagnostic. They directly inform your local SEO tracking plan. A strong-center client needs citation expansion. A directional client needs competitive analysis. A scattered client needs a cleanup before any growth work begins.
What a City Rank Tracker Should Show You
A city rank tracker is a map rank tracker: the output is a map of ranks, not a table with one row per city. Whatever tool you use, check that it gives you:
- A rank at every grid point, plotted on a real map, with the businesses that outrank you at that point.
- Several grid sizes, so you can run a cheap 5x5 check and a detailed 13x13 on the same settings.
- A clear difference between “not in the results” and “no data for this point”. Water, failed requests, and empty results should not be painted as lost territory.
- Scheduled re-scans and a before-and-after comparison, so a change in coverage shows up without manual work.
To see what this looks like for your own business before spending anything, the free Google Maps rank checker runs a 3x3 grid around any listing with no account. It reads the first page of results, so it is a quick sample rather than a full city scan.
See Where You Rank Across Your City
Geogrid scans up to 169 points across your service area in under 90 seconds. See exactly where you rank, where you are invisible, and where competitors are winning. 200 free credits to start. No credit card required.