AMP

amp-analytics

Description

AMP ドキュメントからアナリティクス データを収集します。

 

Required Scripts

<script async custom-element="amp-analytics" src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"></script>

AMP ドキュメントからアナリティクス データを収集します。

必要なスクリプト <script async custom-element="amp-analytics" src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"></script>
AMP By Example の amp-analytics の例をご覧ください。

ベンダーや社内へのアナリティクス データの送信

サイトで AMP アナリティクスを使い始める前に、ユーザー エンゲージメント分析にサードパーティのアナリティクス ツールを使用するか、社内のソリューションを使用するかを決める必要があります。

AMP アナリティクスについて詳しくは、アナリティクスの設定ガイドをご覧ください。

アナリティクス ベンダーへのデータの送信

AMP アナリティクスでは、1 回の測定で得たデータを複数の URL に送信できます。すでに 1 社以上のアナリティクス ベンダーを利用している場合は、アナリティクス ベンダーの一覧で、該当のソリューションが AMP と統合されているかどうかをご確認ください。

統合型 AMP アナリティクス ベンダーの場合:

  1. <amp-analytics> タグに type 属性を追加して、その値を指定されているベンダーに設定します。
  2. どのデータを収集してトラッキングするかを決め、設定データにその詳細を指定します。アナリティクス データの収集方法については、ベンダーのドキュメントをご覧ください。

アナリティクス ベンダーが AMP を統合していない場合は、ベンダーに問い合わせてサポートを依頼してください。AMP プロジェクトに問題を報告し、ベンダーを追加するようリクエストすることをおすすめします。また、AMP HTML にアナリティクス ツールを統合する方法もご確認ください。さらに、指定された URL にデータを送信する際には、ベンダーと協力してください。詳しくは、以下の社内へのデータの送信をご覧ください。

例: 第三者アナリティクス プロバイダへのデータの送信

次の例では、AMP を統合済みの第三者アナリティクス プロバイダである Nielsen にアナリティクス データを送信します。Nielsen 向けにアナリティクス データを設定する方法について詳しくは、Nielsen のドキュメントをご覧ください。

<amp-analytics type="nielsen">
  <script type="application/json">
  {
    "vars": {
      "apid": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
      "apv": "1.0",
      "apn": "My AMP Website",
      "section": "Entertainment",
      "segA": "Music",
      "segB": "News",
      "segC": "Google AMP"
    }
  }
  </script>
</amp-analytics>

社内へのデータの送信

ユーザー エンゲージメントの測定に社内のソリューションを使用する場合は、URL さえあれば、AMP アナリティクスをそのソリューションと統合できます。この URL がデータの送信先となります。データは複数の URL に送信することもできます。たとえば、ページビュー データとソーシャル エンゲージメント データをそれぞれ別の URL に送信できます。

社内のソリューションにおいて AMP を統合していないアナリティクス ベンダーと連携して作業を行う場合、そのベンダーと共同で必要な設定情報を確認してください。

特定の URL にデータを送信する方法は次のとおりです。

  1. どのデータを収集してトラッキングするかを決め、設定データにその詳細を指定します。
  2. requests 設定オブジェクトで、トラッキングするリクエストのタイプ(ページビュー、特定のトリガー イベントなど)と、トラッキング データの送信先の URL を指定します。

アナリティクス リクエストのリファラー ヘッダー内の AMP URL を処理するときには、usqp パラメータを取り除くか無視します。このパラメータは、Google が Google AMP キャッシュのテストをトリガーする際に使用されます。

例: URL へのデータの送信

以下に、ページビューをトラッキングする簡単な例を示します。ページが表示されるたびにトリガー イベントが起動し、ページビュー データがランダムな ID とともに定義済みの URL に送信されます。

<amp-analytics>
<script type="application/json">
{
  "requests": {
    "pageview": "https://foo.com/pixel?RANDOM"
  },
  "triggers": {
    "trackPageview": {
      "on": "visible",
      "request": "pageview"
    }
  }
}
</script>
</amp-analytics>

トラッキングの一般的なユースケース(ページの視聴回数、ページのクリック数、スクロールなど)については、アナリティクス: ユースケースをご覧ください、

設定データの指定

<amp-analytics> 要素では、測定の対象やアナリティクス データの送信先に関する詳細情報を格納する JSON 設定オブジェクトを指定します。

