このガイドでは、Google アナリティクス Measurement Protocol のウェブとアプリのストリーム イベントを Google アナリティクス サーバーに送信し、Measurement Protocol イベントを Google アナリティクスのレポートで確認できるようにする方法を説明します。
このガイドで説明を希望するプラットフォームを選択してください。
リクエストの形式を設定
Google アナリティクス 4 向けの Measurement Protocol でサポートされるのは、HTTP POST
リクエストのみです。
イベントを送信するには、次の形式を使用してください。
POST /mp/collect HTTP/1.1
HOST: www.google-analytics.com
Content-Type: application/json
<payload_data>
リクエスト URL に次の情報を必ず含めてください。
api_secret
: Google アナリティクス管理画面で生成される API Secret。新しい Secret を作成するには、[管理] > [データ ストリーム] > ストリームを選択 > [Measurement Protocol] > [作成] の順にクリックします。
measurement_id
: ストリームに関連付けられた測定 ID。この ID は、Google アナリティクス管理画面の [管理] > [データ ストリーム] > ストリームを選択 > [測定 ID] で確認できます。measurement_id
は、ストリーム ID ではありません。
詳しくは、クエリ パラメータをご覧ください。
リクエスト本文には、次の情報を必ず含めてください。
client_id
: クライアントの一意の識別子。これは、Firebase のapp_instance_id
とは異なります。gtag.js('get') を使用してください。
user_id
: 省略可。ユーザーの一意の識別子。使用できるのは UTF-8 の文字のみです。この識別子について詳しくは、クロスプラットフォーム分析用の User-ID をご覧ください。consent
: 省略可。同意設定の設定方法をご確認ください。events
: イベント項目の配列。1 つのリクエストに複数のイベントを含めることができます。ユーザー アクティビティをリアルタイム レポートなどのレポートに表示するには、
event
のparams
の一部として、engagement_time_msec
とsession_id
を指定する必要があります。engagement_time_msec
パラメータには、イベントのエンゲージメント時間をミリ秒単位で反映させる必要があります。次の例をご覧ください。
{
"client_id": "123456.7654321",
"events": [
{
"name": "campaign_details",
"params": {
"campaign_id": "google_1234",
"campaign": "Summer_fun",
"source": "google",
"medium": "cpc",
"term": "summer+travel",
"content": "logolink",
"session_id": "123",
"engagement_time_msec": "100"
}
}
]
}
session_start
は予約済みのイベント名ですが、新しい session_id
を作成すると、session_start
を送信しなくても新たなセッションを作成できます。セッションがどのようにカウントされるかを理解しましょう。
試してみる
次の例では Google アナリティクス サーバーに tutorial_begin
イベントを送信しています。
const measurement_id = `G-XXXXXXXXXX`;
const api_secret = `<secret_value>`;
fetch(`https://www.google-analytics.com/mp/collect?measurement_id=${measurement_id}&api_secret=${api_secret}`, {
method: "POST",
body: JSON.stringify({
client_id: 'XXXXXXXXXX.YYYYYYYYYY',
events: [{
name: 'tutorial_begin',
params: {},
}]
})
});
制限事項
Measurement Protocol イベントを Google アナリティクスに送信する際には、次の制限が適用されます。
- リクエスト内で指定できるイベントは 25 個までです。
- イベント内で指定できるパラメータは 25 個までです。
- イベント内で指定できるユーザー プロパティは 25 個までです。
- ユーザー プロパティ名は半角 24 文字(全角 12 文字)以下にする必要があります。
- ユーザー プロパティ値は半角 36 文字(全角 18 文字)以下にする必要があります。
- イベント名は半角 40 文字以下にして、先頭を英字にする必要があります。使用できる文字は英数字とアンダースコアのみです。
- アイテム パラメータなどのパラメータ名は半角 40 文字以下にして、先頭を英字にする必要があります。使用できる文字は英数字とアンダースコアのみです。
- アイテムのパラメータ値などのパラメータ値は、標準の Google アナリティクス 4 プロパティでは半角 100 文字以下、Google アナリティクス 360 プロパティの場合は 500 文字以下にする必要があります。
- アイテム パラメータ内で指定できるカスタム パラメータは 10 個までです。
- POST 本文は 130 KB 未満にする必要があります。
- Measurement Protocol イベントのイベントレベルのアトリビューションは、統合された Google 広告とその他のメディアに対するコンバージョン エクスポートについて、オンライン イベントのタグ付けを行なった直近日から最長 63 日サポートされます。コンバージョン イベントの計測期間が 63 日を超えている場合でも同様です。一方、タグ付けを行うオンライン イベントのイベントレベルのアトリビューションは、すべての計測期間でサポートされます。
- リマーケティング目的で、Measurement Protocol イベントは、関連付けられた Cookie またはデバイス ID を含む直近のオンライン イベントの後、以下の日数まで結合できます。
- ウェブ ストリーム: 30 日
- アプリ ストリーム: 42 日
- Google アナリティクス 4 に送信されるアプリの Measurement Protocol イベントでは、アプリユーザーについて、Google 広告で検索ユーザーは入力されません。