How-ToApril 202611 min read

How to Track Local SEO Progress: 3 KPIs That Actually Matter

The average local SEO report tracks 30 metrics and tells you nothing. You see position #4 on Monday, #6 on Wednesday, #3 on Friday, and all you know is that something is noisy. After running this framework across 120 client accounts, we stripped it down to 3 KPIs that actually tell you whether the needle is moving. Here's the monthly rhythm, the thresholds we use, and the spreadsheet structure you can copy.

TL;DR

  • Grid share of voice — not average rank. One rank number hides the 168 other points on a 13×13 grid.
  • 90-day rolling review velocity — not lifetime count. Stale reviews age out of the signal.
  • Profile conversion rate — calls + directions + website clicks per 1 000 profile views. The only KPI Google can't fake and the only one that predicts rank slides.

Why 3 KPIs and not 30

Every tracking dashboard starts the same way — you export everything the API gives you, call it "visibility," and move on. Three months later nobody opens the report because no single number moves in a way that correlates with revenue.

The filter we use: a KPI is worth tracking only if (1) it changes month to month, (2) a change in the KPI correlates with a change in leads, and (3) a worker can influence it with a specific action. Most "local SEO metrics" fail at least two of those tests. The three below pass all three.

The monthly framework

#FactorWeightTrend
01
Grid share of voice
The percentage of grid cells in your 13×13 scan where you rank in the top 3. Replaces "average rank." A business at rank 1 in 12 cells and rank 40 in 157 cells has a share of voice of 7% — not "average rank 38."
Signal: Top-3 cell count / 169
40%
→ flat
02
90-day review velocity
Reviews received in the last 90 days, rolling. Stop reporting lifetime count — it doesn't change and Google weights it less than recency now. Set a floor (6–10/month for service, 20+/month for retail) and track whether you're hitting it.
Signal: Rolling count, reset monthly
30%
↑ up
03
Profile conversion rate
(Calls + direction requests + website clicks) / profile views × 1 000. The Maps surface's click-through number. If it slides, you will slide in rank within 4–6 weeks. It's the only leading indicator in the stack.
Signal: GBP insights → actions per 1 000 views
30%
↑ up

Weights here are the attention allocation — 40% of your monthly review time on share of voice, 30% on reviews, 30% on conversion. Not ranking weights.

1. Grid share of voice — how to calculate it

The math: run a 13×13 grid scan (169 points). Count how many cells have you at rank 1, 2, or 3. Divide by 169. That's your share of voice as a percentage. A healthy service business in a mid-size metro usually sits between 25% and 55%. Below 15% means you're invisible outside your immediate block. Above 65% means you're likely capped by proximity, not opportunity.

Why this beats "average rank": if you move from rank 8 to rank 5, average rank drops by 3 and looks like progress. But if you were already rank 2 in the 12 cells closest to you, and the improvement happened in cells 8km away that nobody searches from, your leads don't change. Share of voice weights by presence in the top-3 only, which is where 76% of clicks go.

Track it monthly, on the first Monday of the month, at the same time of day (proximity is time-sensitive on mobile). Report month-over-month delta, not raw number. If delta is positive, the strategy is working. If it's flat for 2 months in a row, something is blocking — usually reviews or category.

2. Review velocity — the signal that ages out

The one spreadsheet column that changes every report: how many reviews came in during the last 90 days. Not lifetime. Not "since last month." Rolling 90-day, computed the same day every month.

Why rolling: it forces the conversation. A client who generated 45 reviews in Q4 and 6 in Q1 will show a declining velocity even though the lifetime count keeps growing. That decline predicts the rank slide that will show up 60 days later. If you catch it in the monthly report, you intervene before the business owner notices a lead drop.

Thresholds we use, by vertical: home services 8/month minimum, restaurants 12/month, retail 20/month, healthcare 6/month (slower trust cycle), B2B services 4/month. Below the floor for 2 consecutive months → escalate review acquisition before anything else.

3. Profile conversion rate — the leading indicator

GBP Insights gives you profile views and three action counts: calls, direction requests, website clicks. Add the actions, divide by views, multiply by 1 000. That's your conversions per thousand views. Typical range: 40–90 for a healthy service business. Below 30 is a red flag even if rank looks good.

This is the only KPI in the set that Google uses as a ranking input, not just an output. Profiles with rising conversion rates climb; profiles with falling rates slide. If you see the conversion rate drop 2 months in a row, your rank will drop in month 3 unless you fix the profile — usually cover photo, description, or response rate to messages/Q&A.

The actionable version: report it alongside share of voice. If share of voice is rising but conversion rate is falling, you're ranking better for queries you can't convert — usually a category mismatch. If conversion is rising but share of voice is flat, the profile is strong but needs more visibility levers (reviews, citations top 8, website schema).

The spreadsheet structure we copy every month

  1. 01Column A — Client name. Column B — Month (YYYY-MM). Column C — Share of voice %. Column D — Delta vs previous month (pts).
  2. 02Column E — Reviews in last 90 days. Column F — Target floor for vertical. Column G — On/off floor flag.
  3. 03Column H — Profile views. Column I — Total actions. Column J — Conversion per 1 000. Column K — Delta vs previous month.
  4. 04Column L — Flag color (green/yellow/red) based on the 3 KPIs together. Red if 2+ are off target. Yellow if 1. Green if none.
  5. 05One row per client per month. Sort by flag color descending. Spend the monthly review on red rows, not on rewriting narrative for green rows.

What we stopped tracking

Average rank position
Hides 95% of the variance across a grid
Dropped
Lifetime review count
Doesn't change, doesn't predict anything
Dropped
Citation count
Top 8 matter, count is theater
Dropped
GBP posts published
No rank correlation in our data
Dropped
Keyword density on site
Not a local signal, stopped in 2022
Dropped

Dropping these cut our monthly report prep time from 2 hours per client to 25 minutes, and client retention improved because the report now says something specific every month instead of burying the signal in a vanity dashboard.

Monthly rhythm — what to do the first Monday

  1. 01Run 13×13 grid scan for top 3 target queries. Export share of voice per query.
  2. 02Pull GBP Insights for previous calendar month. Note profile views and 3 action counts.
  3. 03Count reviews received in last 90 days (GBP → Reviews, filter by date).
  4. 04Fill spreadsheet row. Flag color auto-computed from thresholds.
  5. 05For red rows only: write 1 sentence on what's off, 1 sentence on the action for the next 30 days.
  6. 06Send. 15-minute client call for red rows, async report for green/yellow.

Track the 3 KPIs with one grid scan

Share of voice, proximity decay, and per-query breakdowns in 90 seconds. 200 free credits on signup — no credit card.

Continue reading

Related resources