マルチシグナルキーワード収益アトリビューション は何をしますか?
GSC一括エクスポートとGA4エクスポートデータ(両方ともBigQuery内)を使用して、キーワードレベルの収益アトリビューション分析を実行します。出力は、並べ替え可能なマークダウンテーブル(クエリ、ページ、インテント、クリック数、アトリビューションセッション数、アトリビューションコンバージョン数、アトリビューション収益、信頼度)と、短い見出しサマリーです。
使用するタイミング
ユーザーがクリック数だけでなく、トラフィック価値(セッション数、コンバージョン数、収益)を生み出しているクエリを知りたい場合に、このスキルをトリガーします。この方法論は、標準の ga4_gsc_query_revenue MCPツールよりもアトリビューションを1段階細かくプッシュします。これは、GA4メトリクスを分配する前に3つのシグナル(ページ+日付+デバイス)で結合し、インテント重み付けを適用してブランドクエリやトランザクションクエリが情報提供クエリよりも多くのクレジットを得るようにし、合計がGA4と正確に一致するように再正規化するためです。
ユーザーがクリックシェアのみ、または「私のサイトがどのキーワードでランクしているか」のような1行の回答を必要とする場合は、代わりに ahrefs-quick-lookup または組み込みの ga4_gsc_query_revenue ツールを使用してください。
必要な入力
不足しているものがあれば、ユーザーに尋ねてください。ユーザーが指定しない場合は、デフォルト値を使用します。
| パラメーター | デフォルト | 注記 |
|---|---|---|
brand_terms | 必須 | 小文字の配列。Tier 1 部分文字列一致。正規のブランド形式を使用してください(例:['snippet digital', 'snippetdigital'])。 |
brand_tokens | [] | 小文字の配列。Tier 2 語幹接頭辞トークン。各トークンは任意の単語の先頭と一致するため、'model' は 'models'、'modelling'、'modeling' を捕捉します。複数単語のブランドで語順や語幹のバリエーションを捕捉するために推奨されます。 |
brand_min_token_matches | 2 | クエリがブランドとみなされるために brand_tokens から出現する必要のあるトークンの数。2単語ブランドの場合は2が適切なデフォルトです。 |
brand_negative_terms | [] | 小文字の配列。Tier 3 偽陽性ガード。これらのいずれかを含むクエリは決してブランド化されません。あいまいな単一単語ブランド(例:Apple の場合は ['apple pie', 'apple cider'])に使用します。 |
gsc_dataset | 必須 | searchdata_url_impression を保持するデータセット(例:searchconsole)。 |
ga4_dataset | 必須 | GA4エクスポートデータセット(例:analytics_123456789)。 |
days | 28 | 今日から3日を引いた日数(GSCには約3日の遅延があります)。 |
min_clicks | 5 | 期間全体で合計クリック数がこれより少ないクエリを削除します。 |
value_per_conversion | 0.0 | GA4に金銭的価値がない場合のオプションの固定リードバリュー。固定コンバージョン値として、例えば 499.0 に設定します。 |
conversion_events | ['form_submit', 'generate_lead', 'purchase'] | コンバージョンとしてカウントするGA4イベント名。 |
インテント重みとインテント正規表現も設定可能です(attribution.sql の DECLARE ブロックを参照)。デフォルトはB2B / リードジェンサイト向けに調整されています。eコマースの場合は、トランザクション重みを2.5に引き上げることを検討してください。
ブランドマッチング: 入力方法
ユーザーにブランド用語を尋ねるときは、両方のティアを明示的に尋ねてください。
「あなたのブランドは何ですか? 1) ユーザーがあなたを入力するための正確なフレーズ(例:'snippet digital'、'snippetdigital')、および 2) 語幹として一致させるブランド内の固有の単語(例:'snippet'、'digital')を教えてください。」
ほとんどの複数単語ブランドでは、ティア2にはティア1の単語を個々のトークンに分割したものを含める必要があります。例:
| ブランド | brand_terms (Tier 1) | brand_tokens (Tier 2) | min |
|---|---|---|---|
| Coca-Cola | ['coca cola', 'cocacola', 'coke'] | ['coca', 'cola'] | 2 |
| Snippet Digital | ['snippet digital', 'snippetdigital'] | ['snippet', 'digital'] | 2 |
| UK Models | ['uk models', 'ukmodels'] | ['uk', 'model'] | 2 |
| Keyword Insights | ['keyword insights', 'keywordinsights'] | ['keyword', 'insights'] | 2 |
単一単語ブランド(Apple、Notion、Stripe)の場合、ティア2は通常不要です。代わりにティア3を使用して偽陽性を除外します。
| ブランド | brand_terms (Tier 1) | brand_negative_terms (Tier 3) |
|---|---|---|
| Apple(企業) | ['apple'] | ['apple pie', 'apple cider', 'apple fruit'] |
| Stripe(決済) | ['stripe'] | ['pin stripe', 'stripe pattern'] |
ユーザーが、明らかにブランドに関連するクエリが情報提供として分類されていると報告した場合(例:複数形や語順のバリエーションがすり抜けている場合)、修正はほとんどの場合、ティア2トークンを追加することです。
手順
-
入力を確認します。 brand_terms、gsc_dataset、または ga4_dataset が不足している場合は、ユーザーに尋ねます。異常な値(例:days > 90、min_clicks > 25)は明示的に確認します。
-
両方のデータセットが存在するかプローブします。 完全なクエリを実行する前に、BigQuery MCP
queryツールを使用して2つの安価なプローブを実行します。SELECT MAX(data_date) FROM \{gsc_dataset}.searchdata_url_impression``SELECT MAX(_TABLE_SUFFIX) FROM \{ga4_dataset}.events_*`` いずれかがエラーになった場合は、正確なエラーをユーザーに表示して停止します。メインクエリを続行しないでください。
-
アトリビューションクエリを実行します。 BigQuery MCP
queryツールを使用して、attribution.sqlのSQLを実行します。<<GSC_DATASET>>と<<GA4_DATASET>>をユーザーのデータセット名に置き換えます。ユーザーのブランド用語、日数、最小クリック数、コンバージョン単価、コンバージョンイベントを反映するように DECLARE ブロックを更新します。max_rowsは200に設定してロングテールをキャプチャします。 -
出力をレンダリングします。 結果を、アトリビューション収益の降順で並べ替えられたマークダウンテーブルとしてフォーマットします。列:クエリ、ページ、インテント、クリック数、att_sessions、att_conversions、att_revenue(通貨記号付き)、candidates_on_page、信頼度。テーブルの後に、以下を記述します。
- 総クリック数、セッション数、コンバージョン数、収益、およびブランドシェアを要約する2〜3文の見出し。
- 上位3つの高信頼度ドライバー(各行1行)。
- フラグを立てる価値のあるパターン(例:コンバージョンがゼロのすべての高信頼度ページ、異常と思われるインテント分割、部分文字列ルールで見逃されているブランドバリエーション)。
-
必要に応じてビジュアルアーティファクトをレンダリングします。 ユーザーがダッシュボード、スナップショット、スクリーンショットを要求した場合は、
show_widgetMCP ツールを使用してインラインHTMLウィジェットを構築します。ウィジェットには以下を含める必要があります:4つのメトリックカード(クリック数、セッション数、コンバージョン数、収益)、インテント別に色分けされたアトリビューション収益による上位12クエリの水平棒グラフ、インテント分割の積み上げ棒グラフ(クリック数 vs セッション数 vs 収益)、および並べ替えとフィルタリングが可能なテーブル。
よくある落とし穴と対処法
- 部分文字列ルールによって見逃されたブランド用語。 「uk model」には「uk models」が含まれていません。常に積極的にブランドリストをファジー化してください:単数形/複数形、スペースの有無、よくあるタイプミス、社内の役職名を含めます。生のクリック数でブランドクエリを上回る情報提供クエリがホームページにある場合、それはほとんどの場合、ブランドバリエーションの欠落です。
- 収益がどこでもゼロ。 これは、GA4が
ecommerce.purchase_revenueまたはevent_params.valueを設定していないことを意味します。リードジェンサイトではこれは正常です。成功指標としてコンバージョンを受け入れるか、value_per_conversionを渡して収益をコンバージョン数 x 値として計算します。 - すべての信頼度評価が低いのは、すべてがホームページ上にあるためです。 これはバグではなく、正当な発見です。ホームページは実際、クリーンにアトリビューションするにはクエリの候補が多すぎます。スコアを操作しようとするのではなく、構造的な発見としてフラグを立ててください(「内部リンクとトピック固有のランディングページにより、このアトリビューションを確定的なチャンクに分割できます」)。
- 結合率が低いようです。 GSCとGA4はURLの正規化方法が異なります(末尾のスラッシュ、クエリ文字列、フラグメント)。SQLは両側の末尾のスラッシュとクエリ文字列を取り除きます。結合率がまだ50%未満の場合は、プロトコルの不一致(http vs https)またはホスト名の違い(www vs non-www)を確認してください。
- GA4オーガニックフィルターが除外しすぎています。 SQLは、いずれかのイベントが
medium=organicを報告するセッションにフィルタリングします。ユーザーのGA4セットアップが異なるトラフィックソース値(例:チャネルグルーピングとしてOrganic Search)を使用している場合は、ga4_sessionsCTEのWHERE句を編集します。 - GSCデータセットが1つのプロジェクトにあり、GA4が別のプロジェクトにある。 BigQueryのクロスプロジェクトクエリは問題なく機能します。両方のプレースホルダーを完全修飾してください。例:
project-a.searchconsole、project-b.analytics_123456789。MCPサービスアカウントは両方に対して読み取りアクセス権を持っている必要があります。
出力形式の例
## [ドメイン] キーワード収益アトリビューション、過去28日間
**期間:** 2026-04-01 から 2026-04-28
**ブランド用語:** "..." | **最小クリック数:** 5
| クエリ | ページ | インテント | クリック数 | アトリビューションセッション | アトリビューションコンバージョン | アトリビューション収益 | 信頼度 |
|---|---|---|---|---|---|---|---|
| ... | ... | branded | 280 | 263.4 | 19.96 | £9,960 | HIGH |
見出し: 903クリック、697アトリビューションセッション、39コンバージョン、£19,461収益。ブランドはクリック数の57%でコンバージョンの86%を獲得。
上位3つの高信頼度ドライバー
1. ...
2. ...
3. ...
パターン
- ...
- ...
このスキルのファイル
attribution.sql: パラメータ化されたクエリSKILL.md: このファイルexamples/synthetic_saas_demo.md: 参考用の実践例出力