このページでは、Measurement Protocol のトランスポート メカニズムとデータ パラメータについて説明します。
トランスポート
すべてのデータは、HTTPS POST リクエストを使用して安全に送信する必要があります。
リクエストを次のエンドポイントに送信します。
https://www.google-analytics.com/mp/collect
データを EU で処理する場合は、次のエンドポイントを使用します。
https://region1.google-analytics.com/mp/collect
POST リクエストの例を次に示します。
POST /mp/collect HTTP/1.1
HOST: www.google-analytics.com
Content-Type: application/json
PAYLOAD_DATA
PAYLOAD_DATA はリクエストのペイロードに置き換えます。
Measurement Protocol は、HTTP リクエストを受け取った場合には 2xx ステータス コードを返します。ペイロードの形式が不適切であったり、データが間違っていたり、Google アナリティクスで処理されていなかったりしても、Measurement Protocol からエラーコードが返されることはありません。
ペイロード
ペイロードは 2 つの部分で構成されています。
- クエリ パラメータ。
- JSON
POST本文。
クエリ パラメータ
| パラメータ名 | 説明 |
|---|---|
|
必須。Google アナリティクス管理画面の API Secret。 確認するには、[管理] > [データ ストリーム] > [ストリームを選択] > [Measurement Protocol] > [作成] の順にクリックします。 組織内でのみ公開されます。大量に発生するスパムを回避するために定期的に更新する必要があります。 |
JSON POST 本文
| キー | 型 | 説明 |
|---|---|---|
|
string |
(省略可)ユーザーの一意の識別子。この識別子について詳しくは、User-ID によるクロスプラットフォーム分析をご覧ください。 使用できるのは UTF-8 の文字のみです。 |
|
number |
(省略可)Unix タイムスタンプ(マイクロ秒単位)。ミリ秒単位ではありません。イベントの時刻を表します。過去に発生したイベントを記録する場合にのみ設定します。 |
|
object |
(省略可)測定のユーザー プロパティ。 |
|
object |
(省略可)ユーザー提供データ。 |
|
object |
(省略可)リクエストの同意設定。詳しくは同意セクションをご覧ください。 |
|
boolean |
省略可。ユーザーのデータをパーソナライズド広告に使用しないことを示すには、true に設定します。
|
|
object |
(省略可)リクエストの地理情報を構造化された形式で設定します。 |
|
string |
(省略可)リクエストの地域情報の取得に使用される IP アドレス。 |
|
object |
省略可。リクエストのデバイス情報を構造化された形式で設定します。 |
|
array |
必須。event アイテムの配列。リクエストごとに最大 25 個のイベントを送信できます。有効なすべてのイベントについては、イベント リファレンスをご覧ください。
|
|
string |
必須。イベントの名前。すべてのオプションについては、イベントをご覧ください。 |
|
object |
(省略可)イベントのパラメータ。各イベントの推奨パラメータについては、イベントと一般的なイベント パラメータをご覧ください。 |
共通イベント パラメータ
Measurement Protocol には、次の一般的なイベント パラメータがあります。
| キー | 型 | 説明 |
|---|---|---|
|
number |
ユーザー セッションを識別する正の数。いくつかの一般的なユースケースで必要です。正規表現 ^\d+$ と一致する必要があります。
|
|
number |
イベントのユーザー エンゲージメントの継続時間(ミリ秒単位)。前のイベントからのユーザー エンゲージメント時間を反映する値を使用します。 |
|
number |
イベントの Unix エポック時間(マイクロ秒単位)。このパラメータを使用して、イベントのタイムスタンプをオーバーライドします。 |
同意
consent 属性は同意のタイプと状態を設定します。consent を指定しない場合、Google アナリティクスでは、対応するクライアントのオンライン インタラクションまたはアプリ インスタンスからの同意設定が使用されます。
| キー | 型 | 説明 |
|---|---|---|
|
string |
(省略可)広告目的でリクエストのイベントとユーザー プロパティから Google にユーザーデータを送信することへの同意。
|
|
string |
(省略可)ユーザーのパーソナライズド広告に対する同意。
|
地理情報
user_location 属性と ip_override 属性は、地理情報を提供します。user_location は ip_override より優先されます。
user_location フィールドの構造は次のとおりです。できるだけ多くの属性を指定します。最低でも country_id と region_id をおすすめします。
| キー | 型 | 説明 |
|---|---|---|
|
string |
(省略可)都市の名前。都市が米国にある場合は、country_id と region_id も設定して、Google アナリティクスが都市名を都市 ID に正しくマッピングできるようにします。 |
|
string |
(省略可)ISO 3166 の国と区分。たとえば、US-CA、US-AR、CA-BC、GB-LND、CN-HK。 |
|
string |
(省略可)ISO 3166-1 alpha-2 形式の国。たとえば、US、AU、ES、FR。 |
|
string |
(省略可)UN M49 形式の亜大陸。たとえば、011、021、030、039。 |
|
string |
(省略可)国連 M49 形式の大陸。たとえば、002、019、142、150。 |
user_location のサンプルを次に示します。
"user_location": {
"city": "Mountain View",
"region_id": "US-CA",
"country_id": "US",
"subcontinent_id": "021",
"continent_id": "019"
}
ip_override は user_location の代替手段です。代わりに ip_override を送信すると、Google アナリティクスは IP アドレスから地域情報を取得します。user_location を送信すると、Google アナリティクスは ip_override を無視します。
user_location または ip_override を送信しない場合、Google アナリティクスは
client_id。
Google アナリティクスは、送信された地理情報に関係なく、プロパティの詳細な位置情報の設定をリクエストに適用します。
デバイス情報
デバイス情報を送信するには、device フィールドを使用します。device フィールドの構造は次のとおりです。できるだけ多くの属性を指定します。最低でも category をおすすめします。
| キー | 型 | 説明 |
|---|---|---|
|
string |
省略可。デバイスのカテゴリ。たとえば、desktop、tablet、mobile、smart TV。 |
|
string |
省略可。ISO 639-1 形式の言語。たとえば、en、en-US。 |
|
string |
省略可。デバイスの解像度(WIDTHxHEIGHT 形式)。たとえば、1280x2856、1080x2340。 |
|
string |
省略可。オペレーティング システムまたはプラットフォーム。例: MacOS |
|
string |
省略可。オペレーティング システムまたはプラットフォームのバージョン。例: 13.5 |
|
string |
省略可。デバイスのモデル。たとえば、Pixel 9 Pro、Samsung Galaxy S24。 |
|
string |
省略可。デバイスのブランド。たとえば、Google、Samsung。 |
|
string |
省略可。ブラウザのブランドまたはタイプ。たとえば、Chrome、Firefox。 |
|
string |
省略可。ブラウザのバージョン。たとえば、136.0.7103.60、5.0。 |
次のスニペットは、device 設定の例を示しています。
"device": {
"category": "mobile",
"language": "en",
"screen_resolution": "1280x2856",
"operating_system": "Android",
"operating_system_version": "14",
"model": "Pixel 9 Pro",
"brand": "Google",
"browser": "Chrome",
"browser_version": "136.0.7103.60"
}
カスタム パラメータ
Measurement Protocol のペイロードには、ユーザー スコープ、イベント スコープ、アイテム スコープのカスタム パラメータを追加できます。
- ユーザー スコープのカスタム パラメータは
user_propertiesに追加できます。 - イベント スコープのカスタム パラメータは
events[].paramsに追加できます。 - アイテム スコープのカスタム パラメータは
itemsに追加できます。
特定のイベントの推奨値
一部のイベントには推奨パラメータがあります。サポートされているすべてのイベントの推奨パラメータについては、イベントをご覧ください。
予約済みの名前
一部のイベント名、パラメータ名、ユーザー プロパティ名は予約済みのため、使用できません。
予約済みのイベント名
以下のイベント名は予約済みのため使用できません。
ad_activeviewad_clickad_exposuread_queryad_rewardadunit_exposureapp_clear_dataapp_exceptionapp_installapp_removeapp_store_refundapp_updateapp_upgradedynamic_link_app_opendynamic_link_app_updatedynamic_link_first_openerrorfirebase_campaignfirebase_in_app_message_actionfirebase_in_app_message_dismissfirebase_in_app_message_impressionfirst_openfirst_visitin_app_purchasenotification_dismissnotification_foregroundnotification_opennotification_receivenotification_sendos_updatesession_startuser_engagement
予約済みのパラメータ名
以下のパラメータ名は予約済みのため使用できません。
firebase_conversion
パラメータ名の先頭を以下にすることはできません。
_ (underscore)firebase_ga_google_gtag.
予約済みのユーザー プロパティ名
以下のユーザー プロパティ名は予約済みのため使用できません。
first_open_timefirst_visit_timelast_deep_link_referreruser_idfirst_open_after_install
また、ユーザー プロパティ名の先頭を以下にすることはできません。
_ (underscore)firebase_ga_google_