The SEO report for clients: what to include and how to build it without Looker Studio
The problem with the monthly report is almost never the data. The numbers are right and the client still asks whether any of this is working. Here is the six-block structure, the KPIs that defend themselves, and the forty-minute workflow that replaces the dashboard.
TL;DR
- ✓ Two pages, six blocks. Executive summary, positions, clicks with context, what we did, what we found, and what comes next. Everything else is an appendix.
- ✓ A report is not judged by its data, it is judged by whether it answers three questions: am I better off, where did my money go, and what happens next month?
- ✓ Four metrics need to come out of the template, starting with Search Console’s sitewide average position, an average that represents no actual search.
- ✓ The Rankiamos PDF (Pro) customizes name, color and footer, but takes no custom logo. The CSV carries no branding inside (only its file name starts with “rankiamos-”). It is not white label, and there is no automatic delivery or client access.
- ✓ Under eight accounts, a data dashboard does not pay for itself. Forty minutes per client per month produces a report that also gets read.
Why your monthly SEO report is accurate and the client still asks whether this is working
An SEO report for clients can have every number right and still fail as a deliverable. It happens every month in small studios and freelance practices doing genuinely good technical work: you export the Search Console charts, paste them into a document, write three paragraphs of context, send the file, and two days later the message lands that ruins the afternoon: "hey, is this actually working?" The instinct is to assume a metric was missing. It almost never is. What is missing is a document that answers the questions in the client’s head, which are not the same as the ones in yours.
The client has exactly three questions, and they have them whether or not they can phrase them in SEO language. The first is whether they are better off than last month. The second is where the money they paid this month went. The third is what happens next month, because that is what renewal depends on. A screenshot of the Search Console performance graph with the impressions curve sloping upward answers none of the three. It answers a fourth question nobody asked: "what does the tool display?"
There is a structural reason behind this. SEO tools are built for the analyst, not for the business owner. They show averages, aggregates and time series because that is what you need in order to diagnose. The client needs the opposite: a handful of figures, comparable to something, with a sentence beside them explaining why. When you paste the tool’s output straight into the report, you are asking the client to do the interpretation work, which is precisely the work they are paying you for.
The most common example of this is average position. A report that says "average position went from 18.4 to 16.9" sounds like an improvement and frequently is not: that number blends the branded query sitting at position 1 with the generic one sitting at 60, and it moves on its own whenever queries enter or leave the calculation. The full arithmetic of why that average misleads is laid out in the breakdown of Search Console average position versus real position; for the purposes of this post the conclusion is enough: do not lead with it.
The second reason is length. The fourteen-page report with appendices does not get read. A small-business owner in Bogotá, Mexico City or Miami opens the PDF on a phone between two meetings and gives it thirty seconds. If in those thirty seconds they do not find the number they were looking for, they close the file and message you asking. All the layout work you did on Sunday night ended up generating a question you could have answered in the first line.
The rest of this article is the practical fix for that: a fixed structure, a short list of defensible metrics, and a month-end procedure that does not depend on building infrastructure. If you also want the map of what can be measured continuously to feed that report, it is summarized in the Rankiamos feature set.
What to include in an SEO report: the six-block structure that fits on two pages
The question of what to include in an SEO report has a shorter answer than people expect. Six blocks, in this order, and none of them takes more than half a page. Whatever does not fit in two pages goes into an appendix the client will open only if they care about the detail. The order matters as much as the content: it is designed so the answer is already inside the first five lines.
| Block | What it contains | Space | Question it answers |
|---|---|---|---|
| 1. Executive summary | Three to five sentences, written by hand. No charts. | 5 lines | Am I better off than last month? |
| 2. Positions | Table of the business keywords: position at the start of the month, at the end, and the delta. | Half a page | Do I show up where I want to show up? |
| 3. Clicks with context | Search Console clicks and impressions, against last month and against the same month last year. | 4 figures | Are more people arriving? |
| 4. What we did | Dated list of deliverables. Content, technical fixes, listing changes. | 6 bullets | Where did my money go? |
| 5. What we found | Findings and risks: drops, new competitors, site problems. | 3 points | Is there anything I should worry about? |
| 6. What comes next | Concrete commitments for the coming month, with target dates. | 4 bullets | What happens next month? |
The executive summary is the only block you cannot automate
The other five blocks come out of exports. This one is written by hand every month, and it is the one that decides whether the report is worth anything. A good executive summary has an almost mechanical structure: one sentence of verdict, one of cause, one of risk, one of next step. For example: "August was the best organic traffic month of the year, with 1,840 clicks against 1,510 in July. The lift comes from the four guides published in June, which have now entered the top 10. The risk this month is the main service query, which slipped from position 6 to 11 after a competitor rewrote their landing page. In September we rewrite that page and go after the three city queries we do not cover yet."
Four sentences. The client already knows whether they are better off, why, what threatens them and what is coming. Everything that follows in the document is evidence for those four sentences. If the client reads nothing else, they are still informed, and that is exactly the test of a well-written block.
The positions table needs a column almost nobody adds
Most of the SEO report templates circulating out there carry three columns: keyword, position, and change. A fourth one is missing, and it changes the entire conversation: the intent or commercial value of that query. Without it, every row carries the same weight and the client cannot tell the difference between climbing five positions on a query that brings customers and climbing five on one that brings nothing. With it, the report reads itself: the client runs a finger down the "direct purchase" column and sees the result that matters to them.
One operational warning about that table: to report a position at the start and the end of the month, the keyword had to be tracked from the start of the month. In Rankiamos your own tracking history begins the day you add the keyword — it is not retroactive. Which means a new client’s first month is prepared on onboarding day, not on the 28th. It is a boring detail that ruins the first report of a lot of new accounts.
The SEO KPIs worth reporting, and the four you should cut from the template
Choosing SEO KPIs to report is mostly an exercise in elimination. The template you inherited from another agency carries twelve metrics because twelve metrics look like a lot of work. In practice, every metric you cannot explain in a single sentence is a question the client will ask you later, and answering it costs more time than you saved by pasting it in. The rule is simple: if you cannot say why it went up or down, it does not go in the report.
These are the metrics that hold up in front of a client who does not know SEO, along with the reason each one works.
1. Keyword count in the top 3 and the top 10
Two whole numbers, no decimals, over a fixed set of queries that does not change month to month. "We started the month with 4 in the top 10 and ended with 7." It is the most understandable metric in SEO because it requires no prior explanation. The condition for it to work is that the query set stays the same: if you change the list every month, the number stops being comparable and the client will notice.
2. Search Console organic clicks, with a double comparison
Against the previous month and against the same month last year. That second comparison is what prevents absurd arguments in seasonal businesses: in an e-commerce account, comparing December to November says nothing, while comparing December to last December says everything. Search Console keeps 16 months of history, so the year-over-year comparison is available almost always.
3. The position of the money queries, one by one
Not an average: the specific position of each of the ten or twenty queries connected to a sale. It is the block the client looks at first and the one that best justifies the invoice, because these are the searches they run themselves to check. Daily precision genuinely matters here: a position measured eleven days ago does not survive a meeting.
4. Presence in the AI Overview and the local pack, when relevant
More and more queries show an AI-generated summary above the results, and that changes clicks even when the position does not move. Reporting whether the client site is cited there, and where it lands on the map when the business is local, explains the months where the client is "better positioned and getting fewer people". The CTR effect is covered separately in the analysis of how CTR drops when an AI Overview appears.
5. Completed deliverables
This is not an SEO metric, it is a service metric, and it carries more weight in the renewal decision than anything else on the list. Six bullets with what was done and when. A month with flat positions and six deliverables shipped is defensible; a month with flat positions and no evidence of work is not.
The four you should cut
These four show up in nearly every inherited template and none of them gives the client information they can act on. Removing them shortens the report and eliminates the four hardest questions to answer.
| Metric | Why it fails | What replaces it |
|---|---|---|
| Sitewide average position in Search Console | Averages branded queries at position 1 with generics at 60. It moves on its own when queries enter or leave the set. | Individual positions of the money queries |
| Third-party domain authority | It is a vendor invention, not a Google metric. It moves when the vendor changes their model and explains nothing about the business. | Count of queries in the top 10 |
| Total site traffic | Blends paid campaigns, email, social and direct. A good month on Ads makes you look good without you having done anything. | Segmented organic clicks |
| Number of words published | Measures effort, not outcome. It also invites the client to ask for more words at the same price. | Deliverables with a date and a goal |
One point of honesty that belongs right here: Rankiamos does not measure backlinks. If your service includes link building and you need to report on it, that part of the report will have to come from another tool. We would rather say it now than let you find out on the 30th. What you can report with first-party data is everything to do with positions, Search Console queries, the competitors sitting in the top 10 for your queries and, on Pro, search volume, your spot in the map block of Google results and AI Overview citations; the full inventory is in the detail of what the product measures.
Choosing the 20 keywords that make the report: the ones that move money, not the ones that sound good
The positions table in a monthly report should not have sixty rows. It should have between ten and twenty, chosen deliberately and frozen for at least a quarter. The reason is readability, not capacity: a sixty-row table forces the client to go hunting, and hunting is exactly what they will not do. On top of that, the longer the table, the more likely it contains some red row you have to explain that adds nothing.
This is the selection order that works. Apply it as a cascade: fill the slots from criterion 1 before you move to criterion 2.
-
Step 1 · The queries the client types when they want to check on you
Every client has two or three searches they personally run on their phone to see whether "we show up yet". Almost always service plus city. If those are not in the report, the client will search them anyway, will see something different from what your document claims, and you will start the meeting on the defensive. Ask for them on the first call and put them in the table even if they are hard.
-
Step 2 · The queries with direct purchase intent
The ones containing price, buy, hire, quote, near me, or the product name with a commercial modifier. They usually have lower volume and convert dramatically better. In a typical account, five or six queries of this type explain the majority of the forms submitted.
-
Step 3 · The ones sitting between position 11 and 20
These are the ones that will produce next quarter’s visible movement, because they are one push away from page one. Putting them in the report sets the right expectation: the client sees a row at position 13 and understands why the month’s work concentrated there. It is the block that turns the report into a management tool rather than a scorecard.
-
Step 4 · One or two branded, as a control
The company name and one variant. They are not an achievement and the report should say so plainly, but they serve as a control line: if the branded query drops, there is a technical or reputation problem to look at today, not next month.
-
Step 5 · The ones already in the top 3, to keep watch
Three or four at most. They are not there to show off: they are there because losing a position you already earned costs more than winning a new one, and because the client needs to see you are protecting them. If one of them slips to position 5, you want to find out before they do.
-
Step 6 · Everything left over stays out and gets revisited quarterly
High-volume informational queries with zero conversion are strategy material, not report material. Keep them in your internal doc. Changing the report list every month breaks comparability, which is the only property that makes a data series useful in the first place.
One case deserves its own mention because it changes the arithmetic of the table: multi-city businesses. Each keyword and city combination is measured separately, so the same query tracked in three cities is three rows, not one. Decide that before you build the list, or the report balloons in length. How the work is organized when you are juggling several accounts at once is its own topic, with its own quota math, and we cover it in the guide to rank tracking for agencies.
One last quality criterion: mobile and desktop are not two separate rows in the client’s report. If the business is local services, report mobile and mention the desktop figure only when it differs meaningfully. Duplicating the table by device is the fastest way to turn two pages into four without adding a single answer.
The report PDF: your studio name and color, and why it does not carry your logo
The uncomfortable section. Better to know the limit before you sell the service than after.
This is where a lot of agency SEO report articles promise white label and leave the asterisk for the fine print. We will do it the other way around. The PDF Rankiamos exports on the Pro plan lets you customize the name, the color and a free-text footer, and that is the whole list. It does not accept a custom logo upload (the icon is generic); if you fill in the name and the footer, the Rankiamos brand does not appear. It is a single letter-size page with four figures (top 3, top 10, top 30 and total) and a table of up to 28 keywords. Like the app, it comes out with its labels in Spanish (“Reporte de keywords”, “UBICACIÓN”, “POSICIÓN”), which is worth knowing if your client reads English. It is not white label and we are not going to call it that. The CSV, meanwhile, carries no branding inside the file (only its name starts with “rankiamos-”): it is the data, and with the data you do whatever you want.
There are two more limits that belong in the same paragraph, because they hit this use case directly. First: there is no client access. You cannot create a guest user so the client can log in and check their positions whenever they feel like it. Second: there is no automatic report delivery. There is no schedule that fires the PDF to the client’s inbox on the 1st of every month. You generate the report and you send it.
| Element | CSV | |
|---|---|---|
| Studio name | Yes, customizable | Not applicable |
| Brand color | Yes, customizable | Not applicable |
| Custom logo | No | Not applicable |
| Product branding visible | No, if you fill in name and footer | No (only the file name starts with “rankiamos-”) |
| Layout inside your own template | No | Yes, that is the intended use |
| Automatic delivery to the client | No | No |
How to work around that limit in practice
The route studios use when they need their full identity has two pieces and it works well. Piece one: the cover page, the executive summary, the deliverables block and the next-steps block live in your template, with your logo, in Docs, Slides, Keynote or whatever you use. Piece two: the positions table is pasted in from the CSV, which carries no branding, and comes out styled to match. The tool’s PDF, if you send it, goes at the end as a data appendix with your studio name and color: it reinforces that the numbers come from a measured source rather than a hand-typed sheet.
It is worth lowering one expectation about white label in general. It is rare for a client to object because the data appendix comes out of a measurement tool; it is considerably more common for them to distrust a positions table typed by hand into a document with no source at all. White label matters when you are reselling the tool as if it were yours. If what you sell is your professional judgment, a visible data source works in your favor.
All that said: if your commercial proposal promises a dashboard with your logo that the client logs into at will, Rankiamos does not cover that requirement today and you are better off knowing now. The limits of each plan, including which one includes the customizable PDF, are laid out on the pricing and plans page.
Why you do not need to build a Looker Studio dashboard for three clients
Somewhere around the second or third client the idea shows up: "I am going to build a dashboard and then the report generates itself." It is a reasonable idea and it is almost always premature. The miscalculation is not in the tool, it is in assuming the work of the report is building the template. The work of the report is the executive summary, the query selection, and the explanation of why what happened happened. None of that automates, and all of that is what the client is paying for.
Let us run the numbers conservatively. Building a decent dashboard, with the sources connected, the filters set correctly and a presentable layout, is six to ten hours the first time. On top of that comes maintenance: every time a source gets renamed, a connector updates, or a client asks for a different cut, there is half an hour to two hours of unplanned work. Against that, the manual workflow is about forty minutes per client per month, most of which goes into writing the summary, which you would have had to write regardless.
With three clients, the dashboard takes more than a year to pay for itself, and that assumes nothing breaks. The threshold where the math flips sits at roughly eight to ten accounts sharing the same report format, or earlier if you have someone on the team dedicated to data, or if a contract demands continuous updating. That is the moment to build it, not before. And this post is not a connectors tutorial, so that is as far as the topic goes.
The month-end workflow, step by step
This is the full procedure for one account. The first time it takes a long hour; from the third month on, forty minutes.
-
1 · Export the month’s positions (5 minutes)
Export the CSV at the close of each month (a Pro feature): it carries each keyword’s current position and last check date, not its history, so keep last month’s file for the start-of-month figure. If you measure daily, the figure at each cutoff is exact; if a keyword was last checked a few days earlier, use its last check date and label it that way in the report. Being explicit about the measurement date heads off the "but I searched it yesterday and it looked different" argument.
-
2 · Pull clicks and impressions from Search Console (5 minutes)
Closed month against previous month, and closed month against the same month last year. Four figures and two percentages. Do this in Search Console itself: the Rankiamos integration shows your queries from the last 28 days, but it does not keep month-over-month or year-over-year comparisons or merge them with your tracked positions; the detail of how they complement each other is in the guide to connecting Search Console to a rank tracker.
-
3 · Investigate the drops before you write anything (10 minutes)
Take the red rows and find the cause of each one before drafting. The typical causes are four: a competitor who improved their page, a change on the client site, an algorithm update, or a SERP that changed shape. The full run-through of possible causes is in the article on why your Google ranking dropped. Every unexplained drop in the report is a guaranteed question.
-
4 · Look at who is above you (5 minutes)
On the three or four most important queries, check which domains hold the top 10 and whether they changed since last month. One line saying "a new competitor entered this query with a more complete guide than ours" is worth more than half a page of charts. How to read that movement is covered in the guide to tracking your competitors’ keywords.
-
5 · Write the executive summary (10 minutes)
Four sentences: verdict, cause, risk, next step. Write them after looking at the data and before laying anything out. If it takes you more than ten minutes, it is almost always because step 3 was left half done and you still do not know what happened.
-
6 · Lay it out and export (5 minutes)
Paste the table into your template, generate the PDF with your studio name and color, attach the CSV if the client is one of those who digs into data. Two pages. If you ended up with four, look for a block that can move to an appendix.
-
7 · Send it with a three-line email
The email repeats the verdict and the next step, and offers a fifteen-minute call. Plenty of clients never open the PDF and those three lines leave them informed anyway; the ones who do open it arrive at the meeting with the right conclusion already in their head.
Seven steps, forty minutes, zero infrastructure. And one advantage the hours calculation does not capture: doing it by hand means you look at your client’s data once a month with real attention. Automated dashboards have a side effect documented in every agency with a few years of mileage: nobody looks at them, not you and not the client, until there is a problem.
How Rankiamos handles it
The tool solves the data and the format. The executive summary is still yours.
📄 PDF with name and color, plain CSV
The Pro plan PDF comes out with your studio name, your brand color, your footer and a table of up to 28 keywords. It takes no custom logo, so it is not white label. The CSV, also Pro, is clean so you can lay it out in your own template.
📆 Daily checks to get both cutoffs of the month
The Pro plan measures every day, so the position on the 1st and on the 30th are real measurements rather than the nearest weekly reading. A keyword with 5 or more measurements that goes 30 days without any change drops to a check every 3 days until it moves.
🔗 Search Console connected, on Free too
Up to 250 of your queries from the last 28 days with clicks, impressions, CTR and average position, inside the app; for the month-over-month and year-over-year figures of block 3, use Search Console itself. The integration is included from the free plan, no card required.
🔍 Material for the findings block
Competitor history and the daily alerts (including when Google's AI summary appears, cites you or stops citing you) on every plan, plus Pro's search volume, competitor movements, cannibalization detection, AI Overview citations, map pack position and AI analysis per keyword. This is where the three points of block 5 come from.
And the honest close a post about deliverables owes you: there is no client access, there is no automatic delivery, the PDF does not carry your logo, and the app interface is in Spanish only. What you do have is data measured on Google across 17 Spanish-speaking LATAM countries plus Spain and the US (in English), with 52 cities available; on Pro it is measured daily and exported in two formats. The full inventory is on the features page and each plan’s limits on pricing.
Free plan: 2 projects, 5 keywords, weekly check · iPhone · iPad · Mac · Apple Watch
Frequently asked questions
How often should I send an SEO report to a client? ▾
What do I do when the month was bad and I have no good news to report? ▾
Does the Rankiamos PDF carry my agency logo? ▾
Can I give the client access so they can check their own rankings whenever they want? ▾
Which KPIs does a client who knows nothing about SEO actually want? ▾
Do I need the Pro plan to build reports, or is Free enough? ▾
Is it worth building a Looker Studio dashboard if I have three clients? ▾
Read also
Search Console average position vs real position
Why that average represents no actual search, and what to report instead.
Search Console pillarConnect Google Search Console to a rank tracker
What each source tells you, where they contradict each other, and how to use both in the same report.