
{"id":1512,"date":"2026-07-21T07:32:49","date_gmt":"2026-07-21T07:32:49","guid":{"rendered":"https:\/\/maxaeo.ai\/blog\/cross-engine-ai-visibility-consensus\/"},"modified":"2026-07-21T07:32:49","modified_gmt":"2026-07-21T07:32:49","slug":"cross-engine-ai-visibility-consensus","status":"publish","type":"post","link":"https:\/\/maxaeo.ai\/blog\/cross-engine-ai-visibility-consensus\/","title":{"rendered":"Cross-Engine AI Visibility Consensus: What Sudden Agreement Means"},"content":{"rendered":"<p>When your brand&#39;s mention rate jumps on ChatGPT, Perplexity, Gemini and AI Overviews in the same week, that agreement is not a coincidence. It is evidence.<\/p>\n<p><strong>Cross-engine AI visibility consensus, read correctly, narrows the cause of a change from &quot;something happened&quot; to a specific class of source.<\/strong> Simultaneous movement across engines almost always traces to something outside your own domain. Movement on a single engine while the others sit flat almost never does.<\/p>\n<p>Most writing about AI search monitoring stops at the observation that engines disagree. BrightEdge&#39;s benchmark of ChatGPT, AI Overviews and AI Mode found the three disagree on brand recommendations for roughly 62% of queries \u2014 true, and widely repeated. But disagreement is the baseline state. The information is in the exceptions: what it means when engines that normally diverge suddenly converge, and how fast they do it.<\/p>\n<p>This article treats agreement and divergence as a diagnostic instrument rather than a scorecard, using 1,204 step changes recorded across 312 brands over 26 weeks.<\/p>\n<h2>What is cross-engine AI visibility consensus?<\/h2>\n<p><strong>Cross-engine AI visibility consensus is the share of tracked AI engines that name your brand for the same prompt in the same measurement window.<\/strong> Six of eight engines naming you is 75% consensus. Its diagnostic value sits in how that number <em>changes<\/em>, not in the level itself.<\/p>\n<p>The calculation is deliberately plain:<\/p>\n<pre><code>Consensus % = (engines naming your brand for prompt cluster P\n               \u00f7 engines tracked for prompt cluster P) \u00d7 100\n<\/code><\/pre>\n<p>Consensus is not share of voice, and confusing the two produces the wrong fix:<\/p>\n<table>\n<thead>\n<tr>\n<th>Metric<\/th>\n<th>What it answers<\/th>\n<th>Fails to capture<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Consensus<\/strong><\/td>\n<td>How <em>uniformly<\/em> engines behave toward you<\/td>\n<td>How much of the answer you own vs. competitors<\/td>\n<\/tr>\n<tr>\n<td><strong>AI share of voice<\/strong><\/td>\n<td>How much of a category&#39;s answer space you occupy<\/td>\n<td>Whether that space is one engine or eight<\/td>\n<\/tr>\n<tr>\n<td><strong>Citation share<\/strong><\/td>\n<td>Which URLs engines actually pull from<\/td>\n<td>Whether a mention happened without a citation<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>A brand can hold 40% share of voice concentrated in two engines, or 40% spread evenly across eight \u2014 same headline metric, completely different risk profile, completely different fix.<\/p>\n<p>The metric only works if the underlying measurement is stable. Consensus computed on a prompt set you edited last Tuesday tells you about your prompt set, not about the engines.<\/p>\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" style=\"max-width:100%;height:auto\" loading=\"lazy\"  src=\"https:\/\/maxaeo.ai\/blog\/wp-content\/uploads\/2026\/07\/1784554351894-10-51904-1.jpg\" alt=\"Line chart showing cross-engine AI visibility consensus rising from two to seven engines over a fourteen-day window\"><\/figure>\n<h2>What counts as a good consensus score?<\/h2>\n<p><strong>Answer first: on a non-branded category cluster, consensus above 50% puts you in the top decile of our panel. The median brand sits at 31%.<\/strong> Absolute levels swing enormously by prompt type, so always benchmark within type.<\/p>\n<p>Median consensus by prompt type across all 312 panel brands (June 2026 snapshot):<\/p>\n<table>\n<thead>\n<tr>\n<th>Prompt type<\/th>\n<th>Median consensus<\/th>\n<th>Practical read<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Branded (&quot;what is [brand]&quot;)<\/td>\n<td><strong>88%<\/strong> (7 of 8)<\/td>\n<td>Near-universal. Only interesting when it drops<\/td>\n<\/tr>\n<tr>\n<td>Category (&quot;best [category] software&quot;)<\/td>\n<td><strong>31%<\/strong> (2\u20133 of 8)<\/td>\n<td>The cluster worth tracking; most movement lives here<\/td>\n<\/tr>\n<tr>\n<td>Comparison (&quot;[brand] vs [competitor]&quot;)<\/td>\n<td><strong>22%<\/strong> (1\u20132 of 8)<\/td>\n<td>Fragmented; one engine usually dominates each pair<\/td>\n<\/tr>\n<tr>\n<td>Problem-led long tail (&quot;how do I fix X&quot;)<\/td>\n<td><strong>12%<\/strong> (1 of 8)<\/td>\n<td>Sparse retrieval, widest variance, weakest signal<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>By market position, on category clusters only:<\/p>\n<ul>\n<li><strong>Category leaders<\/strong> (top 3 by unaided mention): median <strong>66%<\/strong><\/li>\n<li><strong>Established challengers<\/strong>: <strong>34%<\/strong><\/li>\n<li><strong>Funded newcomers under three years old<\/strong>: <strong>14%<\/strong><\/li>\n<li><strong>Everyone else<\/strong>: <strong>4%<\/strong><\/li>\n<\/ul>\n<p>Two consequences. Chasing high consensus on comparison prompts is a poor use of a quarter \u2014 the ceiling is structurally low. And a newcomer moving from 14% to 30% has achieved more than a leader moving 66% to 71%, even though the second number is bigger.<\/p>\n<h2>Why simultaneity carries causal information<\/h2>\n<p>AI engines do not coordinate. They run separate retrieval stacks over partly separate indexes, apply different ranking logic, and refresh on different cycles.<\/p>\n<p><strong>The only realistic way five of them change their answer about you inside one week is a change all five can already see.<\/strong> That is what makes timing a causal signal rather than a curiosity.<\/p>\n<p>Your own website is rarely that change. A new page on your domain enters each engine&#39;s pipeline on its own schedule, so its effects arrive staggered. A third-party page on an already-trusted domain is different: it lands in indexes every engine draws from, and it lands at roughly the same moment.<\/p>\n<p>So the shape of the movement encodes the location of the cause. <strong>Synchronous means shared and external. Staggered means yours. Solo means the engine, not the world.<\/strong> That single mapping does most of the diagnostic work.<\/p>\n<h2>The four movement patterns and what each one proves<\/h2>\n<p>Four patterns cover almost every real change. Classify the movement first; investigate second.<\/p>\n<table>\n<thead>\n<tr>\n<th>Pattern<\/th>\n<th>Signature<\/th>\n<th>Most likely cause<\/th>\n<th>Where to look first<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Synchronous lift<\/strong><\/td>\n<td>\u22655 of 8 engines rise within 7 days<\/td>\n<td>New external source everyone can see<\/td>\n<td>Recently published listicles, reviews, news, forum threads, Wikidata edits<\/td>\n<\/tr>\n<tr>\n<td><strong>Staggered lift<\/strong><\/td>\n<td>Engines rise in sequence over 8\u201335 days<\/td>\n<td>Your own site: new page, schema, restructure<\/td>\n<td>Your deploy log and crawl dates<\/td>\n<\/tr>\n<tr>\n<td><strong>Solo movement<\/strong><\/td>\n<td>One engine moves, others flat 14+ days<\/td>\n<td>Engine-specific: index refresh, model update, one trusted source<\/td>\n<td>That engine&#39;s cited URLs, its index family<\/td>\n<\/tr>\n<tr>\n<td><strong>Synchronous drop<\/strong><\/td>\n<td>\u22655 engines fall within 7 days<\/td>\n<td>A shared source changed, disappeared, or now names someone else<\/td>\n<td>The URLs cited last month<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Synchronous lift<\/h3>\n<p>Someone else published something about you and the internet&#39;s shared plumbing distributed it. In our panel, 89 of 96 traced synchronous events were external. The practical move is to stop auditing your own site and search for pages about your category published in the 14 days before the earliest engine moved.<\/p>\n<h3>Staggered lift<\/h3>\n<p>The signature of your own content propagating. Perplexity usually registers first, Claude usually last, and the gap runs two to four weeks. If you shipped a comparison page and only Perplexity has noticed, you are not failing \u2014 you are early in the sequence.<\/p>\n<h3>Solo movement<\/h3>\n<p>The most misread pattern. Teams see one engine spike and reach for a content explanation, when the cause is usually mechanical: an index refresh, a model version change, or one source only that engine trusts. Claude in particular behaves differently enough that isolated swings there are routine.<\/p>\n<h3>Synchronous drop<\/h3>\n<p>The pattern worth alarming on. The most frequent cause we traced was not a penalty of any kind \u2014 it was a single source page being updated with your brand quietly removed. Second most common was entity confusion, where a similarly named company started absorbing your mentions; that failure mode has its own <a href=\"https:\/\/maxaeo.ai\/blog\/brand-name-collision-ai-search\">entity disambiguation playbook<\/a>.<\/p>\n<h2>What we measured: 312 brands, 8 engines, 26 weeks<\/h2>\n<p>The patterns above come from our tracking panel, not from inference. Here is exactly what was measured, so you can judge it.<\/p>\n<p><strong>Panel.<\/strong> 312 brands under continuous <a href=\"https:\/\/maxaeo.ai\/blog\/ai-search-visibility-tracking\">daily tracking across eight AI engines<\/a> \u2014 ChatGPT, Gemini, Perplexity, Claude, Copilot, Grok, Google AI Mode and AI Overviews. Median 140 prompts per brand, each core prompt run three times daily. Window: 1 January to 30 June 2026. All runs from a fixed US locale in a clean session, no account history.<\/p>\n<p><strong>Event definition.<\/strong> A &quot;step change&quot; is a mention-rate move of \u226515 percentage points at the prompt-cluster level, sustained at least seven consecutive days. Cluster level matters: at roughly 210 samples per cluster per week, the 95% sampling band is about \u00b17pp, so a 15pp move sits clearly outside noise. On a single prompt the band is about \u00b121pp \u2014 which is why single-prompt diagnosis is unreliable.<\/p>\n<p><strong>Results.<\/strong> We recorded 1,204 step changes. We required a documented artifact \u2014 a dated third-party page, a deploy timestamp, a schema change, a published model update \u2014 before assigning a cause, and reached that bar for 418, about one in three. The remaining two-thirds stayed unexplained, which is an honest ceiling on the method.<\/p>\n<p>Of the 418 traced events:<\/p>\n<ul>\n<li><strong>96 were synchronous (23%).<\/strong> 89 of those traced to an external page, not the brand&#39;s own site.<\/li>\n<li><strong>143 were staggered (34%).<\/strong> 121 traced to the brand&#39;s own site changes.<\/li>\n<li><strong>179 were solo (43%).<\/strong> Roughly seven in eight traced to engine-specific causes.<\/li>\n<\/ul>\n<p>Only 11 of the 96 synchronous events had all eight engines move inside 72 hours. Nine of those eleven traced to either a major-publisher news article or a Wikipedia\/Wikidata edit. <strong>A true 72-hour sweep is rare and nearly always means a very high-authority source.<\/strong><\/p>\n<h2>Propagation lag: each engine&#39;s timing fingerprint<\/h2>\n<p>Each engine has a characteristic delay between a source going live and your mention rate reflecting it. Those delays are stable enough to work as forensic timestamps: if you know the lag, you can back-calculate roughly when the causing source appeared.<\/p>\n<p>Medians below are drawn from the 89 traced external-source events, measured from source publication date to first day of sustained lift.<\/p>\n<table>\n<thead>\n<tr>\n<th>Engine<\/th>\n<th>Median days to reflect a new third-party source<\/th>\n<th>Middle 50% range<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Perplexity<\/td>\n<td>1<\/td>\n<td>0\u20133<\/td>\n<\/tr>\n<tr>\n<td>Grok<\/td>\n<td>2<\/td>\n<td>1\u20135<\/td>\n<\/tr>\n<tr>\n<td>ChatGPT (search)<\/td>\n<td>4<\/td>\n<td>2\u20139<\/td>\n<\/tr>\n<tr>\n<td>Google AI Mode<\/td>\n<td>6<\/td>\n<td>3\u201312<\/td>\n<\/tr>\n<tr>\n<td>Copilot<\/td>\n<td>6<\/td>\n<td>3\u201314<\/td>\n<\/tr>\n<tr>\n<td>AI Overviews<\/td>\n<td>9<\/td>\n<td>4\u201318<\/td>\n<\/tr>\n<tr>\n<td>Gemini<\/td>\n<td>10<\/td>\n<td>5\u201321<\/td>\n<\/tr>\n<tr>\n<td>Claude<\/td>\n<td>17<\/td>\n<td>8\u201334<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Median spread between the first and last engine to move within a single synchronous event was <strong>nine days<\/strong>. <strong>This is why most real sweeps show up as six or seven of eight rather than a clean eight of eight<\/strong> \u2014 Claude is frequently still catching up when you run the report.<\/p>\n<p>Two practical consequences. First, a lift appearing on Perplexity alone is not yet a solo event; give it three weeks before classifying. Second, if Claude moves <em>first<\/em>, the cause is almost certainly not a fresh external source, because nothing else in the panel is slower.<\/p>\n<h2>Count index families, not engines<\/h2>\n<p>Eight engines do not give you eight independent votes. Several draw on overlapping indexes, so co-movement between them can be plumbing rather than genuine agreement. Weighting every engine equally inflates apparent consensus.<\/p>\n<p>We measured this by pulling every cited URL each engine returned across the panel, reducing to registrable domains, and computing pairwise Jaccard overlap per prompt cluster. Medians:<\/p>\n<ul>\n<li>Copilot \u2194 ChatGPT: <strong>58%<\/strong> overlap<\/li>\n<li>AI Overviews \u2194 Google AI Mode: <strong>64%<\/strong><\/li>\n<li>Gemini \u2194 AI Overviews: <strong>41%<\/strong><\/li>\n<li>Any cross-family pair: <strong>14%<\/strong><\/li>\n<\/ul>\n<p>Grouped empirically by that overlap, the eight engines collapse into roughly <strong>five index families<\/strong>: Bing-derived (Copilot, ChatGPT search), Google-derived (AI Overviews, AI Mode, Gemini), Perplexity, Claude, and Grok. <strong>A &quot;six of eight&quot; sweep can therefore be as few as two independent families.<\/strong> Recount before you celebrate.<\/p>\n<p>Treat these groupings as observed behaviour, not vendor architecture. Provenance shifts, and the overlap numbers move with it. Google&#39;s own documentation states there are <a href=\"https:\/\/developers.google.com\/search\/docs\/appearance\/ai-features\" target=\"_blank\" rel=\"noopener\">no special optimisations required for AI Overviews or AI Mode<\/a> beyond standard indexing, which is consistent with the Google family moving as a block \u2014 and with <a href=\"https:\/\/maxaeo.ai\/blog\/google-rankings-ai-citations\">what cross-engine data shows about Google rankings predicting AI citations<\/a>.<\/p>\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" style=\"max-width:100%;height:auto\" loading=\"lazy\"  src=\"https:\/\/maxaeo.ai\/blog\/wp-content\/uploads\/2026\/07\/1784554351894-10-51904-2.jpg\" alt=\"Diagram grouping eight AI engines into five index families based on measured citation overlap\"><\/figure>\n<h2>Fragile consensus: when agreement is a liability<\/h2>\n<p>High consensus resting on one source is a single point of failure. To measure it, we use <strong>Consensus Source Concentration (CSC)<\/strong>: the share of all citations backing your brand&#39;s mentions, across all engines, that come from your single most-cited external domain.<\/p>\n<p>The panel numbers are stark. Among brands whose consensus later collapsed \u2014 mention rate falling \u226515pp on five or more engines within 30 days \u2014 median CSC before the collapse was <strong>61%<\/strong>. Among brands whose consensus held for the full 26 weeks, median CSC was <strong>28%<\/strong>.<\/p>\n<p>Durability tracks the same line. Synchronous lifts backed by a single domain decayed to baseline in a median of <strong>41 days<\/strong>. Lifts backed by four or more distinct domains were still holding at week 26 in <strong>71% of cases<\/strong>.<\/p>\n<p><strong>Working threshold: CSC above 50% means your visibility is one editorial decision away from disappearing.<\/strong> One roundup gets rewritten, one reviewer changes their shortlist, and every engine drops you at once \u2014 because every engine was reading the same page.<\/p>\n<p>This reframes what a good week looks like. <strong>A brand at 75% consensus with CSC of 62% is in worse shape than a brand at 50% consensus with CSC of 20%.<\/strong><\/p>\n<h2>Worked example: a 39-point sweep with a 30-day tail<\/h2>\n<p>A B2B scheduling SaaS brand in the panel, tracked from January 2026, on the &quot;best scheduling software&quot; cluster:<\/p>\n<ul>\n<li><strong>Mar 3<\/strong> \u2014 Perplexity moves from 22% to 61% mention rate.<\/li>\n<li><strong>Mar 6<\/strong> \u2014 Grok moves.<\/li>\n<li><strong>Mar 9<\/strong> \u2014 ChatGPT search moves.<\/li>\n<li><strong>Mar 14<\/strong> \u2014 Google AI Mode and Copilot move.<\/li>\n<li><strong>Mar 21<\/strong> \u2014 AI Overviews moves.<\/li>\n<li><strong>Apr 2<\/strong> \u2014 Claude moves. Seven of eight engines, 30-day spread.<\/li>\n<\/ul>\n<p>Back-calculating from Perplexity&#39;s 1-day median lag put source publication around <strong>1\u20132 March<\/strong>. Pulling cited URLs surfaced a 2 March category roundup on an industry publication \u2014 a page nobody on the team knew existed.<\/p>\n<p>CSC immediately after the sweep was <strong>58%<\/strong>, above the fragility threshold. The team spent Q2 earning three additional independent sources rather than writing more of their own content. When the original roundup was rewritten in June and dropped the brand, mention rate fell <strong>9pp<\/strong> instead of collapsing. The diagnosis was worth roughly a quarter&#39;s worth of visibility.<\/p>\n<h2>How to run a consensus diagnostic in five steps<\/h2>\n<p>Work the pattern before the hypothesis. Most wasted effort in answer engine optimization comes from investigating your own site when the cause was never there.<\/p>\n<ol>\n<li><strong>Freeze the prompt set.<\/strong> Any prompt added, removed or reworded in the observation window invalidates the comparison. Diagnose only on prompts stable for the whole period.<\/li>\n<li><strong>Timestamp per engine.<\/strong> For each engine, record the first day of <em>sustained<\/em> change \u2014 not the first blip. Require the new level to hold at least seven days before accepting the date.<\/li>\n<li><strong>Classify the spread.<\/strong> All movement inside 7 days is synchronous. 8\u201335 days is staggered. A single engine with others flat for 14+ days is solo. Anything longer than 35 days is drift, not an event.<\/li>\n<li><strong>Collapse into index families.<\/strong> Recount using the five families rather than eight engines. If your &quot;sweep&quot; is two families, downgrade it to a partial signal and keep watching.<\/li>\n<li><strong>Hunt the artifact.<\/strong> Pull the actual cited URLs from each engine, sort by publication date, and look for a page predating your earliest engine move by roughly that engine&#39;s median lag. For a synchronous event, that page is almost always the cause.<\/li>\n<\/ol>\n<h2>What to do after each diagnosis<\/h2>\n<p>The pattern determines the response. Applying the wrong playbook is how teams spend a quarter fixing something that was never broken.<\/p>\n<ul>\n<li><strong>Synchronous lift \u2192 protect and diversify.<\/strong> Identify the source, calculate CSC, and if it is above 50%, treat earning three more independent sources as the priority. Do not attribute the win to your last content sprint without evidence.<\/li>\n<li><strong>Staggered lift \u2192 wait, then extend.<\/strong> Your own change is working. Resist re-editing the page mid-propagation; you will destroy the measurement. Watch whether the slowest engines complete the sequence.<\/li>\n<li><strong>Solo movement \u2192 check the family, then the source.<\/strong> See whether the rest of that engine&#39;s index family moved. If not, inspect what that engine alone is citing. Single-engine gains rarely generalise, so weigh effort against whether that engine matters to your buyers.<\/li>\n<li><strong>Synchronous drop \u2192 find what changed in the source, fast.<\/strong> Retrieve last month&#39;s cited URLs and compare against today&#39;s live versions. Removal from a shared source is the most common cause and often the most recoverable, because the page still exists and its author can still be reached.<\/li>\n<\/ul>\n<p>For the Bing-derived family specifically, submitting updated URLs via the <a href=\"https:\/\/www.indexnow.org\/\" target=\"_blank\" rel=\"noopener\">IndexNow protocol<\/a> shortens the refresh delay you are otherwise waiting on \u2014 the same lever that governs <a href=\"https:\/\/maxaeo.ai\/blog\/microsoft-copilot-brand-visibility\">visibility inside Microsoft Copilot<\/a>.<\/p>\n<h2>How to build consensus deliberately<\/h2>\n<p>Diagnosis tells you where you stand. Raising consensus is a sequencing problem more than a volume problem.<\/p>\n<p><strong>Prioritise sources by index-family reach, not domain rating.<\/strong> A DR-45 page indexed by both Bing and Google touches four engines. A DR-80 page only one family sees touches two. Check which family already cites a target domain before pitching it.<\/p>\n<p><strong>Four independent domains is the working durability target.<\/strong> That is the point where our panel&#39;s lifts stopped decaying \u2014 71% still holding at week 26, against a 41-day median half-life for single-source lifts.<\/p>\n<p><strong>Sequence for fast feedback.<\/strong> Earn a Perplexity-visible source first if you need to know within a week whether the play works; its 1-day median lag makes it the cheapest test. Slower families confirm later.<\/p>\n<p><strong>Diversify source <em>type<\/em>, not just domain.<\/strong> Editorial roundups, news coverage, structured entity records and community threads fail independently \u2014 a rewritten listicle does not take a news archive with it. <a href=\"https:\/\/maxaeo.ai\/blog\/news-citations-in-ai-search\">Earning coverage from journalists<\/a> is the highest-durability category we tracked, because published articles are rarely edited to remove a brand.<\/p>\n<p><strong>Fix entity records before chasing volume.<\/strong> Nine of the eleven fastest sweeps in the panel involved a Wikipedia or Wikidata edit. If your entity record is wrong or missing, external coverage propagates to fewer engines than it should.<\/p>\n<h2>Where this diagnostic breaks down<\/h2>\n<p>Four honest limits, because a diagnostic you cannot falsify is not a diagnostic.<\/p>\n<p><strong>Small samples fake patterns.<\/strong> Single-prompt mention rates carry a \u00b121pp sampling band at typical run frequencies. Diagnose on prompt clusters, never on one query.<\/p>\n<p><strong>Unexplained changes dominate.<\/strong> We reached a documented cause for about one in three step changes. The rest had no traceable artifact. Anyone claiming near-total attribution in AI search is overstating it.<\/p>\n<p><strong>Personalisation and locale contaminate comparisons.<\/strong> Engines vary answers by region, account history and interface surface. Consensus computed across inconsistent conditions measures your test setup, not the engines.<\/p>\n<p><strong>Engines run their own experiments.<\/strong> Model updates and retrieval A\/B tests produce movement that looks causal and is not. A solo move with no traceable source and no index-family echo is often exactly this.<\/p>\n<p>The diagnostic is a prior, not a verdict. It tells you where to look first, which on a panel this size is worth roughly a week of investigation per event.<\/p>\n<h2>Frequently asked questions<\/h2>\n<p><strong>How do you calculate cross-engine AI visibility consensus?<\/strong><br \/>\nDivide the number of tracked engines that name your brand for a prompt cluster by the number of engines tracked for that cluster, then multiply by 100. Six of eight is 75%. Compute it at cluster level over a fixed window, never on a single prompt.<\/p>\n<p><strong>How many engines need to move before I call it consensus?<\/strong><br \/>\nFive of eight is a reasonable threshold, but only after collapsing into index families. Five engines spanning at least three of the five families is a genuine signal. Five engines from two families is one index refreshing, and should be treated as a partial move.<\/p>\n<p><strong>What is a normal consensus score?<\/strong><br \/>\nDepends entirely on prompt type. Panel medians: 88% on branded prompts, 31% on category prompts, 22% on comparison prompts, 12% on problem-led long tail. Above 50% on a category cluster puts you in the top decile.<\/p>\n<p><strong>Is high cross-engine AI visibility consensus always good?<\/strong><br \/>\nNo. Consensus concentrated on a single source domain is fragile. In our panel, brands whose consensus later collapsed had a median Consensus Source Concentration of 61%, against 28% for brands whose consensus held for 26 weeks. Measure diversity alongside agreement.<\/p>\n<p><strong>Why does Claude usually move last?<\/strong><br \/>\nIts median lag from third-party source publication to sustained mention lift was 17 days in our panel, against 1 day for Perplexity. Most sweeps therefore register as six or seven of eight engines rather than all eight, and a Claude-first move is strong evidence the cause is not a fresh external page.<\/p>\n<p><strong>Can I use this if I only track three engines?<\/strong><br \/>\nPartly. Three engines from three different index families gives a usable synchronous-versus-solo read. Three engines from one family gives almost nothing, because they co-move for infrastructural reasons regardless of what happened to your brand.<\/p>\n<p><strong>What is the minimum tracking frequency for this to work?<\/strong><br \/>\nDaily runs on a stable prompt set, with core prompts sampled multiple times per day and aggregated to cluster level. Weekly sampling cannot resolve a seven-day synchronous window, which is precisely the discrimination the whole method depends on.<\/p>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@graph\": [\n    {\n      \"@type\": \"Article\",\n      \"headline\": \"Cross-Engine AI Visibility Consensus: What Sudden Agreement Means\",\n      \"description\": \"Cross-engine AI visibility consensus is a root-cause tool: simultaneous lifts across engines point to an external source, while solo moves point to a single index or model.\",\n      \"image\": \"image-placeholder\",\n      \"author\": {\n        \"@type\": \"Organization\",\n        \"name\": \"MaxAEO\"\n      },\n      \"publisher\": {\n        \"@type\": \"Organization\",\n        \"name\": \"MaxAEO\",\n        \"logo\": {\n          \"@type\": \"ImageObject\",\n          \"url\": \"image-placeholder\"\n        }\n      },\n      \"datePublished\": \"2026-07-20\",\n      \"dateModified\": \"2026-07-20\",\n      \"articleSection\": \"AI Search Visibility\",\n      \"keywords\": \"cross-engine AI visibility consensus, ai search monitoring, brand mentions in chatgpt, answer engine optimization, ai share of voice, llm brand tracking, ai citations, consensus source concentration\",\n      \"about\": {\n        \"@type\": \"Thing\",\n        \"name\": \"Cross-engine AI visibility consensus\"\n      }\n    },\n    {\n      \"@type\": \"FAQPage\",\n      \"mainEntity\": [\n        {\n          \"@type\": \"Question\",\n          \"name\": \"How do you calculate cross-engine AI visibility consensus?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Divide the number of tracked engines that name your brand for a prompt cluster by the number of engines tracked for that cluster, then multiply by 100. Six of eight is 75%. Compute it at cluster level over a fixed window, never on a single prompt.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"How many engines need to move before I call it consensus?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Five of eight is a reasonable threshold, but only after collapsing into index families. Five engines spanning at least three of the five families is a genuine signal. Five engines from two families is one index refreshing and should be treated as a partial move.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"What is a normal consensus score?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"It depends on prompt type. Panel medians are 88% on branded prompts, 31% on category prompts, 22% on comparison prompts and 12% on problem-led long tail. Above 50% on a category cluster is top-decile performance.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Is high cross-engine AI visibility consensus always good?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"No. Consensus concentrated on a single source domain is fragile. Brands whose consensus later collapsed had a median Consensus Source Concentration of 61%, against 28% for brands whose consensus held for 26 weeks.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Why does Claude usually move last?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Its median lag from third-party source publication to sustained mention lift was 17 days, against 1 day for Perplexity. Most sweeps therefore register as six or seven of eight engines, and a Claude-first move is strong evidence the cause is not a fresh external page.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Can I use this if I only track three engines?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Partly. Three engines from three different index families gives a usable synchronous-versus-solo read. Three engines from one family gives almost nothing, because they co-move for infrastructural reasons regardless of what happened to your brand.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"What is the minimum tracking frequency for this to work?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Daily runs on a stable prompt set, with core prompts sampled multiple times per day and aggregated to cluster level. Weekly sampling cannot resolve a seven-day synchronous window, which is the discrimination the method depends on.\"\n          }\n        }\n      ]\n    }\n  ]\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Cross-engine AI visibility consensus turns engine agreement into root-cause evidence. What 1,204 tracked step changes across 8 AI engines reveal about causes.<\/p>\n","protected":false},"author":1,"featured_media":1510,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1512","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/maxaeo.ai\/blog\/wp-json\/wp\/v2\/posts\/1512","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/maxaeo.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/maxaeo.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/maxaeo.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/maxaeo.ai\/blog\/wp-json\/wp\/v2\/comments?post=1512"}],"version-history":[{"count":0,"href":"https:\/\/maxaeo.ai\/blog\/wp-json\/wp\/v2\/posts\/1512\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/maxaeo.ai\/blog\/wp-json\/wp\/v2\/media\/1510"}],"wp:attachment":[{"href":"https:\/\/maxaeo.ai\/blog\/wp-json\/wp\/v2\/media?parent=1512"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/maxaeo.ai\/blog\/wp-json\/wp\/v2\/categories?post=1512"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/maxaeo.ai\/blog\/wp-json\/wp\/v2\/tags?post=1512"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}