How to read groundingChunks and url_citation annotations, count the websites Gemini cites, and test whether they’re the websites Google AI Mode cites.

When we asked Gemini about home care services in South Essex, it used 14 sources from 11 different websites. Our client’s website was the first source in the list and appeared twice.

We then asked Google AI Mode the same question. It displayed five Google Maps listings, but our client wasn’t among them.

This highlights an important point about AI search: being cited by one AI system doesn’t guarantee that another will use your website.

The websites cited by an AI assistant are one of the most common measures of AI search visibility. However, the numbers can be misleading. The same website can appear several times, some links use Google redirects, and different AI systems can choose completely different sources.

This is the third experiment in our seven-part research series, Inside the Grounded Answer. We’re examining the sources Gemini uses and testing whether they help us predict which websites Google AI Mode will show for the same questions.

This article explains where the sources appear in Google’s two Gemini API formats, what we found in our first home care test and how we’re measuring the overlap between Gemini and AI Mode.

The experiment in brief

  • The question: How much do the websites Gemini cites overlap with the websites Google AI Mode cites for the same search? Does appearing as a Gemini source make a website more likely to appear in AI Mode?
  • The method: We use the same set of prompts as our first two experiments. Each prompt is run through Gemini five times every week, and we check the same searches in AI Mode during that week.
  • What we measure: The number of sources and unique websites per answer, repeated sources, how often each website is cited, its position in the source list, the type of website and how much the results overlap with AI Mode.
  • Our first example: In the SESNHA Care test, sesnha.co.uk appeared as sources 1 and 12 in a list of 14. It wasn’t included in AI Mode’s local business listings.
  • Research status: The wider study is in progress. The SESNHA test provides an initial example, not a final conclusion.

1. How Does Gemini Show Which Websites It Uses?

When Gemini answers a question using Google Search grounding, the API returns information about the sources behind its answer.

The information is presented differently in Google’s two API formats.

In the generateContent API, sources appear in a separate list called groundingChunks.

In the Interactions API, citations are attached to the relevant parts of the answer as annotations.

Both formats provide information that helps identify the websites Gemini used. However, one website can appear more than once, so it’s important to distinguish between the number of sources and the number of unique websites.

Finding sources in the generateContent API

In the generateContent API, look for:

candidates[0].groundingMetadata.groundingChunks[]

This is the list of sources used to support the answer.

Each entry has a position in the list, starting at zero. The source information can include:

FieldWhat it contains
web.uriThe link to the source. This may be a Google redirect rather than the website’s direct address.
web.titleThe title or website domain associated with the source.
web.domainA domain field included in Google’s Cloud API reference for web sources.
mapsInformation about a Google Maps place rather than a web page.
retrievedContextInformation retrieved from documents or other data supplied by the developer.

The source numbers also matter because the supported sections of the answer refer to these entries by their position. We examine that relationship in another part of this research series.

Here’s a shortened example:

{
  "groundingChunks": [
    {
      "web": {
        "uri": "https://vertexaisearch.cloud.google.com/grounding-api-redirect/...",
        "title": "sesnha.co.uk"
      }
    },
    {
      "web": {
        "uri": "https://vertexaisearch.cloud.google.com/grounding-api-redirect/...",
        "title": "homeinstead.co.uk"
      }
    }
  ]
}

Notice that the links point to Google redirect URLs, but the titles identify the websites.

This is why you shouldn’t rely on the URL alone when recording which websites Gemini cites.

Finding sources in the Interactions API

The Interactions API doesn’t provide the same separate list of sources.

Instead, the citations appear inside the annotations attached to each model_output text block.

A web citation can contain:

  • url: the address of the cited page.
  • title: the page title or website name.
  • start_index: where the supported text begins.
  • end_index: where the supported text ends.

For example:

{
  "type": "url_citation",
  "url": "https://www.example.co.uk/home-care/",
  "title": "example.co.uk",
  "start_index": 0,
  "end_index": 37
}

To build a source list, collect the unique URL and title combinations from the annotations, keeping the order in which they first appear.

You should also group different pages under the same website. For example, two pages from example.co.uk are two source URLs but one website.

The 14 sources in our SESNHA test

We used the SD SEO Suite Grounding Lab to ask Gemini 3.8 Flash:

home care services in South Essex

The response included 14 numbered sources from 11 different websites.

WebsiteSource numbersWebsite type
sesnha.co.uk1, 12Care provider
homeinstead.co.uk2Care provider
essex.gov.uk3Public body
integratedsupportserviceltd.com4Care provider
essexsupportdirectory.org5Directory
livewellsouthend.com6, 7Directory
ashleycare.com8Care provider
cqc.org.uk9Regulator
caresourcer.com10Directory
visiting-angels.co.uk11Care provider
homecare.co.uk13, 14Directory