<amp-analytics> の設定オブジェクトの形式は次のとおりです。

{
  "requests": {
    request-name: request-value,
    ...
  },
  "vars": {
    var-name: var-value,
    ...
  },
  "extraUrlParams": {
    extraurlparam-name: extraurlparam-value,
    ...
  },
  "triggers": {
    trigger-name: trigger-object,
    ...
  },
  "transport": {
    "beacon": *boolean*,
    "xhrpost": *boolean*,
    "image": *boolean*,
  }
}

インラインまたはリモート設定

設定データは、インラインで指定することも、config 属性で URL を指定してリモートで取得することも可能です。また、type 属性を使用して、一般的なアナリティクス ベンダーの組み込み設定を選択することもできます。

複数の提供元の設定データを使用する場合、設定オブジェクト(変数、リクエスト、トリガー)がマージされます。この場合、優先順位は次のようになります。

  1. リモート設定がインライン設定よりも優先される。
  2. インライン設定がベンダー設定よりも優先される。

リモート設定の読み込み

リモート設定を読み込むには、<amp-analytics> 要素で、config 属性と設定データの URL を指定します。URL の指定では HTTPS スキームを使用する必要があります。URL には AMP URL 変数を含めることができます。Cookie にアクセスする場合は、data-credentials 属性を確認してください。レスポンスは AMP CORS セキュリティ ガイドラインに準拠する必要があります。

次の例では、指定した URL から設定データを読み込むように config 属性を指定しています。

<amp-analytics config="https://example.com/analytics.account.config.json">

設定リライタ

設定リライタ機能では、指定された設定をアナリティクス プロバイダが動的に書き換えることができます。この機能はリモート設定機能に似ていますが、ユーザーが指定した設定をサーバーへのリクエストに追加することができます。現在のところ、この機能を有効にできるのはアナリティクス ベンダーだけです。

アナリティクス ベンダーは、サーバーの URL を使用して configRewriter プロパティを指定します。

export const VENDOR_ANALYTICS_CONFIG = {
    ...
    'configRewriter': {
      'url': 'https://www.vendor.com/amp-config-rewriter',
    },
    ...
}

ランタイムは、指定されたリモート設定とマージされたインライン設定を含むリクエストを、ベンダーが指定した configRewriter エンドポイントに送信します。ベンダーはこのデータをサーバー側で使用して、新たに書き換えられた設定を作成して返します。

ランタイムはその後、指定されたすべての設定をマージして、以下のように優先順位の高い順に最終的な設定を決定します。

  1. 書き換えられた設定
  2. インライン設定
  3. ベンダーが定義した設定
変数グループ

変数グループは、ユーザーが簡単に有効化できる定義済みの変数セットをアナリティクス プロバイダがグループ化するための機能です。これらの変数は解決され、指定の configRewriter エンドポイントに送信されます。

アナリティクス プロバイダはこの機能を有効にするために、configRewriter 設定の内部に新しい varGroups オブジェクトを作成する必要があります。サイト運営者はその後、指名したアナリティクス プロバイダが作成した有効化対象の varGroups をアナリティクス設定に含めることができます。AMP HTML の置換ガイドでサポートされている変数はすべて使用できます。重要な注意事項: ${varName} バリアントは使用できません。

あるベンダーによる設定例を以下に示します。

// This is predefined by vendor.
export const VENDOR_ANALYTICS_CONFIG = {
    ...
    'configRewriter': {
      'url': 'https://www.vendor.com/amp-config-rewriter',
      'varGroups' : {
        'group1': {
          'referrer': 'DOCUMENT_REFERRER',
          'source': 'SOURCE_URL',
        'group2': {
          'title': 'TITLE',
        },
      },
    },
  },
    ...
}

プロバイダの <amp-analytics> 設定内に特定の varGroups に対する {enabled: true} を含めることで、どの変数グループを有効にするかを指定できます。enabled は予約キーワードのため、変数名として使用することはできません。

以下の例では、group1group2 の両方が有効化されています。明確に有効化されていないグループは無視されます。ランタイムは、有効化された変数をすべて解決し、1 つの configRewriter.vars オブジェクトにマージします。このオブジェクトが設定リライタの URL に送信されます。

  /* Included on publisher page */
  <amp-analytics type="myVendor" id="myVendor" data-credentials="include">
    <