GA4・Yandex Metrikaのデータ連携

GA4とYandex Metrikaからページビューとアクセス数を取得し、クロールの検出結果と突き合わせます。実際に訪問されているページから優先して修正できます。どちらも読み取り専用の接続です。

できること

Yandex Metrika

metrika-countersでカウンターIDを調べます。metrika-setupでは、目標、フィルタ、データ操作を確認できます。結論を出す前に、必ず目で確認してください。metrika-reportは、指定した指標とディメンションを取得します。ページ送りは自動です。

  • アクセスには、YANDEX_METRIKA_TOKENまたはトークンファイルのYandex OAuthトークンを使います。
  • metrika-traffic-pdfは、A4サイズのアクセスレポートをHTMLとPDFで作成します。PDFの作成には、ローカルのChrome、Edge、Chromiumのいずれかが必要です。
  • 生ログは意図的に対象外です。訪問者の識別子が含まれるためです。

Google Analytics 4

GA4専用のCLIコマンドはありません。provider-collectで取得します。訪問されたページにはpage_views、ランディングページにはlanding_pagesのオペレーションを使います。page_viewsは、指定したプロパティのscreenPageViewsを日付、ホスト、パスごとに集計します。

  • アクセスには、GA4のアクセストークン(GA4_ACCESS_TOKEN)か、analytics.readonlyスコープを持つGoogleのサービスアカウントを使います。
  • アカウントには、プロパティの閲覧権限が必要です。
  • 生の行はローカルの非公開アーティファクトフォルダーに保存されます。ツールの応答には含まれません。

クロールとの突き合わせ

crawl-enrichは、URLをキーにしたアクセス数CSVとクロール済みURLを照合し、アナリティクスの検出結果を加えます。訪問数と直帰率の列は、名前で指定します。プロジェクトで使うと、sources-syncが日次の履歴をローカルのSQLiteファイルに蓄積します。sf runはその履歴を監査対象ページにオフラインで結合します。

  • 孤立ページ、データなし、インデックス不可なのにアクセスがあるページは、この結合から検出されます。
  • 照合できたURL、クロールにだけあるURL、外部にだけあるURLは、別々のグループとして扱います。
  • GA4とMetrikaの数値を合算することはありません。

3ステップで、スキャンを1件保存

  1. まずカウンターの設定を確認

    metrika-countersでカウンターIDを調べ、metrika-setupで目標、フィルタ、データ操作を確認します。

  2. 訪問数とページビューを取得

    metrika-reportは、任意の指標とディメンションでYandex Metrikaを読み取ります。GA4のページビューは、provider-collectのga4 page_viewsオペレーションで取得します。

  3. 数値をクロールに結合

    crawl-enrichは、アクセス数CSVをURLでクロール済みURLと照合し、訪問数と直帰率の列を含むアナリティクスの検出結果を加えます。

この機能のチェック項目

チェック項目意味重要度根拠
GA_ORPHAN_URLアナリティクスのデータに同一オリジンのURLがあるが、クロールでは見つからなかったImportant結合で得たURLの一覧。クロールが一部のみの場合は出力されません
NON_INDEXABLE_WITH_GA_DATAインデックス不可のページに、0を超える訪問があるImportantURLと、--visits-columnで指定した列の訪問数
NO_GA_DATAインデックス可能でクロール済みのページに、アナリティクスの行がないTipURLの一覧。対応する前に、計測期間とアナリティクスのタグ設置を確認してください
BOUNCE_RATE_ABOVE_70ページの直帰率が70%を超えているTipURLと、--bounce-columnで指定した列の直帰率

コマンド1つで実行

bash
seohead metrika-report --counter 12345678 --date1 2026-09-01 --date2 2026-09-30

先にインストールします: インストールガイド。どのコマンドも、AIエージェント向けのMCPツールとして実行できます。

必要なもの

  • Yandex Metrika:カウンターIDとOAuthトークン
  • GA4:プロパティIDと、アクセストークンまたはanalytics.readonlyのサービスアカウント
  • 対象期間
  • クロールまたは監査の結果。crawl-enrichを使う場合は、アクセス数のCSVも必要

制限事項

  • GA4のページビューは、セッション数、ユーザー数、ランディングページのセッション数とは別の指標です。変更がアクセス増減の原因だったことの証拠にもなりません。
  • GA4の取得は1回の実行で最大100,000行です。しきい値の適用やサンプリングがあったデータには、その旨のフラグが付きます。
  • 訪問数が0でも、原因はタグの設置やフィルタ設定かもしれません。先にmetrika-setupで確認してください。
  • 行がないことは、計測値が0だったことを意味しません。「ない」という否定的な検出結果を出すには、クロールとプロバイダーのデータがどちらも揃っている必要があります。

よくある質問

サイトやアナリティクスの設定は変更されますか?
いいえ。すべての呼び出しは読み取り専用です。metrika-setupはカウンターの設定内容を表示するだけです。保存される証跡はローカルのフォルダーに残ります。
必要な権限は何ですか?
Metrikaには、YANDEX_METRIKA_TOKEN設定またはトークンファイルのYandex OAuthトークンが必要です。GA4には、GA4_ACCESS_TOKEN、またはanalytics.readonlyスコープを持ち、プロパティの閲覧権限があるサービスアカウントが必要です。
訪問数が0のページは、なぜ必ずしも問題とは限らないのですか?
0の原因が設定にある場合があります。目標やフィルタを設定していないと、数値が不完全になることがあります。アクセスの数値から結論を出す前に、metrika-setupで確認してください。
訪問者の生ログは読み取りますか?
いいえ。Metrikaの生ログは、訪問者の識別子を含むため設計上対象外です。使うのは集計レポートだけです。
費用はかかりますか?
これらのコマンドに対して、SpiderHeadは料金を請求しません。呼び出しは、自分のアカウントのMetrikaとGA4のAPIクォータを消費します。
手元のマシンには何が保存されますか?
GA4の生の行は、指定した非公開のアーティファクトフォルダーに保存されます。sources-syncは、トークンを保存せずに日次の履歴をプロジェクトのSQLiteファイルへ書き込みます。metrika-reportは結果を表示するだけなので、必要なら自分で保存します。