Measurement Protocol イベントを Google アナリティクスに送信する

このガイドでは、Google Chat のメッセージ履歴を Google アナリティクス Measurement Protocol のウェブおよびアプリ ストリーム イベントを Measurement Protocol イベントを表示するための Google アナリティクスのレポート

このガイドで説明を希望するプラットフォームを選択してください。

リクエストの形式を設定

Google アナリティクス 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_idapp_instance_id とは異なります。firebase_app_id はお客様のアプリを識別し、一方の app_instance_id はそのアプリの 1 回のインストールを識別します。

詳しくは、クエリ パラメータをご覧ください。

リクエスト本文には、次の情報を必ず含めてください。

  • user_id: 省略可。ユーザーの一意の識別子。使用できるのは UTF-8 のみです あります。この識別子について詳しくは、クロスプラットフォーム分析用の User-ID をご覧ください。

  • consent: 省略可。同意設定の設定方法をご確認ください。

  • timestamp_micros: 省略可。マイクロ秒単位の Unix エポック時刻。 リクエスト内のイベントとユーザー プロパティ。指定しない場合、 リクエスト時刻

  • events: イベント項目の配列。1 つのイベントに複数のイベントを含めることができる リクエストできます。

    ユーザーアクティビティをレポートに表示する方法は リアルタイムengagement_time_msecsession_id は、 eventparamsengagement_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 を送信しなくても新たなセッションを作成できます。セッション数のカウント方法を理解しましょう。

試してみる

以下の例では、tutorial_begin イベントを Google 分析サーバー:

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 では、次のリストで見つかった最初のタイムスタンプが使用されます。 リクエストの各イベントに対して行われます。

  1. イベントの timestamp_micros
  2. リクエストの timestamp_micros
  3. Measurement Protocol がリクエストを受信した時刻。

次の例では、リクエスト レベルのタイムスタンプを 渡されます。そのため、Measurement Protocol では測定対象と tutorial_begin イベントと join_group イベントのタイムスタンプ: requestUnixEpochTimeInMicros

{
  "timestamp_micros": requestUnixEpochTimeInMicros,
  "events": [
    {
      "name": "tutorial_begin"
    },
    {
      "name": "join_group",
      "params": {
        "group_id": "G_12345",
      }
    }
  ]
}

次の例では、リクエスト レベルのタイムスタンプとイベントレベルのタイムスタンプの両方を送信します。 あります。そのため、Measurement Protocol は tutorial_begin を割り当てます。 タイムスタンプ tutorialBeginUnixEpochTimeInMicrosjoin_group を イベントにタイムスタンプ requestUnixEpochTimeInMicros を付加します。

{
  "timestamp_micros": requestUnixEpochTimeInMicros,
  "events": [
    {
      "name": "tutorial_begin",
      "timestamp_micros": tutorialBeginUnixEpochTimeInMicros
    },
    {
      "name": "join_group",
      "params": {
        "group_id": "G_12345",
      }
    }
  ]
}

制限事項

Measurement Protocol イベントを Google アナリティクスに送信する際には、次の制限が適用されます。

  • リクエスト内で指定できるイベントは 25 個までです。
  • イベント内で指定できるパラメータは 25 個までです。
  • イベント内で指定できるユーザー プロパティは 25 個までです。
  • ユーザー プロパティ名は半角 24 文字(全角 12 文字)以下にする必要があります。
  • ユーザー プロパティ値は半角 36 文字(全角 18 文字)以下にする必要があります。
  • イベント名は半角 40 文字以下にして、先頭を英字にする必要があります。使用できる文字は英数字とアンダースコアのみです。
  • アイテム パラメータなどのパラメータ名は半角 40 文字以下にして、先頭を英字にする必要があります。使用できる文字は英数字とアンダースコアのみです。
  • アイテム パラメータなどのパラメータ値は半角 100 文字(全角 50 文字) 通常の Google アナリティクス プロパティの場合は 500 文字以下、 Google アナリティクス 360 の プロパティの一例です
  • アイテム パラメータに指定できるカスタム パラメータの数は 10 個までです。
  • POST 本文は 130 KB 未満にする必要があります。
  • Google アナリティクスに送信されたアプリの Measurement Protocol イベントで、Google 検索にデータが入力されない Google 広告でアプリユーザーを対象にできます

各ユースケースの追加要件については、一般的なユースケースをご覧ください。