A local SEO report is a normal SEO report plus four things: what people did on the Google Business Profile (calls, direction requests, website clicks), where the business shows on the map across its service area, how its reviews are moving, and how much website traffic came from the profile itself. Everything else, leads from search, Search Console clicks and the work plan, stays the same.
The hard part isn’t collecting those numbers. It’s knowing what each one actually counts, because the Business Profile figures mix in ads, count taps rather than phone calls, and update on different schedules. This guide covers what to add, where each number comes from, and the footnotes that stop a client from reading too much into it. All of it was checked against Google’s own help pages and API reference in November 2026.
Start from a normal SEO report
If you don’t have a monthly report yet, build that first. Our SEO reporting template covers the seven sections every report needs: a short summary, leads from organic search, Search Console visibility, non-branded growth, what moved, site health, and the work and plan. A local report keeps all seven and slots the local sections in after the leads section, because for a plumber or a dentist, a call from the map listing is a lead too.
Where each local number comes from
| Number | Source | How it counts | Watch out for |
|---|---|---|---|
| Calls | Business Profile performance report | Taps on the call button | Not answered calls; includes ad clicks |
| Direction requests | Business Profile performance report | Requests for directions | Includes ad clicks |
| Website clicks | Business Profile performance report | Clicks on the website link | Includes ad clicks |
| Profile views | Business Profile performance report | Unique people, once a day each | Includes views from ads |
| Search terms | Business Profile performance report or API | Terms that showed the profile | Monthly only; small counts hidden |
| Map rankings | A rank grid tool | Position from many points | Only as good as the points you pick |
| Visits and leads from the profile | GA4, with a tagged website link | Sessions and key events | Needs UTM tags set up first |
Section 1: Business Profile actions
Open the profile’s performance report. Google lists what it can show: interactions, searches, views, direction requests, calls, website clicks, messages, bookings, and a few business-specific ones such as menus and products. Only the metrics that apply to the business appear (Google’s performance report help).
For most service businesses, three of those are worth a line each: calls, direction requests and website clicks. They are the closest the profile gets to a lead. Views and interactions are useful context but shouldn’t be the headline.
Three footnotes from Google’s documentation belong in your report, once, in small print:
- Ads are mixed in. Google says performance data “includes views, searches, and actions from both organic search results and Google Ads.” If the client ran Google Ads that month, the profile numbers are not purely SEO. Ask before you take credit.
- Calls are taps, not conversations. The Business Profile Performance API defines the calls metric as “the number of times the business profile call button was clicked” (DailyMetric reference). A tap that goes to voicemail or hangs up still counts. If the client’s phone system logs answered calls, that number is the better one to quote.
- Views count people, not page loads. Google counts each person once a day, so a customer who checks opening hours three times on Monday is one view.
Compare each action with the same month last year as well as last month. Local demand is seasonal: an HVAC company’s calls in July say little about August.
If you can get the last two numbers from the client, report all three. If you can only get the first, call it “call button taps” in the report so nobody mistakes it for booked work.
Section 2: what people searched to find the profile
The Searches part of the performance report lists the terms people used when the profile appeared. Google updates it at the start of each month, and it can take up to 5 days to show up, so this section always describes last month, not this one.
The useful split is name searches against service searches. If most terms are the business name or a misspelling of it, people only find the profile when they already know the business. If “emergency plumber” or “water heater repair” appear and grow month on month, the profile is winning new customers. One line covers it: “Searches for services, not our name, rose from 30% to 38% of the list.”
If you pull the numbers through the Business Profile API, the search keywords endpoint returns monthly impressions per term, and for small terms it returns a threshold instead of a count, which the API reference describes as meaning “the actual value is below this threshold.” Report those as “under N”, never as N.
Section 3: map coverage from a rank grid
A single rank check (“we’re third for plumber”) is close to meaningless in local search, because Google ranks map results on relevance, distance and prominence, and distance is “how far each business is from the customer who’s searching” (Google’s local ranking help). The same search from two streets away can give a different top three.
A rank grid fixes that. It runs the same Maps search from a grid of points around the business and records the position at each one. We built one into an open source app and wrote up how a rank grid works and what a scan costs; paid local rank trackers sell the same idea.
To keep this section readable:
- Track two or three money terms, not twenty. Pick the services that bring the most revenue, in the words customers use.
- Keep the grid identical every month. Same center, same size, same spacing, same day of the month. Change any of them and the comparison breaks.
- Report one number per term: how many points the business is in the top 3 at. A count out of 25 is easy for a client to follow from month to month.
- Show the map once, then say where it is weak and what you will do about it.
Section 4: reviews
Google says “more reviews and positive ratings can help your business’s local ranking” (local ranking help), and reviews are what customers read before they call. Four numbers cover it: new reviews this month, total reviews, average rating, and how many of the new ones got a reply.
The reply count is the one the client can act on. Owners and managers reply from the profile’s Read reviews screen, only on verified profiles, and Google checks each reply against its content policies first: it says replies “usually take up to 10 minutes to review, but sometimes a review can take up to 30 days” (Google’s review reply help). If a reply you sent isn’t showing yet, that is why.
Skip “sentiment scores” from review tools unless the client asks. Quote one useful review in full instead, good or bad, and say what it tells you.
Section 5: traffic and leads that came through the profile
Website clicks in the performance report tell you someone left the profile for the site. They don’t tell you what that person did next. For that you need GA4, and there are two ways to get it.
Tag the website link. Add UTM parameters to the website URL on the profile. Google’s Analytics help says you “should always use utm_source, utm_medium, and utm_campaign” (URL builder help). A common setup is:
https://example.com/?utm_source=google&utm_medium=organic&utm_campaign=gbp-listing
Using organic as the medium keeps these visits in GA4’s Organic Search channel, which matches any session where the medium “exactly matches organic” (default channel group). The campaign name then lets you split profile visits from ordinary web results in the Traffic acquisition report, and see their key events: form fills, quote requests, clicks on the phone number. Link straight to your own page with the tags on the end. Google’s Business Profile guidelines say not to use URLs that redirect or refer users to other landing pages, so skip link shorteners.
Link the profile to GA4. GA4 can now import Business Profile metrics directly. Once linked, a Google Business Profile collection appears in your reports with interactions, website clicks, calls, directions, messages, bookings and menus (Google’s GA4 linking help). You need Editor or Administrator on the GA4 property and Owner or Manager on each profile. The limits matter for reports: data only covers the last 6 months, metrics from several linked profiles are added together with no way to split them by location, and you can’t use them in explorations or comparisons. It is handy for one location. For a multi-location client, pull each profile’s numbers separately.
How to build the local report each month
- Set up once. Add UTM tags to every profile’s website link, mark leads as key events in GA4, and save the rank grid settings for each money term.
- Wait for the data. Search terms land at the start of the month and can take 5 days, so run the report on the 6th or later.
- Pull the profile numbers. Calls, direction requests and website clicks against last month and last year, plus the share of service searches.
- Run the grid. Same terms, same grid, and note the top 3 count for each.
- Count reviews and replies. New reviews, rating, unanswered ones.
- Read GA4. Sessions and key events from the tagged profile link.
- Write the summary. Three sentences on what changed, why, and what you need from the client.
Step 7 is the one that keeps the client reading. A business owner wants to know whether the phone rang more and why. “Map coverage for ‘plumber’ went from 7 to 11 points after the new east side page, and calls rose by 12” answers that. If you want the numbers to arrive without copy and paste, our guide to automating SEO reporting shows how to schedule a Data Studio report and log monthly figures to a sheet.
What to leave out of a local report
- Citation counts. “Listed on 84 directories” says nothing about results. Report a citation only when you fixed a wrong address or phone number on one that matters, such as the ones in our list of directories worth your time.
- Total profile interactions as the headline. It adds calls, clicks and direction requests together, which hides which one moved.
- Rankings from a single point. See section 3.
- Photo view counts. Nice to know, and nothing the client can act on.
FAQ
What should a local SEO report include?
Leads from organic search, then Business Profile calls, direction requests and website clicks, the share of profile searches that are for services rather than the business name, map coverage from a rank grid for two or three terms, new reviews and replies, and a short written summary with next steps.
Is Google Business Profile data enough to measure local SEO?
No. It shows what people did on the profile, but it mixes in Google Ads activity, counts call button taps rather than answered calls, and says nothing about what visitors did on the website. Pair it with GA4 data from a tagged profile link and, if possible, the client’s own call log.
How do you track local SEO rankings?
Use a rank grid that runs the same Google Maps search from many points around the business, because Google ranks map results partly on the searcher’s distance from the business. Keep the grid settings the same each month so the results compare.
How often should you send a local SEO report?
Monthly suits most local businesses. Run it on the 6th or later, because Google updates profile search terms at the start of each month and says they can take up to 5 days to appear.
The short version
Keep the normal SEO report and add five local sections: profile actions, profile searches, map coverage, reviews, and tagged traffic from the profile. Footnote the ads overlap and the difference between call taps and calls once. Then write the three sentences that say whether the phone rang more, and why.
