A monthly local SEO client report needs five things, in this order. Did map visibility move, and where. What the Google Business Profile produced in calls, direction requests and website clicks. What happened with reviews, including how many got a reply.
Then what work was finished, in words the client can repeat to a business partner. Then what you plan to do next month. That is the whole document. Everything else is an appendix, and most of it should not exist.
Read this before the numbers start. The dermatology clinic used throughout is an illustration and not a client, and every figure in every sample sentence below was made up to show the shape of a line. None of them describe a real result for a real business.
The order matters more than the contents. Clients read the first screen and skim the rest, so whatever sits at the top is what they believe the month was about.
Put a traffic chart first and you have told a clinic owner that SEO is about traffic. Put the map first and you have told her it is about being found where her patients live. Both reports can hold identical data and produce very different renewal conversations.
The five sections, and why the order is the trick
Take a small dermatology clinic in a city with four or five competing practices within a few miles. The owner is a doctor.
She sees patients all day, gets your report at nine at night, and gives it four minutes before her attention goes elsewhere. Those four minutes decide whether she renews.
In four minutes she can absorb one map comparison, three numbers, one sentence about reviews, and a short list of what happens next. That is the real page budget.
Every extra section competes with the ones that matter. A padded report is not generous. It is a way of hiding that the important parts are thin.
So the sequence is: visibility, profile performance, reviews, work completed, next month. Nothing in front of visibility, nothing between the five, appendices after and clearly labeled.
Section one: show the map, not the average
The first thing on the page is a comparison of two grid scans, last month and this month, for one keyword the clinic actually earns money from. For a dermatology practice that is a cosmetic or medical service term, not the practice name. Branded searches always look good and prove nothing.
Under the two maps goes one sentence naming the change in coverage and the part of town it happened in.
A line like “top three coverage for the main treatment term went from about a quarter of the grid to just under half, almost all of it on the east side” is a complete report headline. The client can repeat it. A table of positions cannot.
Why average position is the wrong headline
Average position across a grid moves for reasons that have nothing to do with your work. About 55 percent of the Map Pack decision is plain distance between searcher and business, weighed ahead of everything else. The Map Pack is the block of three businesses shown above the map.
So a grid average is mostly a measurement of geography. Widen the grid and the average gets worse. Tighten it and the average improves. Neither change means anything happened.
Coverage is the honest metric: what share of measured points show the business in the top three, and which points those are. A clinic that holds the top three across the neighborhoods its patients drive from is winning, even if the whole grid average looks mediocre.
The outer ring of a grid is often suburbs the practice was never going to serve. Say that in the report instead of letting a bad average sit there unexplained. Our writeup on geo grid rank tracking covers how the sampling works, and reading a heatmap covers what the color patterns mean.
Lock the grid before you report from it
A grid comparison is only evidence if nothing about the grid changed. Fix the center point, the number of points, the spacing and the keyword list at the start of the engagement, then leave them alone for the length of the contract.
Widen the radius in month four because coverage looked thin, and every earlier month stops being comparable. That gives a client good reason to distrust the flattering months too.
Keep three to five keywords in the main narrative. A dermatology clinic might run one general term, one high value cosmetic term, and one condition term patients search by name. Everything else goes in the appendix, if the client asked for it.
50 keyword tables are not thoroughness. They are a way of making sure nobody notices which ones did badly.
Section two: what the profile actually produced
The second screen is Google Business Profile performance. It should be three numbers with last month beside them: calls, direction requests and website clicks.
These are the closest thing local SEO has to an outcome the client recognizes without translation. A doctor understands “11 more people tapped the call button” instantly. She does not understand impressions.
The three numbers to lead with
Calls come first for a clinic because a phone call is how an appointment gets booked. Direction requests come second because they mean someone decided to physically show up. Website clicks come third, and they are the softest of the three, because a click can be someone checking hours.
Give each number a prior period beside it and nothing else. No percentage change on a base of four. If calls went from four to seven, write four to seven, because “75 percent growth” on tiny numbers makes a smart client trust you less.
Where Google’s own numbers will mislead you
Profile performance data has real limits, and an honest report names them. Views and searches are not visits and not leads. Comparison windows vary in length, so a month with 31 days beats a month with 28 before anything else happens.
Seasonality moves a dermatology practice hard. The months around summer look nothing like the months after the holidays.
There is also the branded question. If a chunk of the search terms driving those calls are the practice name, the clinic is being found by people who already knew about it. That is not local SEO working. That is word of mouth arriving through Google.
Split branded from unbranded in the report if you can. It sometimes makes your numbers look worse. Do it anyway. The client who eventually notices on her own will assume you were hiding it.
Section three: reviews, and the reply rate nobody reports
Of everything you can influence, reviews sit second only to the profile itself, somewhere around a fifth of that weight. They deserve real space rather than a single count.
Report four things: reviews gained this month, current rating, how many reviews you replied to, and how fast the replies went out. Most agency reports show the first two and quietly skip the second two. That is convenient, because the second two are the part the agency is responsible for.
Reply rate is a service metric, not a vanity metric
Review count is largely the clinic’s job: whether the front desk asks, whether the review link is on the visit summary, whether the QR code sits at the checkout desk.
Reply rate is entirely yours, if replies are in scope. Reporting it puts your own performance on the page. That is uncomfortable, and it is exactly why clients believe the rest of the report.
Be careful what you count as review work. Incentives for reviews are against Google’s rules. So is review gating, and so are staff quotas and asking patients to name the person who treated them.
A report line that boasts about a review push built on any of those documents a policy violation. Our guide to replying to Google reviews covers the wording that holds up.
When a reply is written but never published
Almost no agency report accounts for this. Google now screens business replies against content policy before they publish. Most clear in around 10 minutes, but the process can take up to 30 days, and the API exposes three states: pending, rejected, approved.
A reply your dashboard shows as sent can be sitting in review, or quietly rejected. The client then sees an unanswered review on the profile while your report claims 100 percent reply rate.
GMBapi looked at 12,752 rejected replies. Five star reviews attracted 92.6 percent of the rejections, and the typical rejected reply had been posted roughly 50 days late. Slow, cheerful, templated replies to happy patients are the ones most likely to vanish.
So report reply speed, not just reply count. Spot check a few replies on the live profile before you send the document.
The same honesty applies to reviews that disappear. Google’s Maps safety reporting counts hundreds of millions of policy violating reviews blocked or deleted in a single year, plus millions of fake profiles.
Review counts go down sometimes, and it is not always something you did. Say so in the report rather than letting the client find a drop and assume the worst.
Section four: work completed, in language the client can repeat
This section fails when it is a task log. “Updated 14 service area entries, published 4 posts, submitted 12 citations” tells a doctor nothing except that you were busy, and busy is not what she is buying.
Write each item as the change and the reason, in one line. “Changed the primary category from the general dermatology option to the one that matches the treatment we want to be found for, because primary category is the single strongest field on the profile.”
That is a sentence a client can repeat to her practice manager. Repeating it is how retainers survive staff turnover.
Cut the items that do not deserve credit. The leaked API documentation puts service area data in the display and geographic consistency column rather than the ranking one, so adding 40 service areas is housekeeping, not an achievement.
Google posts are similar. A What’s New post stays visible for roughly half a year, not the week most people assume, so a monthly count of posts published overstates the work by a lot. Citation submissions are real work but slow, and the honest line says so.
The weighting is covered in local SEO ranking factors, and citations and NAP consistency is worth linking for a client who wants detail.
One more line belongs here that most reports omit: changes you did not make. Google writes some of the panel itself now. Its AI drafts service entries and description text, and items have appeared that neither of you entered.
If something showed up on the clinic’s profile that neither of you put there, it goes in the report as a note, not as a surprise three months later.
Section five: next month, including the thing you will not do
Three items. Not 10. Each with a sentence on what it is expected to change and roughly when. “Rewrite the two treatment pages that currently target the same term, which should help local organic before it helps the pack, probably over six to eight weeks.”
Then add one line naming something you are deliberately not doing, and why. “We are not chasing the north side of the grid this quarter, because proximity does most of the work up there and the clinic is four miles outside the cluster where those searches happen.”
A client who has been sold to before will notice that you just talked yourself out of billable work. That single line does more for trust than the previous four sections combined. If the clinic wants the full sequencing, point her at the monthly local SEO plan.
The whole report in one table
| Section | The one question it answers | Lead with | Keep out |
|---|---|---|---|
| 1. Visibility | Are we found where our patients are? | Two grid scans and one sentence about coverage | Average position, branded terms, 50 keyword rows |
| 2. Profile performance | Did that turn into contact? | Calls, direction requests, website clicks, with last month beside them | Impressions, views, percentages on tiny numbers |
| 3. Reviews | Are we earning trust and answering people? | New reviews, rating, replies sent, reply speed | Review requests sent, anything gated or incentivized |
| 4. Work completed | What did you change and why? | Five to eight lines, each a change plus a reason | Task logs, hours, service area counts, post counts |
| 5. Next month | What happens now? | Three actions, expected effect, rough timing, one thing skipped | Aspirational lists nobody will check against |
What clients read, and what agencies pad
Padding follows a pattern. It appears when the month was quiet, and it is nearly always made of metrics that cannot go down: cumulative impressions, total keywords tracked, pages crawled, tasks completed, backlinks discovered. A metric that only ever rises is decoration.
The audit dump is the biggest offender. 20 pages of automated site audit output, mostly missing alt attributes and duplicate meta descriptions, attached to a report about map visibility. It signals volume, and it teaches the client that your report is not worth opening.
If an audit finding matters, it belongs in section four as a change you made, or in section five as a change you plan. If it does not matter enough to appear there, it does not go in the report.
Screenshots of the local pack from your own browser are the other one. A single search from one location proves nothing about a service area, and any client who has searched for her own practice on her own phone already knows the result changes.
Do not build a report on evidence the client can easily contradict.
Organic website performance deserves a place only if you were paid to work on the website. Local organic below the pack weights differently from the pack itself, roughly a third on page factors and about a quarter links, so it responds to different work on a different timeline.
Mixing pack results and organic sessions into one chart without labels is not simplification. It is confusion, and it makes both numbers unusable.
How to report a month that went backward
Coverage will drop sometimes. When it does, the shape of the report does not change. Same five sections, same order, and the sentence under the maps says what happened before it says why.
Then give the most likely explanation and label it as a hypothesis, because in local search you usually cannot prove cause. A competing practice picking up a run of reviews. A profile edit. An algorithm update. A suspension somewhere in the cluster that resolved.
Where AI Overviews have started appearing on local queries, practitioners have reported roughly half the visibility disappearing on the queries involved. That is not something a client did wrong, and not something you can fix by working harder.
Say what you are checking next, and what you would need to see to confirm it. Our piece on AI and local search covers that shift in more detail.
Clients tolerate bad months. What they do not tolerate is a report that claimed victory in month three and then quietly stopped mentioning the metric in month four.
Consistency is the asset. Report the same numbers every month whether they flatter you or not, and a drop reads as information rather than a confession.
Cadence, and the meeting the report is for
Monthly is right for an established single location clinic. Weekly reporting on Map Pack positions produces noise, because pack results move day to day for reasons no one controls.
A client watching daily swings will start asking you to explain randomness. Quarterly is too slow to catch a problem.
Move to biweekly only during something active: a rebuild after a suspension, a move to a new address, a recovery after a drop. Then move back.
Schedule the scan a few days before the meeting rather than the morning of. That gives you time to read it, notice the bad zone and prepare an answer, instead of discovering it live on the call.
The report is an agenda for a conversation, not a deliverable that stands alone. Send it a day before, walk through it in 15 minutes, and end with the three next month items confirmed.
Agencies running this across a roster should read agency local rank tracking and tracking Maps rankings for clients for the operational side.
The clinic report, assembled
Front page: two grid scans side by side for the main treatment term, one sentence naming the coverage change and the part of town, then calls, direction requests and website clicks with last month beside each.
Second page: reviews gained, current rating, replies sent, median hours to reply, and a note if any review disappeared. Then work completed as six lines, each one a change and a reason, including the category change and the two page rewrites.
Then next month as three items, plus the one thing you are choosing not to do.
Appendix, only if she asked: the full keyword table, the competitor snapshot for the two zones where coverage is weakest, and the citation status list. Most months it goes unopened, and that is the correct outcome. The appendix exists so the front pages can stay short.
Where branding comes in, and where it stops
Everything above is about content. Whose logo sits at the top, what colors the charts use and whether the report is delivered on your domain are separate questions.
They are worth solving once you have more than a handful of clients, because a report carrying a third party vendor’s name invites questions about tooling instead of questions about strategy. The setup, the tradeoffs and what white labeling does not fix are covered in white label SEO reports.
A branded report full of padding is still padding. Fix the five sections first, then put your logo on them.
FAQ
How long should a monthly local SEO report be?
Two pages of substance, plus an appendix for the clients who ask. If your five sections cannot fit on two pages, you are including task logs or metrics that only go up.
Length is not evidence of work. A client who has to hunt for the point will stop hunting by month three.
Should the report include competitor data?
A light version, yes, and only for the zones where you are losing. Naming the two practices that hold the top three in the neighborhood where the clinic is weakest is useful context for a decision.
A full competitive teardown every month is not. The answer rarely changes, and it invites the client to fixate on a rival instead of her own profile. Scoring her own profile with a GMB audit tool is the better use of the time.
What should the report say when nothing much happened?
That nothing much happened, in one sentence, followed by why. Local SEO has slow months, especially when last month’s work was citations or page rewrites that have not been indexed and weighed yet.
A quiet month reported honestly costs you far less than a quiet month dressed up with new metrics that appear once and never return.
Do clients need the ranking factor percentages explained?
No. Keep proximity, prominence and relevance out of the client facing pages entirely. The one place the weighting is worth mentioning is section four, as the reason behind a specific change, and even then in plain words rather than percentages. Save the framework for the sales conversation.
Is a PDF or a live link better for delivery?
A live link is better for the monthly conversation, because there is only one version and it is current. A PDF is better for archives, for procurement folders, and for the moment a client wants to forward something to an accountant or a board.
Most agencies end up doing both. That is fine, as long as the numbers in the two agree.
How do you report on a multi location client without producing a 50 page document?
One summary page ranking every location by coverage change, then detail pages only for the locations that moved meaningfully or that need a decision. A regional manager wants to know which three sites need attention, not to read the same five sections repeated 11 times.
Where ReviewGenerationTool fits
ReviewGenerationTool exists to produce the raw material for the five sections without an afternoon of manual assembly. The local rank tracker and service area rank tracker run the repeatable grid scans that make month to month comparisons honest.
Local SEO reports and the full rank report pull profile performance and review activity into one document, and multi location reporting plus the portfolio report handle a roster without 11 separate exports.
The rate card is short. $16 a month for one location, a flat $37 a month covering 2 to 7 locations in total, and $5.33 per location per month from 8 locations up. Annual billing takes 10 percent off, and the 3 day trial starts without a card at signup.
The half it cannot cover is sections four and five. No tool knows why you changed the primary category, which of the three next month items matters most, or how to phrase a bad month to a doctor who is deciding whether to keep paying you.
The numbers are the easy half. The sentences underneath them are the reason the client renews.
