Back to GEO Service
GEO Case Study · First-Party Data

We ran the program on a site we operate. Here is what moved. And what did not.

This is a first-party record, not a client engagement. Over one quarter we ran a full GEO and SEO program on a B2B professional services website we operate, and measured it with Search Console and product analytics. Clicks and impressions roughly doubled. Non-brand commercial queries barely moved. Both halves are below, because a case study that only reports the good half is marketing, not measurement.

TL;DR
  • One quarter of first-party Search Console data from a B2B professional services site we run ourselves.
  • Comparing the first 30 days of the window with the last 30: clicks up 144 percent, impressions up 105 percent.
  • Most of that growth is branded demand. Non-brand commercial queries produced almost no clicks, and average position got worse as the site surfaced for more terms.
  • No AI citation rate is claimed anywhere on this page. Google's AI-features report counts surface appearances, not citations.
Evidence status: first-party data from a site we operate, measured with Google Search Console and product analytics over 92 days. No client outcome is claimed. No AI citation rate is claimed. No causal relationship is demonstrated, because no control group or controlled prompt panel was run.

What moved

Comparing the first 30 days of the measurement window with the last 30, inside one consistent dataset:

  • Clicks: up 144 percent. Roughly 56 percent compounding per month across the quarter.
  • Impressions: up 105 percent.
  • Click-through rate: up 0.29 percentage points, from 1.48 to 1.77 percent.
  • Queries the site surfaces for: up 14 percent on the rolling quarter.
  • Pages appearing in Google's AI features: up 11 percent, spread across 50 pages rather than concentrated on the homepage.

Growth was not linear. The middle month was close to flat, and almost all of the movement landed in the final month. The underlying counts are available on request.

What did not move

This is the half that shaped what we would do next, so it belongs on the same page and at the same size.

  • Non-brand commercial queries produced almost no clicks. The overwhelming majority of query strings the site surfaces for returned zero clicks across the whole quarter. The click growth is largely branded demand, which is brand awareness rather than commercial search being won.
  • Average position got worse. The site now appears for many more queries, at lower average positions. That is footprint expansion, not ranking improvement, and it drags reported CTR down even when nothing has broken.
  • Extra impressions did not become sessions. Thousands of additional impressions produced a negligible change in search referral sessions, because they arrived at positions too low to be clicked.
  • AI visibility did not compound. Across three consecutive months the AI-features figure fell sharply and then recovered. There is no clean trend line yet, and we will not draw one from three points.
  • A snippet rewrite on the highest-impression commercial page changed nothing measurable. That single negative result was worth more than the positive ones, because it ruled out an entire class of work.

The program: what was actually done

Eight disciplines, sequenced. The order matters, because technical eligibility has to exist before anything else can be measured.

1. Crawlability and eligibility

  • Build-time prerendering of every public route to static HTML, so AI crawlers that do not execute JavaScript receive real content.
  • Repaired a hosting behaviour where extensionless deep URLs served homepage HTML to crawlers, which had made most of the site invisible to them.
  • robots rules reviewed for each crawler purpose, and the sitemap and feed generated from a single registry.
  • Verified and submitted separately in Bing Webmaster Tools, since Bing sits among the providers behind some AI search results.

2. Structured data

  • One consolidated JSON-LD graph per concern, with organisation and site entities global and page entities local.
  • Article, service, FAQ, and breadcrumb schema issued by shared layouts rather than hand-written per page.
  • No duplicate entity identifiers, which are a quiet source of entity confusion.

3. Bilingual and language matching

  • Native Bahasa Indonesia sibling pages with bidirectional hreflang, written natively rather than translated.
  • Removed falsely paired language alternates where two pages were different topics.
  • Disambiguated a head term that search engines were reading with a different meaning entirely, by rewriting titles and headings rather than adding pages.

4. Passage and content structure

  • Answer-first rewrites across commercial page sections, so claims are stated plainly and early and passages are easier to quote.
  • An editorial engine with paired language versions, author pages, and shared article layouts.
  • A quarterly freshness pass with sourced statistics, and modified dates bumped only on real updates.

5. Snippet optimisation

  • Titles and descriptions brought within display limits on every non-article page, measured in the built output rather than in source, because HTML escaping silently adds characters.
  • A targeted rewrite pass on the worst-converting pages, with the target query front-loaded.
  • Article titles deliberately left long, because their question-style phrasing was doing intentional AI-query matching. Measurement later showed this trade-off has a real cost, which is documented rather than hidden.

6. Performance and Core Web Vitals

  • Image payload on the heaviest pages reduced by more than 95 percent after finding files mislabelled as a modern format.
  • Asynchronous decoding below the fold, hero images left eager to protect largest contentful paint.
  • Layout-shift protection enforced at the component level.

7. Truthfulness and risk removal

  • Unsupported guarantees, invented engine mechanics, and unverified firmographics removed after an adversarial audit.
  • Fabricated campaign metrics that had spread across several pages deleted at the source.
  • The public readiness tool rebuilt so that a failed check reports as unavailable rather than as a negative score.
  • Two database migrations found that had never reached the live chatbot, which had been contradicting the published brand rules for weeks.

8. Infrastructure independence

  • Backend moved off a managed platform onto a directly owned database, with schema replayed from version control and every row verified against an export.
  • Models moved to a router with automatic provider failover, replacing a single gateway that had none.
  • Lead capture hardened to fail open, and a latent fault fixed that would have dropped enquiries silently.

