Google AMP Client ID API を設定する

Google の AMP Client ID API を使用すると、AMP と非 AMP をまたいでコンテンツを利用しているユーザーを一意に識別し、その体験を分析できます。誰でも使用できるサービスであり、Google アナリティクスの設定で任意に実施するタグ設定の変更にも対応しています。

この記事の内容:

AMP Client ID API について

Google の AMP Client ID API を使用すると、AMP ページと非 AMP ページのコンテンツを利用しているユーザーを一意に識別できます。このサービスを有効にすると、Google アナリティクスが AMP クライアント ID を使用し、Google AMP ビューア経由の AMP ページ閲覧で発生したサイトイベント同士を、同一ユーザーによるものかどうか判別できるようになります。イベントとユーザーを関連付けると、ユーザー数やセッション単位の指標といったデータを確認できます。

この API を使用すると、AMP ページのアクティビティに関連付けられているユーザー ID を取得し、非 AMP ページで同じユーザーを表す独自の情報と統合することができます。統合された情報により、ユーザーの移動経路やサービスの利用状況をより正確に把握できます。

この API では、サイト運営者ごとに ID と ID の有効期限が自動設定されます。

AMP Client ID API がデータに及ぼす影響

AMP と非 AMP のページをまたいで一意に識別されるユーザーがサイトに戻ってくると、ユーザーおよびセッション関連の指標がユーザーの行動をより正確に反映するようになります。たとえば、セッション継続時間、直帰率、セッションあたりの閲覧ページ数などの指標の精度が高まり、サイトを利用したユーザーのより正確な行動データを反映するようになります。

Google AMP Client ID API を有効にすると、AMP ページに以前アクセスしたことのあるユーザーの AMP ID が 1 回限りのイベントとしてリセットされます。その時点で、このユーザーは新しいユーザーとして識別されます。このため、ユーザーがサイトにアクセスする頻度によっては、新規ユーザーの指標や関連するレポートのデータが一時的に大きく変動する可能性があります。

制限事項

AMP ページと、Client ID API を使用したい他の非 AMP ページとで、公開場所のオリジンが異なる場合、Client ID API を正しく動作させるためには、AMP ページのオリジンと非 AMP ページのオリジンが一定の規則に従っている必要があります。

  • スキームとポートは常に一致している必要があります。
  • ホストも AMP 側のオリジンと本来のオリジンとで一致している必要があります。ホスト名先頭に付いている m.amp.www. は無視されます。

問題なく動作する AMP 側オリジンと非 AMP 側オリジンの組み合わせの例:

  • https://www.example.com(AMP ページと非 AMP ページでオリジンが同一)
  • https://amp.example.comhttps://www.example.com
  • https://m.example.comhttps://www.example.com
  • https://amp.www.example.comhttps://example.com
  • https://amp.example.comhttps://m.www.example.com

動作しない AMP 側オリジンと非 AMP 側オリジンの組み合わせの例:

  • https://www.example.comhttp://www.example.com(スキームが一致しない)
  • https://www.example.comhttps://www.example.com:8000(ポートが一致しない)
  • https://amp.example.comhttps://amp.google.com(「example.com」の代わりに「google.com」が使用されているため、類似オリジンとは見なせない)
  • https://amp.example.comhttps://mobile.example.com(先頭に「m.」ではなく「mobile.」が付いているため、類似オリジンとは見なせない)
  • https://web.amp.example.comhttps://web.m.example.com(「amp.」と「m.」の差ではあるが、ホスト名の先頭ではないため、類似ホストとは見なせない)

サードパーティの Cookie をサポートしていないブラウザ

サードパーティの Cookie をサポートしていないブラウザ(例: Safari 12 以上で Intelligent Tracking Prevention 2.0 が有効)の場合、AMP Client ID API は AMP Linker 機能を使用してユーザー セッションを同期します。AMP Linker は、AMP キャッシュで表示されるページの外部リンクにクエリ パラメータ(例: _gl = < value>)を追加する仕組みになっています。リンク先のドメインでは、gtag.js が URL のリンカー パラメータをチェックするように設定されます。有効なリンカー パラメータが検出されると、そのパラメータから測定用のファーストパーティ Cookie が抽出され、保存されます。

設定

このサービスを利用する際に必要となるタグ設定の変更(下記参照)を行うと、Google AMP Client ID API ポリシーに目を通して受け入れたこと、およびこのサービスを利用する Google アナリティクス プロパティがポリシーの要件を満たしていることを認めたことになります。

このサービスを利用するには、AMP ページと非 AMP ページのコードに変更を加える必要があります。どちらのコード変更も必須です。

実装に関する注意事項

  • Client ID API を活用するには、データを同じ Google アナリティクス プロパティ内で収集する必要があります。
  • AMP ページは、サブドメイン処理については、非 AMP ページと同じ扱いになります。必要に応じて適切な場所に参照の除外を使用してください。参照の除外については、後のセクションで詳しく説明しています。

手順 1. AMP ページで有効にする

すべての AMP ページの <head> に次のコードを挿入します。

<meta name="amp-google-client-id-api" content="googleanalytics">

AMP ページ向け Google アナリティクスを使用する場合は、通常どおり、type 属性を googleanalytics に設定して amp-analytics 要素をページの本文に追加し、必要に応じてトラッキング設定を定義してください。Google タグ マネージャーをご利用の場合は、こちらのガイドに従って AMP 対応タグを設定してください。

