On this page
Local SEO is working when people tap Call, Directions, or your website on the Google Business Profile — not when a rank-tracker screenshot moves. Google’s help page “Understand your Business Profile performance” defines those cards. Views count unique people once per day. Searches update at the start of the next month and can take five days to appear. Ranking is not guaranteed.
People search “how to measure local seo,” “google business profile insights,” and “how to measure seo success.” This URL owns those operator questions: which Performance cards to copy, which screenshots to ignore, and how long to wait before you decide the work failed.
Do this from your agent. On Professional, Cursor or Claude can pull connected listing fields after you confirm. Manage Google Business Profile with your agent or see Your Agent. Ninja does not replace Google’s Performance report, and it does not promise rank.
What should I actually measure for local SEO?
Three action metrics on the Business Profile, plus one money metric you already have in the shop.
| Keep | Source | Why it is the job |
|---|---|---|
| Calls | Business Profile → Performance | Customer tapped the call button on the listing. Google: add the phone number or this card is empty. |
| Directions | Business Profile → Performance | Customer asked Maps for a route. Google now counts unique requests and tries to drop multi-taps, cancellations, and spam. |
| Website clicks | Business Profile → Performance | Customer left Google for your site. Highly qualified only if the site can book or call. |
| New jobs / new patients / new tickets tagged “Google” | Your CRM, POS, or a paper tally | The only number that pays rent. Digital cards without this are a hobby. |
Views and searches are context, not the score. A view means someone saw the profile. A search term means the profile appeared for that query. Neither is a customer.
Do not start with BrightLocal grid screenshots, Domain Authority, or “organic sessions” with no city filter. Those are the vanity stack this URL used to teach. They still have a place after the action cards are moving.
Where do I find Google Business Profile insights?
Google moved the old “Insights” language into Performance.
On desktop:
- Open the Business Profile you actually own (the live Maps listing, not a duplicate).
- Click Performance.
- Pick a date range. Click Apply.
On the Google Maps app: open your profile → Performance. Not every card is available on every account. Google says performance data includes views, searches, and actions from organic results and Google Ads. If you run Local Services Ads or other Google Ads against the same location, do not treat the totals as “organic SEO only.”
Business Home (the newer owner surface) repeats the same family of cards: interactions, calls, chat clicks, bookings, directions, website clicks, menu clicks. Bookings only populate if a booking provider is connected. Menu clicks only populate if you have menu content.
If Performance is blank, you usually have one of four problems: the profile is unverified, you are looking at the wrong location, the date range is last 7 days on a brand-new listing, or Google’s report is delayed. A delay is not the same as a Maps drop. Check calls and directions on a longer range before you rewrite the category.
Why don’t my views match the email notification?
Google says the Performance views number can be lower than the count on the public profile and in email notifications. That is by design, not a bug in your listing.
Google’s own reasons:
- Views count unique visitors, not every refresh.
- A person on phone + desktop + Maps + Search is counted a limited number of times.
- A person is counted once per day. Repeat opens the same day do not stack.
- The metric counts views of this Business Profile, not every time your brand appears anywhere on Google.
So: a “views down 18%” Slack from an agency comparing the email blast to the Performance card is usually a definition mismatch. Compare Performance to Performance, same date range, month over month. Do not mix the email number into the spreadsheet.
Why is the searches metric stuck until next month?
Google: the Searches metric (the terms people used when your profile appeared) updates at the start of each month and might take up to five days to show. You cannot pick the queries. Appearance is not a ranking you control.
That is why owners think Insights “broke” on the 12th. Calls, directions, and website clicks still move during the month. Searches sit still until the next monthly dump. If views and actions change and Searches does not, you are looking at the lag, not a deindex.
Do this instead of refreshing Searches every Monday:
- Copy this month’s calls / directions / website clicks from Performance.
- Leave last month’s search-term list in a column labeled “lagged.”
- Only panic if two full months of Searches stay frozen and the action cards also go to zero.
A stuck Searches card with live calls is a reporting quirk. Zero actions and zero views on a 28-day range is a visibility problem: verification, duplicate listings, a category change, or a suspension.
How do I tell calls, directions, and website clicks apart?
They are not interchangeable. A service-area plumber should not “lose” because directions are low. A cafe should not “win” because website clicks are high and nobody walked in.
| Business type | Primary action | Secondary | Trap |
|---|---|---|---|
| Storefront (dentist, salon, restaurant) | Directions + calls | Website clicks for booking | Website clicks to a homepage with no book button |
| Service-area (plumber, HVAC, cleaner with hidden address) | Calls | Website clicks | Obsessing over directions you told Google to hide |
| Hybrid (shop + mobile crew) | Calls + directions | Website | One profile trying to be two businesses |
Google counts Calls as taps on the call button, not minutes on the phone, not answered vs voicemail. If the number on the profile is a call center or an old cell, the card is still “success” while the shop is chaos. Put the number a human answers.
Directions are unique route requests. Google explicitly changed the count to handle multiple taps, cancelled routes, and spam. A spike after a festival weekend is real demand. A spike after you changed the pin to a denser ZIP is often a distance cheat that will get filtered.
Website clicks leave Google. They only count if the URL on the profile is correct. A click to a parked domain, a Facebook page, or /start on someone else’s product is wasted. For Ninja customers the live site is easyninja.co — your listing should point at your site, not a vendor.
Interactions is a rollup (calls + chats + bookings + directions + menu + website). Do not manage to the rollup. Manage to the one action that becomes a job.
How long does local SEO take to show in Insights?
Google does not publish a calendar for Performance. It does publish the Searches lag (next month, plus up to five days). Treat everything else as direction of travel over 28 days, not a Tuesday screenshot.
| Starting point | First honest read | What is not a timeline |
|---|---|---|
| Unclaimed or empty profile | Claim, verify, then wait until you have 14 days of Performance after verification | “Rank in 60 days” |
| Claimed, quiet listing | 28-day calls / directions / website vs the prior 28 | Overnight 3-pack |
| Category or address edit | Two mornings of a money-query Maps check, then 14 days of action cards | Toggling category every other day |
| Review push | New reviews appear with their own delay; do not expect the action cards to jump the same afternoon | Buying reviews |
“How long does local seo take” is a real query. The honest answer: the profile work is immediate; the report is lagged; the pack slot is not guaranteed. Dense categories (dentists, lawyers, HVAC in a metro) take longer than a new plumber in a small town. One Google Post you approve is not a measurement event.
If you need a rule for the Monday meeting: do not declare a campaign dead until two full 28-day windows after the last real profile edit. Edits that dump a pack overnight (keyword in the name, wrong primary category, duplicate) are the exception — those you check the next morning on Maps, not in Insights.
How do I measure local SEO in Google Analytics without lying to myself?
GA4 is for what happened after the website click. It is not a Maps rank tool and it is not a substitute for Performance.
Useful, if you set it up:
- Traffic acquisition filtered to google / organic and landing pages that are actually local (service + city, not the blog).
- Key events: form submit, click-to-call on the site, booking complete.
- Host and landing page. easyninja.co and leftover hosts are different properties in our own reporting; your shop should not mix staging URLs into “SEO wins.”
Not useful:
- Total users up because you ran a Facebook ad.
- “Organic search” with no geo and no landing-page filter.
- Ranking a blog post for “what is local seo” and calling it a Maps win. That query is informational. The money query lives on the Business Profile.
Google Search Console is the website cousin of Performance: queries and pages for the site, not the pin. Filter queries that include the city or “near me.” GSC query breakdowns under-count because Google anonymizes rare queries — use unsegmented totals for the site, then treat the query list as directional.
If GA4 sessions from google / organic are up and Performance calls are down, you improved the website and lost the listing (or you are counting brand navigational traffic). Fix the listing first. See how to rank in the Maps 3-pack.
The Monday scoreboard (six numbers)
You do not need a BI tool. One row per month. Copy from Performance, then add the shop number.
| # | Metric | Source | Rule |
|---|---|---|---|
| 1 | Calls | Performance | Same date range every month (1st–last, or trailing 28) |
| 2 | Direction requests | Performance | Ignore if you are a true service-area business with hidden address |
| 3 | Website clicks | Performance | Confirm the URL on the profile still 200s |
| 4 | New reviews (count) | The live profile | Recency beats a 2019 pile |
| 5 | Average rating | The live profile | A 0.2 drop with a volume spike is a reply problem, not an Insights problem |
| 6 | New customers who said Google / Maps | You, every intake | If you do not ask, you cannot compute ROI |
Optional seventh, lagged: last month’s top search terms from Performance. Use it to check whether the primary category still matches the words people type. Do not optimize the business name to those words — that is how listings get suspended.
Review this on the first Monday you can after the 5th, so Searches has had a chance to land. If you meet on the 2nd, leave Searches blank on purpose.
Vanity metrics that waste the meeting
These are not evil. They are not the score.
Grid rank / “you’re #1 in ZIP 33609.” A logged-in desktop grid is not the pack a stranger sees on a phone at 8pm. Distance dominates. You cannot buy distance. Google says there is no way to request or pay for a better local ranking.
Profile Strength. Google’s Profile Strength Indicator helps you fill missing fields on a verified listing. Filling the bar is hygiene. It is not a rank or a call forecast.
Citation count. Identical name, address, and phone on Google, Apple Maps, Bing, Facebook, and Yelp is prominence hygiene. A 200-directory audit is not.
Post volume. Posts you approve can carry a service name. They are not a ranking lever that substitutes for category, hours, or reviews. Ninja drafts; you confirm. That is done-for-you drafting, not no-action publishing.
Impression share in Ads. If Performance includes Google Ads, a paid spike will look like SEO. Split the date range against weeks you did not advertise, or you will scale a campaign that is just the ad account.
“Organic traffic” without conversions. A Learn article ranking for an informational query is a different game than a plumber in the pack. Do not mix them in the same cell.
What good progress looks like (without a rank promise)
For a shop starting from a thin or incomplete profile:
Weeks 1–2. Profile verified. Primary category matches the money query. Hours true. Phone answers. Performance is no longer empty. You have a baseline, not a win.
Days 14–28. Calls or website clicks should move if people can find you at all. If they do not, you are not in the contest yet: wrong category, duplicate, unverified, or a pin in the wrong place. Check Maps as a stranger. Do not write another blog post.
Month 2–3. Review count growing because you asked, not because you bought. Replies on the 1–2 stars. Action cards up versus the first 28-day baseline. 3-pack for a money query is possible in a small town and still not guaranteed in a metro.
Month 6. You can show a shop-level “found us on Google” tally that roughly tracks the action cards. If the cards are up and the till is not, the leak is after the tap (voicemail, no book button, price shock). That is operations, not Insights.
Ninja can keep categories, descriptions, services, photos, and keywords in one place so you are not hunting fields before the Monday copy-paste. Posts and review replies stay owner-approved add-ons. Ranking is not guaranteed. GET STARTED.
How to measure local SEO without a rank tracker?
Copy calls, directions, and website clicks from Business Profile Performance for a trailing 28 days. Add new reviews and the number of new customers who said Google. That is the score. A ZIP-code grid is optional context. Google does not sell local rank.
How do I check Google Business Profile performance?
Desktop: Business Profile → Performance → set the date range → Apply. Maps app: your profile → Performance. Google’s help article is “Understand your Business Profile performance.” Searches lag until the next month. Views are unique, once per day.
Does Ninja report these metrics automatically?
Ninja is done-for-you Google Business Profile software: you connect Google; Ninja helps with categories, descriptions, services, photos, and keywords. It is not a replacement for Google’s Performance report and it does not promise that calls will rise. Posts and review replies are add-ons you approve. GET STARTED.
How to measure SEO success if I also run Google Ads?
Performance can include organic and ads. Label the weeks you advertised. Compare a quiet 28-day window to an advertised window before you credit “SEO.” Website clicks from the listing are still useful. Do not add Ads clicks on top of Performance website clicks — you will double-count.
How long before I decide local SEO is not working?
Two full 28-day windows after the last real profile edit, unless Maps already dropped you after a category, name, or address change — then check the pack the next morning. Searches not updating mid-month is not failure. Zero calls and zero views on 28 days is failure to appear.
Get the Google Business Profile work done for you
Connect Google. Ninja helps with categories, descriptions, services, photos, and keywords. Posts and review replies stay owner-approved add-ons. Ranking is not guaranteed.
GET STARTEDContinue reading
Local SEO Fundamentals
How to Rank in the Google Maps 3-Pack
15 min read
Google Business Profile
Google Business Profile: The Ultimate Optimization Guide
7 min read
Local SEO Fundamentals
Local SEO Ranking Factors: What Actually Matters in 2026
6 min read
Getting Started
DIY vs Agency vs AI Local SEO: Costs, Pros, Cons, and Best Choice
6 min read