Helped from the prompt research etc, voice is quicker than typing, so when we make prompts now its very similar to the training phrases we used to create. I would say voice experience was with Alexa / Google when it was all "intent based matching AI" which is very "old school" no in comparion to generative AI tech.
Useless for optimising for GEO See catstxt.org, only officially supported for Agentic Browsing - developer.chrome.com/docs/lighthouse/agentic-browsing/llms-txt. Some might deem agentic browsing as part of GEO.
Google / Bing have better ways of detecting poor quality AI spun up content than using the detection, the amount of processing would be huge. Zane Coffin my understanding is Anthropic will share the detection approach - support.claude.com/en/articles/16266773-how-claude-marks-ai-generated-content#β¦ E.g. they could share with newspapers, university, education establishments, social platforms, job applications websites... it then upto them what they do, reject the content, allow it but say there will be a "made by AI" notice etc.
Just to add to above, here is a skill I've been running inside of Profound to get some similar data to that screenshot above, - it struggles with longer period analysis but ok for snapshots
Fan-Out Site: Audit
Purpose
Measures how often ChatGPT's fan-out (web-search sub-query) decomposition explicitly targets a website using the site: operator, and how often that targeting lands on the tracked project's own domain versus other domains/brands. This surfaces whether ChatGPT is treating a site as a directly-searchable, authoritative source β and which brands it's doing that for most.
Who is this for?
GEO/AI-search team members auditing a tracked project's visibility inside ChatGPT's fan-out search behaviour.
Default parameters
Data period: trailing 3 months (90 days) ending today, unless the user specifies otherwise.
Platform: ChatGPT only.
Chart view: daily, unless the user asks for weekly or monthly instead (see Inputs).
Domain: the project's own tracked domain, resolved automatically from the project profile (e.g. example.com for that project). Not asked per run.
Inputs
Ask for (one or two questions at a time, don't dump them all at once):
Project/client β which project to run this against. Confirm the match if the name is ambiguous.
Date range β confirm the default 3-month window, or take an explicit override if given.
Chart view β ask whether the user wants the charts shown daily, weekly, or monthly. Default to daily if they don't have a preference.
Platform and domain are fixed by the defaults above β don't ask about these unless the user wants to change them for a specific run.
Instructions
Step 1 β Resolve the project and its own domain
Find/confirm the project.
Pull the project profile to confirm its own tracked root domain β this is the domain used for the "your domain" chart (Step 7). If the profile doesn't expose a clean root domain, confirm it with the user once and use that for the rest of the run.
Step 2 β Pull all ChatGPT fan-out queries for the period
Pull fan-out/search queries for the project across the confirmed date window, filtered to ChatGPT's model channels/model IDs only (see Default parameters).
Request at minimum: date, query text (plus chat/prompt IDs if useful for dedupe).
Paginate through the full result set β do not truncate. A truncated pull will under-report site: counts, which are often small in absolute terms and easy to lose if you stop early.
Step 3 β Flag site: queries
For every query, flag it as a "site query" if its text contains the substring site: (case-insensitive), allowing for a following space (site: example.com) as well as no space (site:example.com).
For each flagged query, extract the domain that follows site: (strip whitespace, protocol, and trailing punctuation) to identify which domain was targeted.
Separately flag whether the extracted domain matches the project's own domain from Step 1, allowing for www./no-www and subdomain variants β but do NOT fuzzy-match genuinely different domains (e.g. example.co.uk and example.com must stay distinct).
Step 4 β Check: does reddit.com (and specific subreddits) appear?
From the flagged site: queries, check separately whether reddit.com appears as the targeted domain at all.
Within those, check whether the query goes further and targets a specific subreddit path (e.g. site:reddit.com/r/london) rather than the bare domain.
Report as a short callout: total site:reddit.com count, and a breakdown of which subreddits (if any) were specifically targeted, with counts.
Step 5 β Check: do any site: commands target a folder/path?
From the flagged site: queries, check whether the domain is followed by a folder or path (e.g. site:example.com/folder) rather than just the bare domain.
Report as a short callout: count and % of site: queries that included a folder/path, plus the most common folders seen (if any pattern emerges).
Step 6 β Chart 1: % of fan-out queries containing site:, over time
Group all queries (flagged and unflagged) by the confirmed chart view (daily/weekly/monthly β see Inputs).
For each period: (count of site: queries) Γ· (total fan-out queries) Γ 100.
Render as a single-series line chart β x-axis = date, y-axis = % of queries.
Step 7 β Chart 2: own-domain site: queries, over time
From the site: queries only, filter to those matching the project's own domain.
Group by the same period granularity as Step 6.
Render as a line chart (use a bar chart instead if counts are mostly zero/very sparse β it reads more honestly than a flat line at zero).
If the count is consistently very low or zero, say so plainly in the summary β that's a real and common finding, not a data gap.
Step 8 β Top 10 brands table
From all site: queries in the window, group by extracted domain and map each domain to a tracked brand/competitor where possible; label any unmapped domain by its raw domain string.
Count occurrences per brand/domain, rank descending, take the top 10.
Render as a table: Brand/Domain | Number of site: mentions | % of all site: queries in the window.
Step 9 β Chart 3: top 10 brands, over time
For the same top 10 brands/domains identified in Step 8, compute their site: query counts per period (same granularity as Steps 6β7).
Render as a multi-series line chart, one line per brand (10 series max).
Step 10 β Write a short summary
Cover, in plain English:
The overall % of fan-out queries using site: over the period, and whether that's trending up, down, or flat.
How the project's own domain compares β a meaningful share of site: queries, negligible, or effectively absent.
Which brand leads the top 10, and how the tracked brand's own line looks against it (including if the tracked brand doesn't make the top 10 at all).
The reddit.com/subreddit finding from Step 4, and the folder/path finding from Step 5.
Outputs
Callout β reddit.com / subreddit-level site: targeting
Callout β folder/path-level site: targeting
Line chart β % of fan-out queries containing site: over time (ChatGPT only)
Chart β own-domain site: query volume over time
Table β top 10 brands/domains by site: mentions in the period
Line chart β top 10 brands/domains' site: query volume over time
Short written summary
Data Source
Fan-out / web-search sub-query data and brand/domain mapping from the project's tracked search-query and brand data (project profile, search query log, tracked brand list).
Notes
ChatGPT-only by design β this audits ChatGPT's specific fan-out behaviour, not a cross-engine comparison. If a future version needs Gemini/Perplexity, add an explicit platform parameter, but keep the default ChatGPT-only until asked otherwise.
site: matching is a substring match on the raw query text β a fan-out query can combine site: with other terms and should still be flagged; it doesn't need to be the entire query.
The top 10 count is fixed for both the table (Step 8) and the line chart (Step 9) β don't let these drift apart.
Same process applies across all clients β no client-specific variants for now.Hi Jack! Yeah I've heard your name mentioned in stories in the past, all in good context! Yeah Ollie is well, he's at the cricket today dodging the rain!
Quick showcase / question anyone use the API for plotting the change in fanout queries on GPT as its added more brand names and site commands?
This looks for specific brand name
Pulling the fanout each day only on ChatGPT
Then a second chart looks at fanout with site: and then shows the domains
For this pre the increase the fanout that had brands were prompts with brand e.g. "is x company any good" it add the company into the fanout.
Seen a similar trend? Further ideas,
Auto pull brand names from named brands on the platform
Pulling sub folders
Checking domains that don't exist
Checking domains that are not indexed on google / bing
Hi All, John here I work at ROAST a performance marketing agency based in London, Capetown and the US. I head up AI and Innovation and specifically using Profound for a client in "Real Estate" here in the UK. 20 years at agencies working mainly on SEO, voice tech and most recently internal use of AI Currently working on a few tools that look at
The change in fanout queries - will share in the showcase
Projection for citation scores
Trying to get the clients log file data into Profound
I'm due to be at the event in London later this year with a few colleagues. John