Three websites appeared twice, which is why 14 sources came from 11 different websites.

The source list included five care providers, four directories, one public body and one regulator.

Looking at the 14 individual source entries, care providers and directories each accounted for six. The county council and CQC provided one source each.

Figure 1. The Grounding Lab source list for “home care services in South Essex”. It contains 14 numbered sources from 11 websites, with SESNHA Care appearing first and twelfth.

This is a useful example of why reporting only the number of citations can be misleading.

SESNHA’s website appeared twice, but that doesn’t mean it was two different websites. The same applies to the other domains that appeared more than once.

What did Google AI Mode show?

We then searched for the same service in Google AI Mode:

home care services in South Essex

The response displayed five Google Maps listings, representing four different businesses:

  • Home Instead.
  • Bluebird Care.
  • Caremark, which appeared twice.
  • Bloomsbury.

Only Home Instead’s website also appeared in Gemini’s source list.

Caremark and Bloomsbury appeared in Gemini’s answer through third-party directories. Bluebird Care appeared in the AI Mode listings but wasn’t named in Gemini’s answer.

There is an important distinction here. Google AI Mode’s local listings are business places, not necessarily website citations. We’re comparing the businesses and their associated websites in this example, while our separate Google Maps experiment looks specifically at the places Gemini finds and cites.

The main finding is that Gemini and AI Mode didn’t select the same businesses and websites, even though we used the same question.

2. Why Does the Choice of Sources Matter?

Being cited by an AI assistant is often treated as a simple yes-or-no measure.

However, there are several things that can make source counts inaccurate. A website may appear more than once, a link may hide the actual domain, and the order of sources may be misunderstood.

Our SESNHA test shows why businesses need to look beyond the headline number.

Four things that can make source counts misleading

1. The same website can appear more than once

Three websites appeared twice in the SESNHA response.

If you count every source entry as a separate website, you will overstate how many different websites Gemini used.

For accurate reporting, keep two figures:

  • The number of source entries or cited pages.
  • The number of unique websites.

You should also measure how often each website appears across repeated runs.

2. Google redirect links can hide the website

Some sources in generateContent use Google redirect URLs rather than direct website addresses.

A report that records only the URL may show a Google address instead of the original website.

Use the source title or domain field to identify the website. Where that information isn’t available, resolve the redirect before assigning the source to a domain.

3. Third-party websites can be just as important as your own

In the SESNHA example, directories and public bodies supplied eight of the 14 sources.

For businesses in local and regulated industries, directories, councils and regulators can play an important role in the information AI systems use.

This means your own website isn’t the only place you need to monitor.

4. The source order isn’t necessarily a ranking

Google doesn’t document the order of groundingChunks as a ranking of importance or quality.

We record where each website first appears, but we don’t assume that the first source is the most important.

The experiment will test whether an earlier position is associated with a greater chance of appearing in Google AI Mode.

Google’s AI search features don’t always cite the same websites

Research by SE Ranking, reported by Search Engine Journal in July 2025, compared the websites cited by Google AI Mode and AI Overviews across 10,000 keywords.

The study reported several interesting findings:

  • AI Mode and AI Overviews shared only 10.7% of their cited URLs and 16% of their domains.
  • Across three searches for the same keywords on the same day, 14.7% of domains stayed the same, compared with 9.2% of URLs.
  • Google’s own services were the most-cited group, accounting for 5.7% of citations, mainly through Google Maps business profiles.

The difference between the URL and domain figures is important. AI Mode can cite different pages from the same website, even when the website itself remains part of the results.

The findings also show why comparing AI search visibility at domain level can be more useful than looking only at individual URLs.

If Google AI Mode and AI Overviews can choose different sources for the same search, we shouldn’t expect Gemini’s API to return exactly the same websites as AI Mode.

The question we’re investigating is whether Gemini’s sources provide a useful early indication of which websites AI Mode might use.

The four hypotheses we’re testing

Our wider research is based on four questions.

  1. Are websites cited more often by Gemini also more likely to appear in Google AI Mode? We want to see whether a higher Gemini citation rate is associated with a higher chance of AI Mode inclusion.
  2. Is the overlap lower for local searches? We expect local searches to show less overlap because AI Mode often uses Google Maps business listings, rather than relying only on websites.
  3. Does the type of website matter? We want to establish whether directories, public bodies, regulators and business websites have different chances of appearing in both systems.
  4. Does a website’s position in Gemini’s source list matter? We’re testing whether websites that appear earlier are more likely to be cited by AI Mode.

