「ChatGPTで自社サービスが紹介されているらしい」「Perplexityの回答に自社サイトが引用されている」——AEO(Answer Engine Optimization)に取り組み始めた企業が必ず次にぶつかる壁が、「で、それが売上にどう効いているのか、数字で示せない」という問題です。
経営会議で「AEO施策の成果は?」と問われ、GA4を開いても、AI経由のコンバージョン(CV)はきれいに「Direct(ノーリファラー)」や「Referral」に紛れて見えません。やったことは確かなのに、効果が経営に報告できる数字にならない——これがAEOの最大の弱点です。
本記事では、AIエージェント・AI検索経由の流入とCVを「最終流入チャネル」では捕捉できない構造的な理由を整理したうえで、2026年5月にGA4へ追加されたネイティブ「AI Assistant」チャネルの実力と限界、そしてServer-Side Tracking・Custom Channel・UTM設計・User-Agent識別を組み合わせて「AIに引用された成果」をPV・CV・売上影響の3層で経営報告できる数値に変える実装手順を、ネットワーク運用(NOC/TAC)出身の視点から解説します。
- なぜAI経由のCVは捕捉できないのか——リファラーが「消える・隠れる・direct化する」4つの理由
- 【2026年5月の重要アップデート】GA4ネイティブ「AI Assistant」チャネルの登場と、その限界
- AIエージェント/AI検索の典型User-Agent・リファラーパターン
- GA4 Custom Channel Groupingの設計——AI Search・AI Agent・AI Crawlerを分離する
- UTMタグの戦略的付与——「AIに渡すURL」に事前に印をつける
- Server-Side Tracking(GTM サーバーサイド)でのAIリファラー識別
- BigQuery/Looker StudioでのAIチャネル別レポート
- アトリビューションモデル——AI引用は「アシスト」か「ラストタッチ」か
- 経営報告テンプレート(PV・CV・売上影響の3層)
- よくある質問(Q&A)
- まとめ——AEOの弱点は「効果測定の実装」で埋まる
- 参考リンク
なぜAI経由のCVは捕捉できないのか——リファラーが「消える・隠れる・direct化する」4つの理由
従来のWeb解析は「どこから来たか(リファラー)」を起点に設計されています。ところがAI経由の流入は、この前提が崩れます。理由は大きく4つです。
理由1:リファラーが送出されない(ノーリファラー=Direct化)
無料版ChatGPTやアプリ内ブラウザ、一部のAIエージェントは、外部リンクを開く際にリファラーヘッダーを送出しないことがあります。リファラーが空のセッションは、GA4では問答無用で「Direct(ノーリファラー)」に分類されます。AI経由なのに「直接流入」として記録されるため、施策との因果が完全に切れます。
理由2:リファラーが「他のドメイン」に化ける
AI検索の回答からのクリックでも、引用リンクが中継ドメインやアプリのWebViewを経由すると、本来のAIサービスとは別のドメインがリファラーに乗ることがあります。結果として「Referral」バケットの中で、フォーラムリンクや切れた被リンクと混ざって埋もれます。
理由3:Google AI Overviewは「Organic Search」と区別できない
Google AI Overview(AIによる概要)内の引用をクリックした場合、リファラーは通常のオーガニック検索とまったく同じ google.com/search になります。過去にはAIモード判別用の udm=14 というパラメータが観測されましたが、Googleはこの挙動を何度も変更しており、これに依存した識別は脆弱です。実務上、AI Overview経由はオーガニック検索の一部として混在し、単独では分離できないのが2026年時点の現実です。
理由4:AIエージェント/クローラーはJavaScriptを実行しない
GA4のタグ(gtag.js)はブラウザ上のJavaScriptで動きます。一方、GPTBotやClaudeBotのようなAIクローラー、自律的にサイトを巡回するAIエージェントの多くはJavaScriptを実行しないため、そもそもGA4に1ヒットも記録されません。「AIにどれだけ読まれ・引用素材として収集されたか」は、クライアントサイド計測の死角になります。ここはサーバーログ/サーバーサイド計測でしか捕捉できません。
この4つを踏まえると、AEOの計測は「人間のAI経由クリック(GA4で捕捉可能)」と「AIボットのアクセス(サーバーサイドでしか捕捉不可)」を分けて設計する必要がある、という結論になります。
【2026年5月の重要アップデート】GA4ネイティブ「AI Assistant」チャネルの登場と、その限界
計測環境は2026年に大きく動きました。2026年5月13日、GoogleはGA4の標準チャネルグループに「AI Assistant」を追加しました。ChatGPT・Gemini・Claudeなどの認識済みAIアシスタントをリファラーとするセッションを自動的に検出し、メディア値 ai-assistant を割り当て、標準レポート上で独立した「AI Assistant」チャネルとして集計します。これまで正規表現でCustom Channelを自作していた作業が、設定不要で一部自動化されたわけです。
これは前進ですが、万能ではありません。経営報告の精度を上げるには、ネイティブチャネルが「カバーしない範囲」を正しく理解する必要があります。
| ネイティブ「AI Assistant」チャネルがカバーする | カバーしない(自前の実装が必要) |
|---|---|
| リファラーを送出するChatGPT/Gemini/Claudeからの人間のクリック | リファラーを送出しないセッション(Direct化したAI流入) |
| Googleが認識済みのアシスタントドメイン | 新興AIサービス・未認識ドメイン(認識まで時間差がある) |
| セッション単位の流入チャネル分類 | Google AI Overview経由(Organic Searchに混在したまま) |
| — | AIクローラー/エージェントのボットアクセス(JS非実行で計測対象外) |
| — | 引用元ページ → CV までのアトリビューション経路の再構築 |
つまりネイティブチャネルは「人間のAIクリックの一部を、自動で見えやすくしてくれる」だけです。Direct化した流入の救済、ボットアクセスの可視化、CV経路の再構築という、経営報告でいちばん効く部分は、依然として自前の実装が必要です。本記事の以降のセクションは、まさにこの「ネイティブが埋めてくれない穴」を埋めるための実装です。
AIエージェント/AI検索の典型User-Agent・リファラーパターン
実装の前提として、何を識別対象にするのかを「人間の流入(リファラーで識別)」と「ボットのアクセス(User-Agentで識別)」に分けて押さえます。
人間のAIクリック(GA4・リファラーで識別する対象)
| AIサービス | 典型リファラードメイン | 備考 |
|---|---|---|
| ChatGPT | chatgpt.com / openai.com | iOS/Androidアプリも同一リファラー。無料版はDirect化することがある |
| Perplexity | perplexity.ai | リファラーを比較的安定して送出 |
| Gemini | gemini.google.com | — |
| Microsoft Copilot | copilot.microsoft.com | — |
| Claude | claude.ai | リファラー送出が不安定。2026年時点で計測の「既知の穴」とされる |
| Google AI Overview | google.com/search | オーガニックと区別不可。単独分離は不可 |
AIボット(サーバーログ・サーバーサイドでUser-Agentで識別する対象)
AIボットは目的別に3カテゴリに分かれます。AEOの観点では「検索/取得クローラー」と「ユーザー起動フェッチ」が引用に直結するため重要です。
| カテゴリ | 代表的なUser-Agent | 意味 |
|---|---|---|
| AI検索・取得クローラー | OAI-SearchBot / PerplexityBot / Claude-SearchBot / Amazonbot | リアルタイム回答用のインデックス構築。引用候補の収集 |
| ユーザー起動フェッチ | ChatGPT-User / Perplexity-User / Claude-User | ユーザーの質問に応じてその場でページ取得。引用直前の動き |
| モデル学習クローラー | GPTBot / ClaudeBot / Google-Extended / CCBot / Bytespider | 長期的な学習データ収集。即時の引用には直結しにくい |
サーバーログ解析でAIボット全体を拾う正規表現の起点としては、以下が実用的です(運用しながら更新する前提で)。
GPTBot|OAI-SearchBot|ChatGPT-User|ClaudeBot|Claude-User|Claude-SearchBot|PerplexityBot|Perplexity-User|Google-Extended|Applebot-Extended|Amazonbot|CCBot|meta-externalagent|Bytespider|MistralAI-User|DuckAssistBot
GA4 Custom Channel Groupingの設計——AI Search・AI Agent・AI Crawlerを分離する
ネイティブ「AI Assistant」チャネルがある今でも、Custom Channel Groupを自作する価値はあります。理由は、(1) 未認識ドメインや新興サービスを自分の基準で拾える、(2) チャネルの粒度を自社の経営報告に合わせられる、(3) ネイティブチャネルのバックアップとして二重化できる、の3点です。Custom Channel Groupは過去データにも遡及適用され、プロパティ全体で共有されるため、チーム全員の標準レポートにAIチャネルが出るようになります。
設定手順(GA4管理画面)
- GA4の「管理」→「データの表示」→「チャネルグループ」を開く
- 「新しいチャネルグループを作成」をクリックし、「AI-aware チャネル」などと命名
- 「新しいチャネルを追加」で、以下のチャネルを「Referral」より上の順位に作成(GA4は最初に一致したチャネルに割り当てるため、順序が重要)
- 各チャネルの条件で「ディメンション:Source」→「正規表現に一致」を選び、下記の正規表現を入力
- 並べ替えハンドルでAIチャネルを「Referral」「Organic Search」の上に移動して保存
チャネル①「AI Search/Assistant」(Source の正規表現)
^(chatgpt\.com|openai\.com|perplexity\.ai|gemini\.google\.com|copilot\.microsoft\.com|claude\.ai|copilot\.com|mistral\.ai|deepseek\.com)$
これは「人間がAIサービスの回答からクリックして来た」流入を拾います。ネイティブの ai-assistant メディアと併用し、未認識ドメインを自分の正規表現で補完します。
チャネル②「AI Agent」(イベントパラメータ/カスタムディメンションで識別)
自律エージェント経由は通常のリファラーに乗らないことが多く、GA4のクライアントサイドだけでは安定識別が困難です。後述のServer-Side Tracking でUser-Agentから判定し、traffic_type = ai_agent のようなカスタムディメンションを付与して分離するのが現実的です。
チャネル③「AI Crawler」
クローラーはJSを実行しないためGA4には載りません。このチャネルはGA4ではなくサーバーログ/BigQueryログ側で集計するものとして設計します(後述)。GA4のチャネルグループにダミーで作らないことが、データの整合性を保つコツです。
ネットワーク運用視点の補足: これはL7(アプリ層)のトラフィック分類と同じ発想です。リファラーは「送信元IP」、User-Agentは「プロトコル種別」に相当します。送信元が秘匿される(ノーリファラー)トラフィックを、別のシグナル(UA・到達パターン)で再分類する——NOCでフローを正規化する作業とまったく同じ構造です。
UTMタグの戦略的付与——「AIに渡すURL」に事前に印をつける
リファラーが消える問題への最も確実な対策は、AIに引用させたいURL自体に、あらかじめUTMパラメータを埋め込んでおくことです。リファラーが落ちても、URLに付いたUTMはGA4で確実にキャンペーンとして記録されます。これがAEO計測の「保険」になります。
付与すべき3つの場所
- llms.txt 内のURL: AIエージェントに自社サイトを宣言する llms.txt に記載するURLへ、AI流入用のUTMを付与
- 構造化データ(JSON-LD)の url / sameAs: AIが引用元として参照しやすいフィールドのURLにUTMを付与
- 引用素材として外部に渡すURL: プレスリリース、データ集、FAQなど「引用されることを狙う」ページのcanonical外の共有URL
UTM設計の例
https://example.com/pricing/?utm_source=chatgpt&utm_medium=ai_referral&utm_campaign=aeo_2026&utm_content=pricing_citation
utm_source:AIサービス名(chatgpt / perplexity / gemini など)。サービス別の貢献を見るための軸utm_medium:ai_referralで統一。後述のチャネル分離・アトリビューションの集計キーになるutm_campaign:AEO施策の単位(記事群・四半期など)utm_content:どのページが引用源になったかを示す
注意: サイト内のcanonical URLにUTMを恒久付与すると、オーガニック流入の計測やインデックスに悪影響が出ます。UTMはあくまで「外部に引用素材として渡すURL」に限定し、canonicalは常にパラメータなしを指すよう設計してください。
Server-Side Tracking(GTM サーバーサイド)でのAIリファラー識別
クライアントサイド(ブラウザ)計測の死角——ノーリファラー化やUA判定——を埋めるのが、GTMサーバーサイドコンテナ(GTM SS)です。リクエストがサーバーを通る時点で、リファラーとUser-Agentの両方を見て、AI流入かどうかを判定し、独自のパラメータを付けてからGA4へ送ることができます。
実装の考え方
- GTMサーバーサイドコンテナを立てる(Cloud Run / App Engine 等)
- 受信リクエストから
page_referrerとuser_agentを取得 - リファラーがAIサービスドメインに一致 →
traffic_type = ai_search - User-AgentがAIボット正規表現に一致 →
traffic_type = ai_agentまたはai_crawler(このヒットはGA4には送らず、ログ専用イベントとしてBigQueryへ) - 判定結果をカスタムディメンションとしてGA4イベントに付与して転送
サーバーサイドのCustom JavaScript変数での判定ロジック例(擬似コード):
// GTM SS: AI流入判定(擬似コード)
const ref = (eventData.page_referrer || '').toLowerCase();
const ua = (eventData.user_agent || '');
const aiSearchDomains = /(chatgpt\.com|openai\.com|perplexity\.ai|gemini\.google\.com|copilot\.microsoft\.com|claude\.ai)/;
const aiBotUA = /(GPTBot|OAI-SearchBot|ChatGPT-User|ClaudeBot|Claude-User|Claude-SearchBot|PerplexityBot|Perplexity-User|Google-Extended|CCBot|Bytespider|Amazonbot)/;
let trafficType = 'normal';
if (aiBotUA.test(ua)) trafficType = 'ai_bot'; // ボット → ログ専用
else if (aiSearchDomains.test(ref)) trafficType = 'ai_search'; // 人間のAIクリック
return trafficType;
これにより、(1) ネイティブチャネルが取りこぼした未認識ドメインのAI流入を救済し、(2) ボットアクセスを人間のセッションと混ぜずにログだけ別管理でき、(3) ノーリファラーでもUTM(前項)が付いていれば確実に拾える、という三重の網が完成します。
BigQuery/Looker StudioでのAIチャネル別レポート
GA4の標準レポートはチャネルの定義変更や3カテゴリ(Search/Agent/Crawler)の同時可視化に弱いため、経営報告用のダッシュボードはGA4 → BigQueryエクスポート → Looker Studioで組むのが拡張性・再現性の面で有利です。
BigQueryでのAIチャネル分類クエリ(イメージ)
-- GA4 export からAI流入をチャネル分類して集計(例)
SELECT
CASE
WHEN REGEXP_CONTAINS(traffic_source.medium, r'ai-assistant|ai_referral') THEN 'AI Search'
WHEN REGEXP_CONTAINS(collected_traffic_source.manual_source,
r'chatgpt|openai|perplexity|gemini|copilot|claude') THEN 'AI Search'
ELSE traffic_source.medium
END AS ai_channel,
COUNT(DISTINCT user_pseudo_id) AS users,
COUNTIF(event_name = 'purchase') AS conversions,
SUM(IF(event_name='purchase',
ecommerce.purchase_revenue, 0)) AS revenue
FROM `your_project.analytics_XXXXXX.events_*`
WHERE _TABLE_SUFFIX BETWEEN '20260501' AND '20260531'
GROUP BY ai_channel
ORDER BY revenue DESC;
※ フィールド名はGA4エクスポートのスキーマやバージョンによって異なります。自社のテーブル構造に合わせて調整してください。ボット(ai_bot)のログはサーバーサイドから別テーブルへ送り、人間のセッションと混ぜないのがポイントです。
Looker Studio側では、「AIチャネル別のCV数・売上」「引用元ページ別のCV貢献」「AIサービス別(ChatGPT/Perplexity/Gemini)の比較」の3ビューを作っておくと、経営報告にそのまま使えます。
アトリビューションモデル——AI引用は「アシスト」か「ラストタッチ」か
AEO計測で最も解釈が割れるのがここです。AIに引用されてサイトを知った後、後日オーガニック検索や指名検索でCVした場合、その成果はAIの貢献なのか、検索の貢献なのか。
| モデル | AI引用の扱い | 向いている場面 |
|---|---|---|
| ラストタッチ | 最後にAI経由でCVした分だけAIの成果 | AI経由の直接CVを保守的に報告したいとき |
| ファーストタッチ | 最初の接点がAIなら全CVをAIの成果に | AIの「認知・発見」貢献を強調したいとき |
| アシスト(データドリブン) | CV経路の途中にAI接点があれば部分的に配分 | 実態に最も近い。経営報告の標準推奨 |
実務上の推奨は、「ラストタッチでの直接CV(控えめな数字)」と「アシストを含むデータドリブンでの貢献CV(実態に近い数字)」を併記することです。片方だけだと「過小評価」か「過大評価」と突っ込まれます。両方を出すことで、報告の信頼性が一気に上がります。GA4のアトリビューションは経路にAI接点を含むセッションを軸に、BigQueryでパス分析を組むのが堅実です。
経営報告テンプレート(PV・CV・売上影響の3層)
最後に、ここまでの計測を「経営が判断できる1枚」に落とすテンプレートです。3層で構造化すると、AEO施策の費用対効果が一目で伝わります。
| 層 | 指標 | データソース | 報告での役割 |
|---|---|---|---|
| ① 露出・引用層 | AIボットのクロール数、引用確認数、引用元ページ数 | サーバーログ/BigQuery(ai_bot)、引用モニタリング | 「AIに読まれ・引用されている」事実の証拠 |
| ② 流入層 | AIチャネル別セッション、新規ユーザー、エンゲージメント | GA4(AI Assistant+Custom Channel) | 引用が実際のトラフィックに変換されている度合い |
| ③ 成果層 | AI経由CV数、売上影響(ラストタッチ/アシスト併記)、CPA | BigQuery+アトリビューション | 経営が投資判断に使う最終数字 |
この3層を「前月比」「AEO施策実施前との比較」で並べると、「AEOをやったが効果が見えない」という状態から、「AEOがどの層まで効いていて、どこが伸びしろか」が説明できる状態に変わります。
よくある質問(Q&A)
Q1. GA4にネイティブ「AI Assistant」チャネルが付いたなら、もう自前の設定は不要では?
いいえ。ネイティブチャネルはリファラーを送出する主要アシスタントの「人間クリックの一部」を自動分類するだけです。ノーリファラー化したDirect流入、未認識の新興AIサービス、Google AI Overview経由、ボットアクセス、そしてCV経路の再構築はカバーされません。経営報告レベルの精度には、本記事のUTM・サーバーサイド・BigQueryの実装が引き続き必要です。
Q2. Claude経由の流入が計測できないのはなぜ?
2026年時点で、Claudeはリファラーの送出が安定せず、計測の「既知の穴」とされています。対策は、Claudeに渡る可能性のある引用素材URLにUTMを事前付与しておくこと、そしてリファラーを送出するChatGPT・Perplexity・Geminiのトレンドからプロポーショナルに推計することです。
Q3. Google AI Overview経由のCVだけを抜き出せますか?
単独での分離は2026年時点では困難です。AI Overview経由のクリックはオーガニック検索とまったく同じリファラーになるためです。現実的には「オーガニック検索全体のトレンド」を追い、Google Search Consoleで「掲載順位は変わらないのに表示回数・CTRが変動する」動きをAI Overviewの影響の代理指標として観測します。
Q4. 小規模サイトでもサーバーサイドGTMは必要ですか?
必須ではありません。まずは「GA4ネイティブAI Assistantチャネル+Custom Channel+引用素材URLへのUTM付与」だけでも、人間のAI流入の大半は捕捉できます。サーバーサイドGTMは、ボットアクセスの可視化やノーリファラー救済まで踏み込みたい中〜大規模サイト、あるいはAEOを主要チャネルとして投資判断したい段階で導入を検討すると費用対効果が合います。
Q5. AIボットのクロール数を「成果」として報告していいのですか?
クロール数は「引用の前提条件」であって成果そのものではありません。報告では①露出・引用層として明確に位置づけ、②流入・③成果層と切り分けて見せてください。クロール数だけを成果として誇張すると、CV・売上との乖離を指摘されたときに報告全体の信頼を失います。
まとめ——AEOの弱点は「効果測定の実装」で埋まる
AEOが「やったが効果が見えない」状態に陥るのは、施策が悪いからではなく、AI経由の成果を捕捉する計測が、従来のリファラー前提のままだからです。本記事の要点は3つです。
1. 「人間のAIクリック」と「AIボットのアクセス」を分けて設計する。 前者はリファラー(GA4)、後者はUser-Agent(サーバーサイド)で識別します。混ぜると数字が壊れます。
2. ネイティブチャネルを過信せず、UTM・サーバーサイド・BigQueryで穴を埋める。 2026年5月のGA4アップデートは前進ですが、Direct化・未認識ドメイン・AI Overview・CV経路再構築は依然として自前実装の領域です。
3. 成果は「露出・流入・成果」の3層で、ラストタッチとアシストを併記して報告する。 これがAEOを「説明できない施策」から「投資判断できる施策」に変える最後のピースです。
AEOの引用確認やKPI設計についてはAEO効果測定の記事を、サイト側のCV導線設計についてはコンバージョン設計の記事を、AIによる言及のモニタリングについてはブランドレピュテーションの記事を併せてご覧ください。本記事はその「計測・実装」を担う一本です。
参考リンク
- Google アナリティクス ヘルプ(チャネルグループ)
- Google Tag Manager サーバーサイドタグ設定(公式)
- OpenAI bots / crawler ドキュメント
- BigQuery GA4 エクスポート スキーマ(公式)
免責事項: 本記事は2026年5月時点の公開情報に基づく情報提供です。GA4の仕様、AIサービスのリファラー挙動、AIボットのUser-Agentは頻繁に変更されます。正規表現・フィールド名・チャネル定義は、導入時に必ず各公式ドキュメントと自社の実データで検証してください。

コメント