Isolating AI Assistant Referrals
Assistant referrals arrive with inconsistent referrer values, some carry no referrer at all, and default channel groupings drop them into direct, referral or other. A saved segment matching two or three known hostnames goes stale quietly, and it counts none of the visits where somebody read an answer and then typed your brand into a browser. Measure what can be attributed, size what cannot, and label the difference rather than reporting one number as though it were complete.
CATEGORY
Analytics & reporting
FORMAT
ai-referral-session-isolation.md
WHEN TO REACH FOR THIS
Use when someone asks how much traffic comes from AI assistants and the channel grouping has scattered it across direct and referral.
The skill file
ai-referral-session-isolation.md
---
name: ai-referral-session-isolation
description: Use when someone asks how much traffic comes from AI assistants and the channel grouping has scattered it across direct and referral.
---
# Isolating AI Assistant Referrals
Assistant referrals arrive with inconsistent referrer values, some carry no referrer at all, and default channel groupings drop them into direct, referral or other. A saved segment matching two or three known hostnames goes stale quietly, and it counts none of the visits where somebody read an answer and then typed your brand into a browser. Measure what can be attributed, size what cannot, and label the difference rather than reporting one number as though it were complete.
## What you need first
- referrer-level session data, not the channel grouping report
- server access logs for the same period, which retain referrers analytics loses
- a maintained list of assistant referrer hostnames and their URL parameters
- branded search and direct traffic baselines from before the period in question
## Method
1. Pull raw referrer values rather than the channel report, because assistants land in whatever bucket the default grouping guessed. Read the long tail by hand once so you learn what these referrers actually look like on your site.
2. Build a match rule from hostnames and, where present, query parameters, and keep it in the same versioned file as your other segment definitions so it is reviewed rather than forgotten.
3. Create a new channel or segment instead of editing an existing one, so historic reports do not change retroactively and last quarter still reconciles.
4. Cross-check one week against server logs. Analytics loses referrers through redirect chains and privacy settings, and the log is what tells you how large that loss is.
5. Separate assistant referrals from assistant crawlers in the log analysis. They often share infrastructure, and mixing them turns a bot fetch into a reported visit.
6. Size the invisible portion rather than ignoring it: track branded search and direct traffic to the pages assistants cite, and report any movement there as indicative and clearly labelled as such.
7. Report volume next to behaviour, and say plainly when the base is too small. At most sites these session counts are still low enough that a conversion rate on them is not yet a reliable number.
## What this produces
An AI referral segment with a versioned match rule, a log-based coverage estimate, and a short statement of what the segment cannot attribute.
## Where this goes wrong
- Reporting a percentage change on a base of a few dozen sessions, which reverses next month and costs credibility for the rest of the report
- Letting the referrer list go stale, so a flat line reads as a plateau when it is really a rule that stopped matching
- Counting crawler fetches as referral sessions, which on some sites inflates the figure by an order of magnitude
- Attributing every rise in direct traffic to AI, when direct also absorbs app clicks, untagged email and dark social
---
From the QuQi skill library - https://www.quqi.io/skills/ai-referral-session-isolation
Free to download · no account, no email
What you need first
-
referrer-level session data, not the channel grouping report
-
server access logs for the same period, which retain referrers analytics loses
-
a maintained list of assistant referrer hostnames and their URL parameters
-
branded search and direct traffic baselines from before the period in question
Method
-
01
Pull raw referrer values rather than the channel report, because assistants land in whatever bucket the default grouping guessed. Read the long tail by hand once so you learn what these referrers actually look like on your site.
-
02
Build a match rule from hostnames and, where present, query parameters, and keep it in the same versioned file as your other segment definitions so it is reviewed rather than forgotten.
-
03
Create a new channel or segment instead of editing an existing one, so historic reports do not change retroactively and last quarter still reconciles.
-
04
Cross-check one week against server logs. Analytics loses referrers through redirect chains and privacy settings, and the log is what tells you how large that loss is.
-
05
Separate assistant referrals from assistant crawlers in the log analysis. They often share infrastructure, and mixing them turns a bot fetch into a reported visit.
-
06
Size the invisible portion rather than ignoring it: track branded search and direct traffic to the pages assistants cite, and report any movement there as indicative and clearly labelled as such.
-
07
Report volume next to behaviour, and say plainly when the base is too small. At most sites these session counts are still low enough that a conversion rate on them is not yet a reliable number.
What this produces
An AI referral segment with a versioned match rule, a log-based coverage estimate, and a short statement of what the segment cannot attribute.
Where this goes wrong
-
Reporting a percentage change on a base of a few dozen sessions, which reverses next month and costs credibility for the rest of the report
-
Letting the referrer list go stale, so a flat line reads as a plateau when it is really a rule that stopped matching
-
Counting crawler fetches as referral sessions, which on some sites inflates the figure by an order of magnitude
-
Attributing every rise in direct traffic to AI, when direct also absorbs app clicks, untagged email and dark social
Use this skill in your own AI
The download is a plain markdown file with the name and trigger in its frontmatter. Where an assistant supports skills it can load itself, that frontmatter is what it reads to decide this one applies.
Claude Code
Save it as ~/.claude/skills/ai-referral-session-isolation/SKILL.md and Claude loads it on its own when what you are doing matches the trigger line. Put it in .claude/skills inside a project instead if the whole team should have it.
Claude
Upload the file in the skills section of your settings. Once it is there it applies itself in any conversation where the trigger fits, so you do not have to remember it exists.
ChatGPT
There is no skills format to install into, so paste the file contents into a Project instruction or a Custom GPT instead. It then applies to every chat in that project rather than only the one you paste it into.
Anything else
Paste the markdown into the chat before your question. It works in any assistant, it just has to be pasted again each time.
Questions about this skill
When is this the right method rather than reading the channel grouping report?
When someone asks how much traffic comes from AI assistants. The default grouping scatters those sessions across direct, referral and other, because the referrer values are inconsistent and some visits carry no referrer at all. A saved segment on two or three known hostnames is the other tempting shortcut, and it goes stale without ever telling you it has.
What do I need in hand before starting, and what happens if I start without it?
Referrer-level session data rather than the channel report, server access logs for the same period, a maintained list of assistant hostnames and their URL parameters, and branded search and direct baselines from before the period. Analytics loses referrers through redirect chains and privacy settings, so without the logs you have no idea how much of this traffic your segment never sees.
What do I end up with, and which part of it actually gets used?
A segment with a versioned match rule, a log-based coverage estimate, and a written note on what it cannot attribute. Build it as a new channel rather than editing an existing one, so last quarter still reconciles. At most sites these session counts are still low enough that a conversion rate on them is not reliable, and saying so is part of the output.
What is the mistake that most often ruins this, and what does it cost?
Counting crawler fetches as referral sessions. Assistant referrals and assistant crawlers often share infrastructure, so a bot fetch becomes a reported visit and on some sites inflates the figure by an order of magnitude. The other reliable way to lose the room is a percentage change on a base of a few dozen sessions, which reverses next month.
More in Analytics & reporting