Set up your client project: priority pages, target keywords, and what shipped last month
One project per client is the model that makes reporting compound. The project holds what the open web cannot tell us: which pages the client actually cares about, which keywords the retainer is measured on, and what the team shipped since the last report. Add that context once and every month's report arrives already scoped to the work, instead of ranking the whole domain and leaving the team to find the rows that matter.
What to add
Priority pages and target keywords
The pages and queries the retainer is judged on. With these in the project, the report leads with movement on the terms the client asks about, and treats the rest of the domain as context.
What shipped last month
The change log: pages published, titles rewritten, redirects added, templates changed. This is what turns a report that describes movement into a report that explains it.
Reporting template and brand kit
The client's palette, logo, and the section order the team already reports in. Every month's PDF comes out in the same shape, so the client reads the report instead of relearning it.
Guide Juma with project info
Each knowledge item takes a one-line description telling Juma what it is for. Short and plain works better than thorough.
- Priority pages and target keywords: "The pages and queries this retainer reports on. Lead the report with movement on these."
- What shipped last month: "SEO work completed since the last report. Use it to explain movement, not just describe it."
- Reporting template and brand kit: "The client's colours, logo, and our standard report section order. Apply to every PDF."
See what actually moved your organic traffic
Frequently Asked Questions
What data does Juma need to run an SEO performance report?
A domain is enough. The report builds its baseline from public Google ranking data, so the first run needs no Search Console access, no property verification, and no export. Connecting Search Console adds the click layer: actual clicks, impressions, CTR, and the month-over-month attribution behind them.
The two sources stay separate in the report rather than blended together. Public figures are marked as estimates, Search Console figures are marked as measured, and each table states what its source cannot see. That separation is what makes the report safe to send to a client who will ask where a number came from.
What does the SEO performance report include?
Two files. A branded PDF holding the executive readout, the headline scorecard, the position-band distribution, the landing-page and keyword evidence, and the ranked action plan. Alongside it, an editable XLSX with the full per-keyword and per-page tables so the SEO lead can pivot the data themselves.
Every recommendation in the plan names the page or keyword it applies to, its current position, and the expected gain, ranked by the clicks it should win back. Generic advice gets cut, because "strengthen internal links" is not an action a team can put on a sprint board.
Can the report show month-over-month movement on the first run?
Not from public data alone. A comparison needs two observations, and a public ranking snapshot is current rather than historical, so the first run is explicitly labelled the baseline month. Where Search Console is connected, the history is already there and the first run carries real month-over-month movement immediately.
This is why the report states its period and its baseline status at the top rather than burying it in a methodology note. A client reading "baseline month" knows what they are looking at. A client reading an unlabelled flat number does not.
How does this compare to building the report by hand in Looker Studio?
A dashboard shows what changed. This report says why it changed, and it writes the answer down. The attribution step, deciding whether a page lost impressions, CTR, or position, is the part a human usually does in their head and never records, which is why last month's reasoning is gone by the time the next report is due.
The Flow does the pull, the decomposition, and the first draft of the narrative. Strategy, taste, and judgment stay human: which findings lead, what the client is told, and which of the ranked actions the team actually commits to next month are calls for the person who owns the account. Human review on every output.
Does this Flow work for an agency reporting on several clients?
Yes, and that is the case it was built for. One project per client keeps each account's priority pages, keyword set, change log, and brand kit separate, so running the Flow in a client's project produces that client's report in that client's shape without re-explaining the account each month.
Because the first run needs nothing but a domain, the same Flow also works on a prospect before anything is signed. A sourced visibility baseline with a ranked opportunity list is a credible thing to bring to a first call.