What we analysed, and what each source cannot answer

  • Search Console, web: query and page level position, clicks, and CTR. It says nothing about AI assistants.
  • Search Console, AI features: how often pages appeared in AI experiences. Impressions only. No clicks, no CTR, no queries, and not a citation count.
  • Product analytics: referrers, including assistant domains. Totals are unreliable because automated traffic inflates them, so we read referrers and ignore headline counts.
  • Manual AI probes: whether a brand is named in a defined prompt set. Until a controlled panel with a real denominator has been run, it supports no rate at all.

Two analyses changed the strategy more than any dashboard did. A live probe showed the site being retrieved by AI search but not cited, with answers assembled from third-party listicles the brand does not appear in. And an internal link-graph audit found the related-article system serving only the first three articles in each category, leaving the two best-performing pages with no internal links at all.

What we chose not to do

Deciding what to skip is part of the method, and each of these was declined against evidence rather than taste.

  • No further snippet rewrites on page-two commercial pages. The lever was measured on the biggest such page and produced no movement.
  • No bulk shortening of article titles. Their length is doing deliberate AI-query matching. The correct fix is to separate the search-result title from the on-page heading, not to trade one against the other.
  • No effort spent on an unfixable brand-name collision. A large share of impressions comes from an unrelated international company sharing the name, at a fraction of a percent CTR. It is filtered out before any CTR is judged rather than optimised against.
  • No new service pages. Only a handful of non-brand queries sat close enough to page one to be worth pushing, so more pages were never the constraint.
  • No published AI visibility rate. No citation or share-of-voice figure ships until a controlled panel exists. One appearance in one answer is an observation, not a rate.

Why this is not an AI citation case study

The standard at the foot of this page has not changed, and this record does not meet all of it. There is no logged prompt panel with repeated runs, no retained answer evidence across engines, and no control for the other things that moved during the same quarter. What exists is first-party search data, a dated intervention log, and an honest separation between the two.

That distinction is the point. A program can be well built, measurably eligible, and still not be cited, because citation depends heavily on corroboration the brand does not own. Reporting the first without claiming the second is what makes the rest of the numbers on this page worth reading.

Example program designs

The three scenarios below are hypothetical planning examples, kept because they show how scope changes with starting condition. They are not delivered engagements and claim no result.

Example A: Established brand with inconsistent public facts

Hypothetical starting condition: a healthy site and existing coverage, but service descriptions, locations, leadership information, or product facts conflict across official and third-party pages.

  • Build a bilingual prompt panel around brand facts and buyer due diligence.
  • Audit owned-page facts, supported structured data, canonical signals, and official profiles.
  • Correct information the brand controls and request corrections from legitimate third parties where appropriate.
  • Rerun the panel and record whether answer accuracy changed.

Example B: Challenger brand with little independent corroboration

Hypothetical starting condition: credible first-party material, but rare independent coverage and absence from category answers.

  • Identify which buyer questions the existing material can answer with original evidence.
  • Improve sourcing, authorship, dates, methodology, and clarity on owned pages.
  • Pursue legitimate editorial, partner, customer, or expert coverage without presenting paid placement as independent proof.
  • Track owned citations and third-party citations as separate outcomes.

Example C: Brand with weak Search foundations

Hypothetical starting condition: important pages blocked, duplicated, poorly canonicalized, dependent on client-side rendering, or missing from ordinary search indexes.

  • Diagnose Google and Bing index status, rendering, canonical tags, robots rules, redirects, and CDN behaviour.
  • Distinguish crawler purposes, including OAI-SearchBot for ChatGPT Search and GPTBot for potential model training.
  • Repair the Search foundation before prescribing entity or content-expansion work.
  • Treat AI answer tracking as a separate outcome rather than calling an indexed page retrieved.

What a future published case study must include

  • Client approval and enough context to understand the market and starting point.
  • The prompt panel, engines, modes, languages, locations, dates, and repetition method.
  • Baseline and rerun evidence, including unchanged and negative results.
  • A complete intervention timeline.
  • Clear separation between observed chronology, plausible explanation, and demonstrated causation.

The record above meets the intervention timeline and the negative-results requirements, and does not yet meet the prompt panel or causation requirements. We would rather say which boxes are unticked than call it a proof.

Frequently Asked

Quick answers.

Is this a client case study?
No. It is a site we operate ourselves, which is why we can publish method and measurement in this much detail without a confidentiality problem. Nothing here describes work delivered to a named client.
Does this prove GEO works?
No. It documents one program on one site over one quarter, with no control group and no controlled prompt panel. Search volume, seasonality, and brand awareness all moved during the same period. It is a chronology with an intervention log, not a causal proof.
Why publish the parts that did not work?
Because they are the more useful half. Non-brand commercial queries barely moved, and knowing why saved a quarter of misdirected on-site effort. A case study that hides that teaches the reader nothing.
Do you claim the brand is cited by ChatGPT or Google AI Overviews?
No. We report Google's AI-features impressions, which count how often pages appeared in AI experiences, and referral sessions from assistant domains in our own analytics. Neither is a citation rate. A citation claim requires a logged prompt panel with repeated runs, which is a separate standard set out at the foot of this page.
Can we see the underlying numbers?
Yes, on request. The site is a specialist B2B property rather than a high-volume publisher, so the absolute counts are modest, and percentages alone can flatter a small base. We would rather hand over the full export in context than publish a number that misleads either way.

Check your technical GEO readiness.

This snapshot checks the page and key technical files, then shows one experimental model probe. It is not a cross-engine visibility measurement.

Check GEO Readiness