Learn

Geo-grid rank tracking

Geo-grid rank tracking measures local pack visibility by running the same query across a grid of geographic points (typically 3×3, 5×5, or 7×7), then visualizing per-cell rank as a heatmap.

Also known as:grid rank trackinggeo-grid SERP scanlocal rank heatmap

How geo-grid scans work

A geo-grid scan starts with a center point — usually the customer’s business address — and a service-area shape (a polygon, like a metro boundary, or a radius). The generator places N×N cells inside that shape, where N is the density (3, 5, or 7). For each cell, the system runs a localized SERP query anchored to that cell’s lat/lon, matches the customer’s Google Business Profile in the result set, and records the rank.

The final artifact is a rank vector — one integer per cell — that gets rendered as a color-banded heatmap. Where you rank top 3 stays green; where you fall off the map stays red. The implementation lives in backend/app/core/etl/geo/grid_generator.py and the per-cell SERP scrape is a DataForSEO Maps request pinned to the cell coordinates.

Why grid scans beat single-point checks

A single rank check tells you where you appear from one geocoded location — usually the centroid of your business address. The trouble is that “your rank” for a service-area query is genuinely a function of where the searcher is standing. Two blocks apart, the local pack can flip entirely.

A geo-grid scan exposes that variance. Where a single check says “you’re #4”, a grid scan says “you’re #1 in your immediate neighborhood, invisible three miles east, and rank #18 in the suburb where your competitor opened a second location.” That’s the difference between a number you can report and a heatmap you can act on.

Choosing a grid density

Density is the matrix dimension and the per-scan cell count. The tiers in backend/app/schemas/grid.py are:

  • LOW (5×5, 25 cells). Right for rural service areas where the next neighborhood is 20 minutes away and a block-by-block view doesn’t add signal.
  • MEDIUM (10×10, 100 cells). Default for most service-area businesses. Resolves city-wide variance without burning credits on duplicate cells.
  • HIGH (15×15, 225 cells). Dense urban metros where the SERP flips block by block and you need the resolution to see it.

Density only affects cell count — the per-cell methodology is identical across tiers, so a HIGH grid is just a MEDIUM grid with more resolution, not a different product.

Knowledge Panel ownership detection

When a query matches a specific business name (rather than a category like “plumber near me”), Google sometimes returns a Knowledge Panel instead of the standard local pack. From the searcher’s perspective, owning the Knowledge Panel is the strongest signal a brand can have — it’s the entire SERP branded for you.

Our geo-grid pipeline detects this case via backend/app/core/etl/audit/knowledge_panel.py (P-13). Cells where your business owns the Knowledge Panel get a crown overlay on the heatmap on top of the normal rank color band, so you can distinguish “ranks #1 in the pack” from “owns the entire Knowledge Panel” at a glance.

See it in the product

Local Rank Tracker

Polygon and radius grids across any density. Daily refresh. Per-cell competitor extraction. Try the free 3×3 scan before you upgrade.

Frequently asked.

What's the difference between geo-grid and a single-point rank tracker?
A single-point tracker asks one question from one geocoded location and gives you one number. A geo-grid runs that same question from dozens or hundreds of points across your service area and gives you a heatmap. If two locations a mile apart show wildly different rank for the same keyword — which is normal for local-intent queries — a single tracker averages that signal away. The grid surfaces it.
How big should my grid be?
MEDIUM (10×10, 100 cells) is the right default for most service-area businesses. Drop to LOW (5×5) for rural service areas where the next neighborhood is far enough that block-level resolution doesn't add signal. Step up to HIGH (15×15) in dense urban metros where the SERP genuinely flips block by block. The per-cell methodology is identical across tiers — density just changes how many cells you scan.
What's the radius between cells?
It depends on the service-area shape. A polygon grid spaces cells inside an administrative boundary (a metro, state, city, or zip), so the inter-cell distance is roughly boundary-area divided by cell count. A radius grid is a circular geofence with a custom kilometer radius — you set the radius, the generator spaces cells evenly. Either way, the cells are uniformly distributed inside the shape.
Why do my competitors rank differently in different cells?
Proximity is the dominant ranking factor in the local pack. A competitor with a storefront in the eastern half of town will outrank you in eastern cells regardless of how strong your overall GBP is, because Google's local algorithm gives a big boost to results geographically close to the searcher. The heatmap exposes exactly which competitors dominate which neighborhoods — and that's actionable in a way that 'they outrank you on average' isn't.
Does the searcher's location affect rank?
Yes — heavily. Local-pack ranking is sensitive enough to searcher location that you can see the pack reorder within a few city blocks. That's exactly what makes geo-grid scans useful: a single rank check pins searcher location to one point (usually the business centroid), so it can't see the variance. The grid pins searcher location to every cell, which is the only way to see what an actual customer in a specific neighborhood would see.
How often should I run a geo-grid scan?
Daily for active grid schedules. The SERP doesn't move that fast for the same query from the same point, so re-scanning more often than once per 24h cycle is mostly wasted. We persist results so historical trends fall out naturally — drag the date range and the heatmap re-renders from cached data.
Can I share a grid scan with my client?
Yes — every scan has a shareable embed widget (P-15). Drop the iframe into a client portal or hand them a public link; they see the heatmap without needing an account. The embed is read-only and respects the same rank data the in-app view shows.
Is there a free version?
Yes. Our free 3×3 scanner runs nine cells against any business in about 60 seconds. No account, no card. It's the same SERP pipeline that powers the paid product, just constrained to nine cells — useful for handing a prospect a real result during a sales conversation.

Ready to put this into practice?

rank.ai gives you geo-grid local rank tracking, AI visibility across nine surfaces, and GBP change monitoring on a single subscription.