Most teams measure brand presence in AI answers with one number: a yes/no, or a citation count. Presence is actually four separate signals: mention, citation, linked source, and recommendation. Each one moves independently. Here's the model, and where each signal lives in the response from the five answer engines we work with.

The Four-Signal Model

We track brand presence in AI answers as four separately measurable signals, each tied to a different strategic question.

  • Mention: the brand name appears in the generated prose, with or without a link. Answers: do AI engines know we exist in this category at all?
  • Citation: the brand's domain appears in the formal references panel rendered alongside the answer, separate from any inline links inside the prose. Answers: do they treat our content as a source worth pointing readers at?
  • Linked source: the brand's URL is hyperlinked inline within the prose itself, not in the references panel. Answers: are our pages the click-through path users actually take?
  • Recommendation: the engine actively positions the brand as the choice, with verbs like "we recommend," "the best option is," or by ranking it first in a list. Answers: are we being endorsed, or just listed among others?

A brand can be cited without being mentioned, mentioned without being recommended, and recommended without ever being linked. Each combination tells you something different.

When to Track Each Signal

The four signals don't all matter to every brand. Here's a rough guide to which to prioritize.

Track Mention when:
- You're early in a category and entity recognition is the goal
- You're benchmarking share of voice against direct competitors

Track Citation when:
- You publish content meant to be a reference: docs, research, long-form guides
- You want to validate that AI engines treat your domain as authoritative on a topic

Track Linked source when:
- You measure AI as a traffic channel and need a numerator that maps to landing pages
- You optimize for click-through and care about which pages actually receive AI-driven visits

Track Recommendation when:
- You sell a consideration-stage product that gets compared against alternatives
- "Best X for Y" queries are a meaningful part of your keyword universe

Most brands end up tracking all four eventually. Starting with the one that maps to your current question is what keeps the four from collapsing back into a single number.

