Measurement Protocol のリファレンス

概要

Measurement Protocol を使って Google アナリティクスにデータを送信するプロセスは、以下の 2 つの要素で構成されています。

  1. トランスポート - データの送り先と送信方法
  2. ペイロード - 送信するデータ

このドキュメントでは、トランスポートとペイロードの形式設定について説明します。

トランスポート

URL エンドポイント

Measurement Protocol を使って、以下のエンドポイントに HTTP POST リクエストを行ってデータを送信します。

https://www.google-analytics.com/mp/collect

イベントを送信するには、以下の POST リクエストを発行します。

POST /mp/collect HTTP/1.1
HOST: www.google-analytics.com
Content-Type: application/json
<payload_data>

レスポンス コード

Measurement Protocol は、HTTP リクエストを受け取った場合には必ず 2xx ステータス コードを返します。ペイロード データの形式が不適切であったり、ペイロードのデータが間違っていたり、Google アナリティクスで処理されていなかったりしても、Measurement Protocol からエラーコードが返されることはありません。

ペイロード

Measurement Protocol のデータを使って Google アナリティクスに送信されるデータは、以下の 2 つの要素で構成されています。

  1. クエリ パラメータ
  2. JSON POST 本文

クエリ パラメータ

パラメータ名 説明

api_secret

必須。Google アナリティクスの管理画面で生成される API Secret

新しい Secret を作成するには、Google アナリティクスの管理画面で以下をクリックします。
[管理] > [データ ストリーム] > [ストリームを選択] > [Measurement Protocol] > [作成]

これらは組織内に限定して公開することをおすすめします。Measurement Protocol をクライアントサイドでデプロイする場合は、大量に発生するスパムを回避するために api_secret を定期的にローテーションする必要があります。

firebase_app_id

必須。Firebase アプリ ID。Firebase アプリの識別子。確認するには、Firebase コンソールで以下をクリックします。
[プロジェクト設定] > [全般] > [アプリ] > [アプリ ID]

measurement_id

測定 ID。データ ストリームの識別子。確認するには、Google アナリティクスの管理画面で以下をクリックします。
[管理] > [データ ストリーム] > [ストリームを選択] > [測定 ID]

JSON POST 本文

キー タイプ 説明

app_instance_id

string

必須。Firebase アプリの特定のインストールを一意に識別します。この値は Firebase SDK を使って取得する必要があります。

client_id

string

必須。ウェブ クライアントのユーザー インスタンスを一意に識別します。 Measurement Protocol にイベントを送信するをご覧ください。

user_id

string

省略可。ユーザーの一意の識別子。この識別子について詳しくは、User-ID によるクロスプラットフォーム分析をご覧ください。

timestamp_micros

number

省略可。イベントに関連付ける時間の Unix タイムスタンプ(マイクロ秒単位)。過去に発生したイベントを記録する場合にのみ設定します。この値は、user_property またはイベントのタイムスタンプを使ってオーバーライドできます。イベントには、プロパティのタイムゾーンに基づいて、最大 3 日前までさかのぼってタイムスタンプを適用できます。

user_properties

object 省略可。測定のユーザー プロパティ。詳しくは、ユーザー プロパティをご覧ください。
object 省略可。リクエストの同意設定を設定します。詳しくは同意セクションをご覧ください。

non_personalized_ads

boolean 省略可。ユーザーのデータをパーソナライズド広告に使用しないことを示すには、true に設定します。

events[]

array 必須。イベント項目の配列。リクエストごとに最大 25 個のイベントを送信できます。有効なすべてのイベントについては、イベント リファレンスをご覧ください。

events[].name

string 必須。イベントの名前。すべてのオプションについては、イベント リファレンスをご覧ください。

events[].params

object 省略可。イベントのパラメータ。各イベントの推奨パラメータについては、イベントをご覧ください。

consent 属性では、同意のタイプと状態を設定します。consent を指定しない場合、Google アナリティクスでは、対応するクライアントのオンライン インタラクションまたはアプリ インスタンスからの同意設定が使用されます。

キー タイプ 説明

ad_user_data

string

省略可。広告掲載を目的として、リクエストのイベントとユーザー プロパティから Google にユーザーデータを送信することへの同意を設定します。

GRANTED または DENIED のいずれかを指定します。

ad_personalization

string

省略可。パーソナライズド広告への同意をユーザーに設定します。

GRANTED または DENIED のいずれかを指定します。

カスタム パラメータ

Measurement Protocol のペイロードには、既定のパラメータの他にもユーザー スコープ、イベント スコープ、アイテム スコープのカスタム パラメータを追加できます。

  • ユーザー スコープのカスタム パラメータはペイロードの user_properties オブジェクトに追加できます。
  • イベント スコープのカスタム パラメータはペイロードの events[].params オブジェクトに追加できます。
  • アイテム スコープのカスタム パラメータは、各イベントの items 配列に追加できます。

一部のイベントには推奨パラメータがあります。サポートされているすべてのイベントの推奨パラメータについては、イベントをご覧ください。

予約済みの名前

予約済みのイベント名

以下のイベント名は予約済みのため使用できません。

  • ad_activeview
  • ad_click
  • ad_exposure
  • ad_query
  • ad_reward
  • adunit_exposure
  • app_clear_data
  • app_exception
  • app_install
  • app_remove
  • app_store_refund
  • app_update
  • app_upgrade
  • dynamic_link_app_open
  • dynamic_link_app_update
  • dynamic_link_first_open
  • error
  • firebase_campaign
  • firebase_in_app_message_action
  • firebase_in_app_message_dismiss
  • firebase_in_app_message_impression
  • first_open
  • first_visit
  • in_app_purchase
  • notification_dismiss
  • notification_foreground
  • notification_open
  • notification_receive
  • notification_send
  • os_update
  • session_start
  • user_engagement

予約済みのパラメータ名

以下のパラメータ名は予約済みのため使用できません。

  • firebase_conversion

また、パラメータ名の先頭を以下にすることはできません。

  • _ (underscore)
  • firebase_
  • ga_
  • google_
  • gtag.

予約済みのユーザー プロパティ名

以下のユーザー プロパティ名は予約済みのため使用できません。

  • first_open_time
  • first_visit_time
  • last_deep_link_referrer
  • user_id
  • first_open_after_install

また、ユーザー プロパティ名の先頭を以下にすることはできません。

  • _ (underscore)
  • firebase_
  • ga_
  • google_