These are hypotheses, not confirmed findings. The wider sample will tell us whether the patterns hold across different prompts and industries.

3. Which Businesses Are Affected?

This research is relevant to any business whose customers use AI to compare products, find local services or shortlist providers.

It’s particularly important in industries where customers rely on directories, review platforms, regulators and comparison websites before making a decision.

SectorWebsites to look for in Gemini’s sourcesWhat your business should check
Healthcare and social careRegulators, council websites, care directories and provider websitesYour regulator information, directory profiles and service pages.
Ecommerce and retailRetailers, review websites, manufacturers and forumsProduct pages, customer reviews and stock information.
SaaS and B2B technologySoftware providers, review platforms and comparison websitesYour review profiles, product information and comparison content.
Finance and insuranceComparison websites, regulators and financial providersYour product pages, rates, fees and comparison listings.
Legal and professional servicesLaw firm websites, legal directories and professional bodiesYour directory profiles, specialism pages and professional information.
Travel and hospitalityBooking platforms, review websites and official tourism websitesProperty listings, facilities and location information.
Publishers and mediaNews websites, reference websites, forums and video platformsWhether Gemini uses your original reporting or relies on another source to describe the topic.

The more a sector relies on third-party websites to compare or verify businesses, the more important those websites become.

For example, a care provider may have a detailed website, but customers and AI assistants may also rely on care directories and CQC information when comparing providers.

SEO and digital PR teams should therefore understand which third-party websites influence the answers in their industry.

4. How Should Businesses Measure Their Sources?

The first step is to count websites rather than relying on the number of individual source entries.

You should then measure how often each website appears across repeated Gemini runs and compare those results with the websites Google AI Mode uses for the same questions.

Step 1: Extract the sources from Gemini’s responses

The following Python example collects web sources from both API formats and records the website associated with each source.

It also removes duplicate website entries while keeping the order in which they first appear.

from urllib.parse import urlparse


def get_domain(value):
    """Extract and normalise a domain from a title or URL."""
    if not value:
        return ""

    value = value.strip()

    if "://" not in value:
        value = "//" + value

    host = urlparse(value).netloc.lower()
    return host.removeprefix("www.")


def source_records(resp):
    """Collect distinct web pages from either API response format."""
    pairs = []

    if "candidates" in resp:  # generateContent
        gm = resp["candidates"][0].get("groundingMetadata", {})

        for chunk in gm.get("groundingChunks", []):
            web = chunk.get("web")

            if web:
                pairs.append((
                    web.get("uri"),
                    web.get("title")
                ))

    else:  # Interactions API
        for step in resp.get("steps", []):
            if step.get("type") != "model_output":
                continue

            for block in step.get("content", []):
                for ann in block.get("annotations", []):
                    if ann.get("type") == "url_citation":
                        pairs.append((
                            ann.get("url"),
                            ann.get("title")
                        ))

    records = []
    seen_pages = set()

    for uri, title in pairs:
        domain = get_domain(title) or get_domain(uri)
        page_key = (domain, uri or title)

        if domain and page_key not in seen_pages:
            seen_pages.add(page_key)
            records.append({
                "website": domain,
                "url": uri,
                "title": title
            })

    return records


def websites(resp):
    """Return unique websites in order of first appearance."""
    records = source_records(resp)

    result = []
    seen = set()

    for record in records:
        domain = record["website"]

        if domain not in seen:
            seen.add(domain)
            result.append(domain)

    return result

This separates individual pages from unique websites. That is important because one website may provide several sources in the same answer.

For Google redirect links, the source title is used to identify the domain where available. If neither the title nor the URL identifies the original website, the redirect needs to be resolved separately.

Step 2: Measure each website across repeated runs

Once you have extracted the sources, calculate a few measures for every website and prompt.

MeasureWhat it means
Citation rateThe percentage of runs in which the website appears as a source.
Sources per runThe average number of source entries from that website in each answer.
First positionThe position of the website’s first appearance in the source list.
Share of sourcesThe number of source entries from the website divided by the total number of source entries in the answer.
Website typeWhether it is a public body, regulator, directory, review website, forum, video platform, publisher or business website.

These measures give a more complete picture than simply counting citations.

For example, a website that appears once in every five runs has a different level of visibility from a website that appears in every run.

Step 3: Compare Gemini’s websites with Google AI Mode

For each prompt, we compare two sets of websites.

  • G: Websites that Gemini cited in at least half of its runs.
  • A: Websites cited by Google AI Mode for the same prompt.

We then calculate three measures.