手順 2. 非 AMP ページで有効にする

Google アナリティクスの実装にはさまざまな方法があります。ご使用の環境に最も適した手順を使用してください。いずれの場合でも、目標は、アナリティクスの create 関数への最初の呼び出しで useAMPclientID パラメータが true に設定されていることを確認することです。「設定の確認」セクションを参照して、セッション ステッチが正しく機能しているかどうかを確認してください。

analytics.js を使用している場合

アナリティクス トラッキング コードに次のコードを挿入します。

ga('create', 'UA-XXXXX-Y', 'auto', {'useAmpClientId': true});

gtag.js を使用している場合

アナリティクス トラッキング コードに次のコードを挿入します。

gtag('config', 'UA-XXXXX-Y', 'auto', {'use_amp_client_id': true});

Google タグ マネージャーを使用している場合

公開済みの既存のコンテナについては、次の手順を行う必要があります。

Google アナリティクス設定変数を使用している場合は、1 つの方法で関連するすべてのタグを変更できます。

  1. Google タグ マネージャーで、該当のコンテナを開いて [変数] をクリックします。
  2. 編集する Google アナリティクス設定変数を開いて、変数設定カードをクリックします。
  3. [詳細設定] > [設定するフィールド] に移動します。
  4. [+ フィールド] をクリックします。
  5. [フィールド名] を「useAmpClientId」に、[値] を「true」に設定します。
  6. 新しい変数設定を保存します。
  7. 該当するすべての Google アナリティクス設定変数について、前述の手順を繰り返します(コンテナで複数の変数を使用している場合)。
  8. コンテナを公開します。

Google アナリティクス設定変数を使用していない場合は、次の手順で個々のタグを変更します。

  1. Google タグ マネージャーで、該当のコンテナを開いて [タグ] をクリックします。
  2. 編集するタグをクリックして、[タグの設定] カードをクリックします。
  3. [詳細設定] > [設定するフィールド] に移動します。
  4. [+ フィールド] をクリックします。
  5. [フィールド名] を「useAmpClientId」に、[値] を「true」に設定します。
  6. 新しいタグの設定を保存します。
  7. 該当するすべての Google アナリティクス タグについて、前述の手順を繰り返します。
  8. コンテナを公開します。

サードパーティのタグ マネージャーを使用している場合

タグ管理システムに指定された手順に従って、useAmpClientId パラメータを追加し、アナリティクスのトラッカー作成コードに対してその値を true に設定します。

手順 3. 参照の除外を使用する

Google では、AMP コンテンツをユーザーに配信するとき、Google AMP キャッシュを使用します。参照の除外を 1 つ(「cdn.ampproject.org」というドメイン)だけ追加する必要があります。参照の除外を指定すると、Google から配信されてキャッシュに保存されたすべての AMP サブドメインで、セッションが中断することがなくなります。

複数のサブドメインから AMP ページを配信する場合は、AMP サブドメインの扱い方をサブドメインごとに変えることをおすすめします。ウェブサイトの参照の除外で指定されている既存のサブドメインのキャッシュ バージョンを入力すると、AMP サイトと非 AMP サイトをまたいで特定の参照を除外することができます。たとえば、subdomain.example.com に対して参照の除外を設定している場合、subdomain-example-com.cdn.ampproject.org にも参照の除外を追加します。AMP キャッシュ URL の形式の詳細

AMP に関連する参照の除外は、他の参照の除外と同様に、アナリティクスの [管理] 画面から指定できます。詳細

設定の確認

Google AMP Client ID API が正しく動作していることを確認します。

  1. シークレット モードで Google Chrome ブラウザを開きます。Chrome デベロッパー ツールでモバイル エミュレータを有効にします。
  2. google.com で、サイトの AMP ページを返す検索クエリを入力します。
  3. AMP ページの検索結果をクリックします。この検索結果は、Google AMP キャッシュ経由で配信され、Google 検索 AMP ビューアに表示されます。
  4. Chrome デベロッパー ツールの [ネットワーク] タブに移動し、文字列「collect」でフィルタをかけ、AMP ページビューの Google アナリティクス ネットワーク リクエストを探します。
  5. www.google-analytics.com に送信されるネットワーク リクエストを選択します。リクエストの [Headers] タブで [クエリ文字列パラメータ] までスクロールし、クライアント ID を探します。cid パラメータの項目で、クライアント ID が amp- の接頭辞で始まる場合は、AMP ページを正しく設定できています。
  6. [消去] をクリックして、ネットワーク リクエストを消去します。
  7. 非 AMP ページを設定したことを確認するには、非 AMP ページに移動したときに同じ cid パラメータが表示されることを確認する必要があります。これを行うには、AMP ページで任意のリンクをクリックし、ドメインから配信された非 AMP ページに移動します。クライアント ID を検索するには、再度「collect」の文字列でフィルタをかけます。www.google-analytics.com に送信されるネットワーク リクエストを選択します。cid クエリ パラメータの値が、ステップ 5 で確認した値と一致することを確かめます。
  8. cid の値が一致しない場合は、アナリティクス デバッガを実行し、ga('create' への最初の呼び出しに useAmpClientId: true パラメータが含まれているかどうかを確認します([Chrome デベロッパー ツール] タブで Running command: ga("create" を検索します)。
この記事は役に立ちましたか?
改善できる点がありましたらお聞かせください。