このガイドでは、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] > [作成] の順にクリックします。
firebase_app_id
: Firebase アプリ ID。この ID は、Firebase コンソールの [プロジェクトの設定] > [全般] > [マイアプリ] > [アプリ ID] で確認できます。firebase_app_id
はapp_instance_id
とは異なります。firebase_app_id
はお客様のアプリを識別し、一方のapp_instance_id
はそのアプリの 1 回のインストールを識別します。
詳しくは、クエリ パラメータをご覧ください。
リクエスト本文には、次の情報を必ず含めてください。
app_instance_id
: Firebase アプリ インスタンスの一意の識別子(ウェブのclient_id
とは異なります)。
user_id
: 省略可。ユーザーの一意の識別子。使用できるのは UTF-8 の文字のみです。この識別子について詳しくは、クロスプラットフォーム分析用の User-ID をご覧ください。consent
: 省略可。同意設定の設定方法をご確認ください。events
: イベント項目の配列。1 つのリクエストに複数のイベントを含めることができます。ユーザー アクティビティをリアルタイム レポートなどのレポートに表示するには、
event
のparams
の一部として、engagement_time_msec
とsession_id
を指定する必要があります。engagement_time_msec
パラメータには、イベントのエンゲージメント時間をミリ秒単位で反映させる必要があります。次の例をご覧ください。
{
"app_instance_id": "12345678901234567890123456789012",
"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 firebase_app_id = `1:1234567890:android:321abc456def7890`;
const api_secret = `<secret_value>`;
fetch(`https://www.google-analytics.com/mp/collect?firebase_app_id=${firebase_app_id}&api_secret=${api_secret}`, {
method: "POST",
body: JSON.stringify({
app_instance_id: 'app_instance_id',
events: [{
name: 'tutorial_begin',
params: {},
}]
})
});
firebase_app_id
の形式はプラットフォームによって異なります。Firebase の構成ファイルとオブジェクトのアプリケーション ID をご覧ください。
制限事項
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 広告で検索ユーザーは入力されません。