What "Brand Presence" Currently Means (and What It's Missing)

Two of those four signals, mention and citation, should sound familiar. They're the metrics most of the GEO writing published this year converges on. Both Ahrefs's AI Visibility Audit and Semrush's brand visibility post work from this two-part vocabulary, and they're the standard references for a reason. The vocabulary is useful.

It's also incomplete. A two-signal split lumps together things that behave very differently in practice, a brand quoted in passing versus a brand the engine actively endorses, a domain listed below the answer versus a domain hyperlinked inside the answer. Conflating them is what makes AI visibility feel like a black box: the metric moves, but you can't tell which part of the relationship moved with it.

Two signals isn't wrong. It's just not enough to act on.

How Query Style Shapes the Signals

The four don't move together in practice. Once you measure them separately, three patterns recur often enough to be worth naming.

The examples below come from running each query through SerpApi's Google AI Overview API, which returns Google's rendered SERP, including the AI Overview, as a structured JSON payload. The screenshots show what a user sees on Google; the JSON snippets show the underlying response shape.

Comparison-style queries

A query like "best email marketing platform for small business" shows how the references panel can miss the brands the prose features. In the AI Overview for that query, MailerLite, Klaviyo, Brevo, Kit, and Mailchimp are each named in the prose with an inline link to the vendor's own site. The references panel underneath cites Saltbox, PCMag, and Zapier, three sites writing about the category, none of the vendors themselves. The brands have mentions and linked sources, the formal citations belong to the publishers writing about them. A tracker reading only the references panel would log zero presence for the actual products.

Playground

Google AI Overview result for "best email marketing platform for small business"
"ai_overview": {
  "text_blocks": [
    {
      "type": "list",
      "list": [
        {
          "snippet": "MailerLite: Best for simplicity and affordability...",
          "snippet_links": [
            { "text": "MailerLite", "link": "https://www.mailerlite.com/" },
            { "link": "https://www.saltbox.com/blog/best-email-marketing-platforms-small-business" }
          ]
        }
        // Klaviyo, Brevo, Kit, Mailchimp follow the same shape:
        // each named in `text` with an inline link to the vendor site,
        // and a second snippet_link to the Saltbox article.
      ]
    }
  ],
  "references": [
    { "source": "Saltbox", "link": "https://www.saltbox.com/blog/best-email-marketing-platforms-small-business", "index": 0 },
    { "source": "PCMag", "link": "https://www.pcmag.com/picks/the-best-email-marketing-software", "index": 1 },
    { "source": "Zapier", "link": "https://zapier.com/blog/free-email-marketing-software/", "index": 2 }
  ]
}

Definitional queries

For example, "what is dwell time in seo" produces the inverse of the previous: extensive citation activity with no brand naming at all. The AI Overview for that query cites ten domains in its references panel: Semrush, Shopify, SpyFu, SEO Locale, AccuRanker, Rank Math, and four more, and links inline to half of them. None of the ten is named in the prose itself. A tracker reading only mentions would log zero presence for every site contributing to the answer.

Playground

Google AI Overview result for "what is dwell time in seo"
"ai_overview": {
  "text_blocks": [
    {
      "type": "paragraph",
      "snippet": "Dwell time is the amount of time a visitor spends on your webpage after clicking through from search engine results...",
      "snippet_links": [
        { "link": "https://seolocale.com/what-is-dwell-time-in-seo-and-why-does-it-matter/" }
      ]
    }
    // 4 more text_blocks (Key Concepts list, How Dwell Time Differs, How to Improve)
    // None of the 10 reference domains is named in any snippet text.
    // Of 7 inline snippet_links across the answer, 5 unique domains are linked.
  ],
  "references": [
    { "source": "Semrush", "link": "https://www.semrush.com/blog/dwell-time/", "index": 0 },
    { "source": "Shopify", "link": "https://www.shopify.com/blog/dwell-time-in-seo", "index": 1 },
    { "source": "SpyFu", "link": "https://www.spyfu.com/blog/dwell-time-seo/", "index": 2 },
    { "source": "Relentless-Digital","link": "https://www.relentless-digital.com/dwell-time-seo", "index": 3 },
    { "source": "SEO Locale", "link": "https://seolocale.com/what-is-dwell-time-in-seo-and-why-does-it-matter/", "index": 4 },
    { "source": "Ranked AI", "link": "https://www.ranked.ai/blog/post/optimizing-dwell-time-for-better-seo", "index": 5 },
    { "source": "LSEO", "link": "https://lseo.com/blog/content-marketing/what-is-dwell-time-why-does-it-matter-for-seo/", "index": 6 },
    { "source": "Rankability", "link": "https://www.rankability.com/ranking-factors/google/dwell-time/", "index": 7 },
    { "source": "AccuRanker", "link": "https://www.accuranker.com/blog/dwell-time-in-seo/", "index": 8 },
    { "source": "Rank Math", "link": "https://rankmath.com/fi/seo-glossary/dwell-time/", "index": 9 }
  ]
}

Replacement queries

Something like "alternatives to mailchimp" produces a stranger result: a mention that isn't a recommendation. The AI Overview opens with "If you're looking for a Mailchimp alternative...". Mailchimp is named, but the brand isn't in the references, and the rest of the answer routes users toward replacements like MailerLite, Klaviyo, Omnisend, and Brevo. To a brand-mention tracker, this counts as a win. To Mailchimp, it's a churn surface.

Playground

Google AI Overview result for "alternatives to mailchimp"
"ai_overview": {
  "text_blocks": [
    {
      "type": "paragraph",
      "snippet": "If you're looking for a Mailchimp alternative, your best options depend on your business model. For e-commerce, choose Omnisend... For simple, affordable newsletters, try MailerLite. If you want advanced automation, upgrade to ActiveCampaign.",
      "snippet_links": [
        { "link": "https://zapier.com/blog/mailchimp-alternatives/" }
      ]
    }
    // List items follow with inline links to Klaviyo, Omnisend, MailerLite,
    // Constant Contact, Brevo — every recommended replacement gets a vendor link.
    // Mailchimp is named only in the framing sentence above; no inline link, no reference entry.
  ],
  "references": [
    { "source": "Zapier", "link": "https://zapier.com/blog/mailchimp-alternatives/", "index": 0 },
    { "source": "MailerCheck", "link": "https://www.mailercheck.com/articles/mailchimp-competitors", "index": 1 },
    { "source": "YouTube", "link": "https://www.youtube.com/watch?t=8&v=Ny7uCVTjxPc", "index": 2 },
    { "source": "Omnisend", "link": "https://www.omnisend.com/blog/mailchimp-alternatives/", "index": 3 },
    { "source": "YouTube", "link": "https://www.youtube.com/watch?t=543&v=ZHbFq67qieI", "index": 4 },
    { "source": "YouTube", "link": "https://www.youtube.com/watch?v=Ny7uCVTjxPc&t=8", "index": 5 },
    { "source": "YouTube", "link": "https://www.youtube.com/watch?v=ZHbFq67qieI&t=543", "index": 6 }
  ]
}

The "AI citations" bucket in our post on rank tracking in the age of AI Overviews is exactly what this model decomposes. Rank tracking gave us a single citation metric to put on a dashboard. The four-signal model gives us the diagnostic underneath it.

Where Each Signal Lives, Engine by Engine

Across the five engines, the response shape is more unified than the marketing names suggest. Google AI Overview, Google AI Mode, Bing Copilot, and Naver AI Overview all expose the answer as a text_blocks[] array plus a references[] panel, same building blocks, same extraction logic. DuckDuckGo Search Assist is the structural outlier: a flat string answer plus a flat sources[] list, with no text_blocks and no inline links.

Mention Citation Linked source Recommendation
Google AI Overview scan text_blocks[].snippet references[] text_blocks[].snippet_links[].link text + list-position heuristic
Google AI Mode scan text_blocks[].snippet references[] text_blocks[].snippet_links[].link text + list-position heuristic
Bing Copilot scan text_blocks[].snippet references[] text_blocks[].snippet_links[].link text + list-position heuristic
Naver AI Overview scan text_blocks[].snippet or top-level markdown references[] parse [1] footnote refs in markdown text only
DuckDuckGo Search Assist scan search_assist.answer search_assist.sources[] — (no inline links) text only

ChatGPT and Claude aren't on this list. They're answer surfaces where brand presence matters, but they're conversational rather than search-shaped: no per-query SERP, no formal references panel, no structured response to map the four signals onto. The model translates in spirit, the measurement layer is different enough to warrant its own treatment.

Google AI Overview

All four signals come back in one payload from the Google AI Overview API: mention is a string match against the concatenated text_blocks[].snippet, citation is a domain match against references[], linked source walks text_blocks[].snippet_links[], and recommendation needs the prose plus the position of the brand inside any embedded list. The same shape returns from the standalone Google AI Overview API endpoint, useful when you want to fetch an AI Overview without the surrounding SERP.

Google AI Mode

Same text_blocks[] + references[] shape, returned at the top level by the Google AI Mode API. AI Mode answers are longer and more conversational than AI Overviews, which makes recommendation language easier to detect, and it makes responses noisier between runs.

Bing Copilot

Same text_blocks[] + references[] shape again, returned at the top level by the Bing Copilot API.

Korean-language surface from the Naver AI Overview API. The text_blocks[] here don't carry snippet_links, instead, footnote references like [1] appear inline in the top-level markdown, and you map them back to references[] by index.

DuckDuckGo Search Assist

The minimal surface, returned by the DuckDuckGo Search Assist API: a flat search_assist.answer string and a flat search_assist.sources[] list, no text_blocks, no inline anchors. That makes Linked source structurally unmeasurable here, which is itself useful information, if click-through from AI is your primary KPI, this surface is currently a non-channel.

The engines themselves disagree on what presence can mean. Your measurement layer should make that disagreement legible, not paper over it with zeros, and any single composite score should respect that, not flatten it.

Conclusion

The single-number view of AI visibility is comfortable because it fits on a slide. The cost is that it tells you presence changed without telling you which signal moved.

The four-signal model adds instrumentation in exchange for diagnostic clarity. You pay for it in pipeline complexity, four extractions per engine, four columns on the dashboard instead of one, four conversations to have when something moves. You get back the ability to answer specific questions: the engines stopped recommending us this quarter, or our citations dropped but our mentions held steady, or DuckDuckGo isn't a click channel and never was. Those are the conversations that move strategy.

Brand presence in AI answers is not one thing. Treat it as four, weight them for what you're trying to learn, and the tracking conversation gets less ambiguous.


AI SEO (GEO) API by SerpApi
Optimize your content for Generative Engine Optimization (GEO). Track how your pages appear in AI-generated answers from places like Google AI Mode and Google AI Overview.
Rank Tracking in the Age of AI Overviews: What’s Changed
Traditional rank position still matters, but it’s no longer the complete picture. You need these three other metrics now.
Find and Track Google’s AI Mode Cited Sources
In this blog post, I’ll introduce a method of tracking citations using SerpApi’s Google AI Mode API and a Python script I worked on to take a list of questions and automatically extract the “citation list”, which you can use for your use case.
Get AI Generated Responses From Search Engines In Structured JSON
In this post we’ll walk through how AI generated answers appear across major search engines and how you can use SerpApi to get them in structured JSON.