1. Jaccard similarity

This shows how much the two sets of websites overlap:

[
J = \frac{|G \cap A|}{|G \cup A|}
]

A higher score means the two systems cite more of the same websites.

2. Recall

This measures how much of AI Mode’s website list was also found by Gemini:

[
\text{Recall} = \frac{|G \cap A|}{|A|}
]

A higher score means Gemini identified more of the websites that appeared in AI Mode.

3. Precision

This measures how much of Gemini’s website list also appeared in AI Mode:

[
\text{Precision} = \frac{|G \cap A|}{|G|}
]

A higher score means a greater proportion of Gemini’s sources also appeared in AI Mode.

These measures answer different questions.

Recall tells us how much of AI Mode’s website list Gemini could have helped us identify. Precision tells us how much of Gemini’s source list also appears in AI Mode.

We calculate the measures separately for each prompt and then examine the overall results.

Figure 2. Each prompt and website is classified according to whether it appears in Gemini’s sources and Google AI Mode. The combined results form a two-by-two table used to calculate the relationship between the two.

The research methods we’re using

We use six different tests to investigate the relationship between Gemini’s sources and Google AI Mode.

TestWhat we measure
Client one-time testFor SESNHA’s priority prompts, each website’s citation rate across five runs, its website type and the websites or listings shown in AI Mode.
Longitudinal testThe same prompt panel every week for 12 weeks, including each website’s citation rate and changes in the source lists for Gemini and AI Mode.
Bivariate testWhether Gemini citing a website, its citation rate, source position or website type is associated with AI Mode citing it.
Multivariate testWhether Gemini citation rate, source position and website type are associated with AI Mode inclusion when considered alongside the factors from the first two experiments.
A/B testImprove directory listings for randomly selected test locations while leaving the control locations unchanged. Compare Gemini citations, brand mentions and AI Mode results before and after.
Before-and-after testCompare each website’s citation rate in the four weeks before and after a Google core update or Gemini model release.

The aim is to understand not just whether Gemini and AI Mode use the same websites, but whether certain types of sources are more likely to appear in both.

What should content and development teams do now?

There are several practical actions businesses can take while the research continues.

SEO and data teams: measure unique websites

Report the number of different websites cited, not just the total number of source entries.

Also measure the percentage of repeated runs in which each website appears. One citation in one answer doesn’t tell you how visible that website is over time.

Digital PR and local SEO teams: check the websites that influence your industry

Identify the directories, public bodies and review platforms that Gemini uses for important customer questions.

Make sure your business profiles are complete, accurate and consistent with your website.

Content teams: make service information easy to find

Create clear pages for your main services so that customers and search engines can find the relevant information without relying on a general home page.

Make sure each page explains the service, who it is for and where it is available.

Development teams: make sure important pages can be accessed

Check that your robots.txt file doesn’t block pages you want search engines to access.

Google-Extended is a separate control that publishers can use to manage how their content is used in certain Gemini Apps and Vertex AI grounding contexts. Google says it doesn’t affect whether a page appears in Google Search.

Also make sure your reporting system records the original website rather than relying on Google redirect URLs. This will help prevent changes to redirect links from affecting your reports.

5. What We’re Measuring in the Wider Study

Our first SESNHA test gives us an example of how Gemini’s sources can differ from the businesses shown in Google AI Mode.

The wider research will help us establish whether this pattern appears across different prompts and industries.

The main results will include:

MeasureWhat it tells us
Websites per answerThe median and range of unique websites Gemini cites in each response.
Overlap with AI ModeThe average Jaccard similarity between Gemini’s and AI Mode’s website lists.
RecallThe percentage of AI Mode websites also cited by Gemini.
Citation relationshipWhether a website cited by Gemini is more likely to be cited by AI Mode, using an odds ratio and 95% confidence interval.
Local versus informational searchesWhether website overlap is lower for local questions than for informational searches.
Most predictive website typeWhether providers, directories, regulators, public bodies or other source types are more likely to appear in both systems.

We will also look at how these results change over time and whether the same websites continue to appear after Google updates its systems or releases new Gemini models.

6. Frequently Asked Questions

Are the sources the same as every page Gemini looked at?

No. The sources returned by the API are the sources associated with the grounded answer.

They don’t provide a complete list of every page the model may have considered but didn’t use in its final response.

Why do some source links point to Google instead of the original website?

The generateContent API can return Google redirect links.

The source title usually identifies the original website. Where the title or domain isn’t available, the redirect may need to be resolved to identify the destination.

Does the order of Gemini’s sources tell us which website is most important?

Not necessarily.

Google doesn’t document the order of groundingChunks as a ranking of source importance.

