Article · Finding clients
How to write an SEO case study without overpromising
Get the client's permission in writing, anonymize what they want kept private, choose numbers with exact dates, separate your work from everything else that changed, and stay inside the FTC's guidance on results claims and testimonials. With a copyable template and a checklist.
The short answer: get written permission before you draft, and written approval of the final text before you publish. Show Search Console clicks and impressions for exact date ranges, against a period of the same length, and say what else changed. The FTC expects proof for what an ad says and implies, and its endorsement FAQ says a line like "Results not typical" does not change how readers take a results claim. Present one client's numbers as one client's history, never as what the reader will get.
What a case study is for
Google's page on hiring an SEO suggests that site owners ask for examples of previous work and success stories, and also what results to expect, in what timeframe, and how success is measured. A case study answers the first question. It should not pretend to answer the second: the same page says "No one can guarantee a #1 ranking on Google."
Case studies overpromise with undated headline numbers, periods of different length or season, the client's own changes left out, only the wins, and framing that implies the reader will get the same. If no client has agreed to be written up yet, see proof without testimonials you cannot back up.
Get the client's permission in writing
Ask before you draft, and ask item by item: a yes to "a case study" is not a yes to their name, their numbers and a quote. If your contract has a confidentiality clause, the permission should say it covers this use.
Subject: May I write up our work on [website] as a case study?
Hi [first name],
I would like to write a short case study about the SEO work on [website] from [month year] to [month year]. Here is exactly what I am asking to use. Delete any line you are not comfortable with.
- Your business name and website. [Or: no name, only "a [type of business] in [region]".]
- Search Console clicks and impressions from [date] to [date], compared with [date] to [date].
- [Quote requests / booked jobs] from your own records, as totals only.
- A short quote from you, in your own words.
- Where it will appear: my website, proposals and emails to prospects.
You will see the full text before it is published, and nothing goes live until you reply "approved". If you want it taken down later, I will remove it within [number] business days.
Saying no changes nothing about our work. [If you offer something: As a thank-you, I am offering [benefit]. It does not depend on what you say, and I will mention it next to your quote.]
[Your name]
File the reply with the contract. Save the client's approval of the final text too, with its date.
Anonymizing client data
Many clients agree to numbers but not to their name. Removing the name is rarely enough: a niche and a town can point to one business on their own.
| Detail | Why it can identify the client | Replace with |
|---|---|---|
| Name and domain | Directly identifies them | "A [type of business] in [region]" |
| URLs and page paths | Many are unique to one site | Page types: "service pages", "location pages" |
| Branded and rare queries | They contain the name or point to one business | Topic groups, such as "emergency repair searches" |
| Town or neighborhood | With a niche, there may be only one candidate | The state or a wider region |
| Screenshots | Property names, URLs and query rows show up | A table built from the export |
Leave out personal data about the client's own customers, such as names from form leads. And keep the starting number next to any percentage: if you cannot show the real figure, write "from about 400 to about 700 clicks a month", not "up 75%".
Which numbers to show
Lead with Search Console. Google's Search Central page on using it with Google Analytics calls Search Console the source of truth for Search performance, and Analytics the source of truth for behavior inside the site. In Google's definitions, a click is a click from Google Search results to the site, and an impression is the site appearing in Search results.
Date every number and compare like with like
- Full dates: "1 March to 31 May 2026", not "this spring". Except in its 24-hour view, the Performance report labels daily data in Pacific Time; say so in the data note.
- Same length, named comparison: the same dates a year earlier for a seasonal business, or the equal period just before. Say which.
- Compare in the report: open the Date filter and choose Compare to show two periods side by side. Only one comparison can be active at a time, and for two date ranges Google suggests weekly or monthly granularity to even out day-of-the-week effects.
- Complete data: Google says collected data is usually available in 2 to 3 days, and the newest data can be preliminary. Pull numbers at least three days after the period ends and note the date.
- An early "before": Search Console keeps data for the last 16 months, so a longer story needs an export from the start. See saving a baseline and exporting every month.
Say what the numbers cover
Google's help says the Performance chart is aggregated by property, while a table grouped by page is aggregated by page, so say which view each number comes from. It also says filtering by query or URL can change totals, because of data truncation and because anonymized (rare) queries are left out. State the scope, such as "whole site" or "the [number] service pages rewritten in March", and name any filter.
| Number | Source | Show it as | Avoid |
|---|---|---|---|
| Clicks from Google Search | Search Console, Performance report | Two dated periods of equal length, and the difference | A percentage without the starting number |
| Impressions | Same report | Next to clicks, same periods | Impressions alone as proof of business results |
| Organic Search sessions, key events | Google Analytics | A second view of the same trend | Presenting them as the same thing as clicks |
| Leads or booked jobs | The client's records | Totals the client confirmed in writing, labeled "client-reported" | Revenue the client has not approved |
Expect the two Google tools to disagree: Google says even sessions and clicks "don't match exactly", and that what matters is that the general trends follow the same pattern. See why GA4 sessions and Search Console clicks differ and Search Console setup for client reporting.
| Number | 1 Mar to 31 May 2025 | 1 Mar to 31 May 2026 | Difference |
|---|---|---|---|
| Clicks, whole site | 1,840 | 2,410 | +570 |
| Impressions, whole site | 61,200 | 79,500 | +18,300 |
| Clicks, 9 service pages rewritten in March 2026 | 410 | 760 | +350 |
| Quote requests (client-reported) | 52 | 61 | +9 |
What the FTC says about results claims and testimonials
A case study on your website or in a proposal markets your services, so treat it as advertising. The FTC's advertising guide for small businesses says advertising must be truthful and non-deceptive, and that advertisers need "proof before the ad runs". It describes a reasonable basis as "objective evidence that supports the claim", and says the proof must cover implied claims as well as express ones.
| The FTC page, paraphrased | For a case study |
|---|---|
| Proof is needed for the express and implied claims people take from an ad (advertising guide). | Every number needs a source. Implying "you will get this" is a claim too. |
| An ad can mislead through what it leaves out (advertising guide). | List the other changes and what did not work. |
| Disclosures must be clear enough to notice and understand; fine print does not fix a deceptive claim (advertising guide). | No footnote that quietly contradicts the headline. |
| An endorsement must reflect the endorser's honest opinion, and nobody can describe experience with a product they have not tried (endorsement FAQ). | Use the client's own words about work they received. |
| A connection that a significant minority of readers would not expect, and that would affect how they weigh the endorsement, such as payment, something of value, or a family or employment tie, should be disclosed clearly and conspicuously (endorsement FAQ). | Disclose any benefit or relationship next to the quote. |
| If an ad implies the endorser still uses the product, the endorsement stays only while there is good reason to believe that; for endorsements a few years old, check that the claims are still accurate (endorsement FAQ). | Update the page when the client stops working with you, and recheck older case studies. |
Why "results not typical" does not fix a results claim
The endorsement FAQ's section on endorsements that do not reflect the typical consumer experience says readers usually take specific results as what they can expect too, and that a line such as "Results not typical" or "Individual results may vary" will not change that reading. The advertiser then needs adequate proof that the results shown are typical, or a clear and conspicuous disclosure of the generally expected performance. The advertising guide agrees that "Your results may vary" is not enough.
With a handful of clients, you may not know what clients generally get. Then keep exceptional numbers out of headlines and quotes, put context next to every number, and leave out any results claim you cannot support. Ask a lawyer about wording you are unsure of.
The rule on reviews and testimonials
The FTC's Consumer Reviews and Testimonials Rule went into effect on 21 October 2024. Its Q&A says the rule covers misrepresenting a testimonialist's experience, that a business putting testimonials on its own website is disseminating them, not merely hosting them, and that courts can impose civil penalties for knowing violations. For reviews, the rule does not bar incentives when there is no express or implied requirement that they express a particular sentiment, though the Q&A adds that not disclosing an incentive can still violate the FTC Act; hold a case study quote to the same standard. The rule's "consumer testimonial" and "celebrity testimonial" do not include endorsements by businesses or other entities, so ask a lawyer how it applies to a quote from a business client.
A plain-language summary of FTC business guidance, not legal advice. It covers US federal guidance only, and the endorsement FAQ says its guidance does not provide a safe harbor from liability. Read the official pages under Sources, and ask a lawyer about your wording.
What you did versus what else changed
Write your work and everything else that changed side by side, with dates, and let the reader weigh them.
- Your work: from your dated change log, the one behind "work completed" in the report outline.
- The client's changes: a redesign, new pages, a new location, services, prices or hours. Ask; do not rely on memory.
- Other marketing and season: paid ads, offline campaigns, press coverage, and the same dates a year earlier.
- Google: its core updates page says positions in Search results "aren't static or fixed in place", and that this constant change can cause both gains and drops in organic traffic. It points to the Search Status Dashboard for each core update's start and end dates; note any in your periods.
Write "after", "during the same period" or "alongside" rather than "because of", unless you can show the cause. See also if the dates line up with a core update.
| Avoid | Write instead |
|---|---|
| "I tripled their traffic." | "Clicks from Google Search went from [X] (1 March to 31 May 2025) to [Y] (1 March to 31 May 2026)." |
| "SEO brought them 40 new leads." | "The client recorded [number] quote requests, against [number] a year earlier. Search was one of several channels." |
| "Rankings shot up after my fixes." | "After the fixes went live on [date], impressions for those pages went from [X] to [Y]. A Google core update also ran from [date] to [date]." |
| "#1 on Google for [keyword]." | Leave it out. Positions change, and Google says no one can guarantee a #1 ranking. |
A case study template you can copy
Fill the brackets; delete any line you cannot back with a source or the client's written approval.
Title: SEO work for [a type of business] in [region], [month year] to [month year]
Permission: Published with [client name / the client]'s written permission, given on [date]. They approved this text on [date].
1. Context
[Type of business], [number] locations, a site of about [number] pages. Goal agreed at the start: [for example, more quote requests from service pages]. Scope: [what was included], [date] to [date].
2. Starting point
[Date] to [date]: [number] clicks and [number] impressions from Google Search (Search Console, whole site). Known problems: [for example, service pages not indexed].
3. Work done
[Date]: [change]. [Date]: [change]. [Date]: [change]. By the client's team: [what, or "nothing in this period"].
4. Results, with dates
Clicks from Google Search: [X] from [date] to [date], against [Y] from [date] to [date] ([same dates a year earlier / the period just before]).
Impressions, same periods: [X] against [Y].
[Pages worked on, filtered to [page group]: [X] clicks against [Y].]
[Client-reported: [number] quote requests against [number].]
5. What else changed
[Redesign, new location, paid ads, season, Google updates with dates, or "nothing else I know of".]
6. What did not work
[A change with no visible effect, or a page that lost clicks, and what you did next.]
7. In the client's words
"[The client's own words about the work they received.]" [Name, role, business, or "the owner"], approved on [date]. [If any: they received [benefit] after agreeing; it did not depend on what they said.]
8. What this does not show
One client's site over one period. It is not a prediction for another site, and I do not guarantee rankings or traffic.
Data note: Search Console Performance report, [search type], dates in Pacific Time, pulled on [date]. [Google Analytics: [channel], pulled on [date].] [Figures rounded to the nearest [number].]
Use it for the "previous work" answer in the proposal template and the "past work" line in follow-up email 3.
Checklist before you publish
- Written permission on file for each item used: name or anonymized, numbers, quote, places it appears.
- The client approved the final text, numbers and quote in writing, and the dates are in the permission line.
- The quote is in the client's words, about work they received; any shortening keeps its meaning.
- Any benefit or relationship is disclosed next to the quote, and nothing depended on a positive quote.
- Every number has a source, an exact date range and the date it was pulled, at least three days after the period ended.
- Compared periods are the same length, and the page names the comparison, the scope and any filter.
- Every percentage has its starting number; business numbers are labeled client-reported.
- Your work and the other changes, including Google updates, are listed with dates; "What did not work" is filled in.
- The headline names the project, not a result; no guarantee, prediction or "you can expect" anywhere, and no "results may vary" line standing in for context.
- If anonymized: no name, domain, URLs, branded queries or uncropped screenshots, and no data about the client's customers.
- A review date is set, the page is checked when the engagement ends, and you take it down on request.
For monthly numbers, see the monthly report email template; for choosing them, SEO KPIs for clients.
Sources
- Ask for previous work and success stories, results, timeframe and measures of success; no guaranteed #1 ranking (page last updated 5 June 2026): Do you need an SEO? (Google Search Central)
- Clicks and impressions; preliminary data; chart by property, table by page: Performance report (Search Console Help)
- Compare in the Date filter: How are you performing on Google? (Search Console Help)
- Two periods; one comparison at a time; weekly or monthly granularity; filters and totals: Advanced filtering and comparison (Search Console Help)
- Data in 2 to 3 days; Pacific Time; anonymized queries: Troubleshooting data discrepancies (Search Console Help)
- 16 months of Search Console data: Connect Search Console to Google Analytics (Analytics Help)
- Sources of truth; sessions and clicks; trends: Using Search Console and Google Analytics data for SEO (Google Search Central)
- Positions not fixed; gains and drops; Search Status Dashboard dates: Google Search's core updates (Google Search Central)
- Truthful ads; proof before the ad runs; reasonable basis; implied claims; omissions; disclosures and fine print; "Your results may vary": Advertising FAQ's: A Guide for Small Business (FTC)
- Honest opinions and actual experience; "Results not typical"; generally expected performance; disclosing connections; older endorsements; no safe harbor: FTC's Endorsement Guides: What People Are Asking (FTC)
- Effective date; misrepresented experience; own-website testimonials; incentives, sentiment and disclosure; civil penalties; endorsements by businesses: The Consumer Reviews and Testimonials Rule: Questions and Answers (FTC)