Skip to content
Agency guide · Published

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.

By Alejandro Verjel · Founder of Rankiamos

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.

The six blocks of a monthly SEO report and the question each one answers
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.

Metrics worth removing from the monthly report and what to replace them with
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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

What the report export allows and what it does not
Element PDF 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. 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. 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. 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. 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. 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. 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. 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.

Try Rankiamos free

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?
Monthly is the right cadence for 90% of accounts, and not out of habit: it is the shortest window in which an SEO change actually shows up in the data without weekly noise pushing you into telling a false story. Weekly reporting breeds anxiety and forces you to explain swings that mean nothing. Quarterly leaves too much room: if something broke in week two, the client finds out ten weeks later and the conversation is a complaint, not a working session. What is worth adding on top of the monthly report is an off-calendar heads-up when something serious happens: a sharp drop, a page falling out of the index, a change on the client’s site that broke something. That two-line email outside the schedule is worth more than any polished chart inside the PDF, because it proves you are watching every day and not just on the 30th.
What do I do when the month was bad and I have no good news to report?
You report it anyway, and you report it first. The executive summary of a bad month has three sentences: what dropped, why we think it dropped, and what we are going to do about it. What sinks an agency is not a bad month, it is the client discovering the bad month on their own after reading an optimistic report. If the cause is identified — an algorithm update, a new competitor, a change the client’s dev team shipped, a migration — name it explicitly. If you have not isolated it yet, say that too: "we are still narrowing down the cause, I will confirm this week." A report with an honest open hypothesis is defensible; one with an invented explanation costs you the account the moment the explanation falls apart. And keep evidence: dated screenshots, the position history, the deploy date you suspect.
Does the Rankiamos PDF carry my agency logo?
No, and it is better to say that now than in the client meeting. The PDF Rankiamos exports on the Pro plan lets you customize the name, the color and a free-text footer, but it does not accept a custom logo upload. It is not a white-label report and we do not call it one. The CSV carries no branding inside the file (only its name starts with “rankiamos-”): it is the raw data, ready to drop into your own Docs, Slides or Excel template. The practical route for an agency that needs its full identity is to build the cover page and executive summary in your own template, paste the table from the CSV, and attach the PDF as a data appendix. If your commercial proposal is sold as strict white label, you need to know this limit before subscribing.
Can I give the client access so they can check their own rankings whenever they want?
Not today. Rankiamos has no client access and no automatic report delivery: there is no read-only guest user and no schedule that fires the PDF on the 1st of every month. You export the report and you send it. That is a real limitation and it hits this exact use case, so we say it without dressing it up. There is a practical side worth weighing before you write it off: permanent client access to the dashboard usually creates more work than it saves, because the client logs in on a random Tuesday, sees a three-position dip that reverses on its own two days later, and writes in worried. A monthly report with context you wrote yourself heads that conversation off entirely. Even so, if your workflow demands an always-open dashboard for the client, Rankiamos does not cover it today.
Which KPIs does a client who knows nothing about SEO actually want?
They want three things, even if they phrase them differently: whether they are better off than last month, whether the money they spent did anything, and what happens next month. Translated into metrics, that is answered by the count of keywords in the top 3 and the top 10 (a whole number that goes up or down, no decimals), Search Console organic clicks compared against the same month last year when the business is seasonal, and the individual position of the ten or twenty queries directly tied to a sale. Everything else is working information, not reporting information. The rule that holds up best: if you cannot explain why a metric moved in one sentence the client understands, that metric does not belong in the report, it belongs in your internal working doc.
Do I need the Pro plan to build reports, or is Free enough?
It depends on whether you are reporting on your own project or on a paying client. The Free plan includes 2 projects, 5 keywords, an automatic weekly check and the Google Search Console connection, all without a card. That is enough to follow a small business with 5 key queries and a weekly reading. What you will not have is the PDF and CSV exports, the daily check, or the Pro features that feed the findings block: AI analysis per keyword, AI Overview citations, map pack position, competitor movements, cannibalization detection and search volume (each keyword’s top 10 competitors are on Free too). Pro costs $14.99 a month or $119.99 a year ($9.99 monthly) and includes 5 projects, 50 keywords and daily checks, with a 7-day free trial through Apple: it needs a payment method on your Apple account, and Apple charges unless you cancel before it ends.
Is it worth building a Looker Studio dashboard if I have three clients?
With three clients, almost never. The honest math is a math of hours: building a decent dashboard is six to ten hours the first time, plus irregular but very real maintenance every time a connector changes, a data source gets renamed, or a client asks for a different cut. Split across three accounts, that time never comes back. A two-page report built from an exported table and a hand-written summary takes you forty minutes per client per month, and it actually gets read. The threshold where a dashboard starts to pay for itself sits higher: when the same format repeats across eight or ten accounts, when someone on the team has fixed hours dedicated to data, or when a contract requires continuous updating. Before that, the dashboard is an infrastructure project for a problem you do not have.

Try Rankiamos free for 7 days.

The Free plan needs no card. The Pro trial runs through your Apple account; cancel before day 7 and you pay nothing.

iPhone iOS 17.0+
iPad iPadOS 17.0+
Mac macOS 14.0+