We record the first position of each website because we want to test whether it is associated with AI Mode inclusion. Until the research is complete, it should be treated as the order in which sources appear, not a ranking.

Why does Google AI Mode show Google Maps listings instead of website links?

For local searches, AI Mode can show business listings from Google Maps rather than relying only on traditional website links.

That’s why we keep website citations and Maps places separate in our research.

Our sixth experiment looks specifically at the places Gemini finds through Google Maps grounding.

Should we measure citations or websites?

Measure both, but don’t confuse them.

The number of source entries tells you how many individual sources appear. The number of unique websites tells you how many different domains are being used.

For wider AI visibility reporting, also record how often each website appears across repeated runs.

If you want to understand how much of an answer a website supports, you need to examine the supported sections as well. Counting websites alone won’t tell you which claims they support.

7. The Toolkit: Source Overlap Extractor

We’ve built a Python script to collect and compare the websites Gemini cites.

The Source Overlap Extractor has two main commands and works with the shared statistics tool used in the other experiments.

The sources command

The sources command creates two datasets.

The first contains one row per prompt and website, including:

  • Citation rate.
  • Number of source entries per run.
  • First position in the source list.
  • Share of all sources.
  • Website type.
  • Whether the website also appeared in Google AI Mode.

The second compares the websites Gemini cited with those shown in AI Mode for each prompt.

The types command

The types command groups the sources into categories, such as:

  • Business websites.
  • Directories and review platforms.
  • Public bodies and regulators.
  • Forums and communities.
  • Publishers.
  • Video platforms.

It also lists websites the script couldn’t classify, so they can be reviewed and labelled manually.

Running the script

Use these commands in your terminal:

python3 source_overlap_extractor.py sources runs/ --ai-mode ai_mode.csv --domain yoursite.co.uk

python3 source_overlap_extractor.py types runs/ --types my_types.csv

python3 grounding_experiment_stats.py multivariate source_observations.csv --outcome ai_mode --factors gemini_cited,first_position,source_type --cluster prompt

Replace the example website address and file names with the information from your own research.

The final command runs a multivariate analysis to investigate how Gemini citations, source position and website type relate to inclusion in AI Mode.

8. What We’re Watching Next

The first results will show how much Gemini’s sources overlap with the websites and businesses Google AI Mode uses.

We’re particularly interested in five areas.

How much do Gemini and AI Mode overlap?

The first priority is to calculate the overlap, recall and precision across the full prompt panel.

This will show whether Gemini’s sources provide a useful early indication of the websites that appear in AI Mode.

Do local searches produce different results?

We expect the overlap to be lower for local searches because AI Mode can use Google Maps business listings.

We’ll compare local prompts with informational searches to see whether the data supports that expectation.

Which types of websites appear most often?

We’ll examine whether directories, regulators, public bodies and provider websites have different chances of appearing in both systems.

This should help businesses understand where they need to build and maintain their presence outside their own website.

Will the Gemini API provide more information about source domains?

Google’s Cloud API reference includes a domain field for web sources.

If this field is returned consistently in the Gemini API, it should make it easier to identify and group websites without relying on redirect links or page titles.

How often does AI Mode change its sources?

Previous research has shown that AI Mode can cite different websites when the same query is run several times on the same day.

We’ll compare these changes with the weekly results from our own prompt panel to see how stable the source lists are.

The Inside the Grounded Answer research series

This seven-part series examines the information returned by Gemini when it uses Google Search grounding.

  1. The final answer: What Gemini tells users and which brands it names.
  2. Search queries: What Gemini searches for.
  3. Sources: Which websites Gemini cites. This article.
  4. Supported sections: Which parts of the answer are linked to a source.
  5. Search suggestions: The Google searches shown alongside the answer.
  6. Google Maps sources: Which places Gemini finds and cites.
  7. Thinking summaries: What the model’s planning summary tells us about its approach.

Together, these experiments will help us understand how Gemini finds information, which websites it uses and how closely those sources relate to what Google AI Mode shows.

9. About Szymaniak Digital

Szymaniak Digital is an Enterprise AI SEO Consultancy led by Konrad Szymaniak.

We research which websites AI platforms use to answer customer questions, how those sources influence recommendations and where businesses are missing from AI-generated results.

Our work combines AI search research, technical SEO, digital PR and content strategy. We help businesses understand which third-party websites influence their visibility and what they can do to improve their presence.

The Grounding Lab in SD SEO Suite lets businesses examine the sources behind Gemini’s grounded answers, while AI visibility tracking helps teams monitor how their brands appear across AI platforms.

Scroll to Top