Measurement Protocol を使用してウェブイベントを GA4 に送信する

1. はじめに

最終更新日: 2019 年 4 月 30 日

作成するアプリの概要

  • この Codelab では、Measurement Protocol を使用して外部イベントを GA4 に送信する方法を学びます。
  • この Codelab は、Google アナリティクス 4 が実装されたウェブページまたはサイトがすでに存在することを前提としています。

学習内容

  • MP 通話を初めて行う手順
  • 呼び出しに必要なパラメータを理解する
  • テスト呼び出しを送信して検証する
  • Python で呼び出しを行うサンプル スクリプトを作成します。

必要なもの

  • ウェブサイト/ウェブページ
  • 変更が可能な任意の IDE
  • GA4 アカウント
  • 省略可 - Python 開発環境(または Colab)

2. 必須項目を収集する

GA4 で API Secret を作成する

GA4 に移動し、[管理] > [管理] から新しい API Secret を作成します。データ ストリーム >ストリームを選択 >Measurement Protocol >作成

8dee89e850ae90bb.png

d0be19d8112435a2.png

de5a80a1445d3a14.png

任意のニックネームを付けると、通話で使用できるシークレットの値が表示されます

client_id を収集する

client_id は以下のいずれかの方法で収集できます。

  1. gTag による収集

これら 2 つの詳細については、以下で説明します。

gTag による収集

以下を使用して、ウェブサイトから client_id を取得できます。

gtag('get', 'UA-XXXXXXXX-Y', 'client_id', (clientID) => {
  Do something with clientID)
}

インフラストラクチャに応じて、以下のリンクを追加

3. 電話相談の組み立て

GA4 のイベント ビルダーを使用してサンプル呼び出しを作成できます。(使用するには、ログインし、Cookie を有効にする必要があります)。切り替えボタンが [gtag.js] に設定されていることを確認します。

b904d2a053eb7817.png

次のフィールドに入力する必要があります。

  • api_secret - GA4 ですでに作成済み
  • measure_id - 確認するには、[管理] >データ ストリーム >ストリームを選択します。次のように表示されます。

d362992ff592c675.png

  • client_id - この値はすでに取得済みです
  • user_id は必須ではありません。今は空欄のままで構いません
  • [Category] - [Custom] に変更します。プルダウンから選択して、任意のイベント名を入力します(自動収集イベントは使用しないでください)。ここでは「test_from_codelab」を使用して、

cf580a708bb0a8a2.png

必要に応じて、下のボタンをクリックして、イベント パラメータやユーザー プロパティを指定することもできます。

da59bb982f6f906a.png

すべて入力すると、次のような [イベントを検証] ボタンが表示されます。

31f720d550906298.png

このページが表示されたら、[イベントを検証] をクリックします。] を選択し、このボタンはオレンジ色でハイライト表示されています。イベントが有効であることを示す以下のメッセージが表示されます。また、[SEND TO GA] というボタンが表示されます。この時点でそのイベントが無効の場合は、問題があるフィールドが正確に示されるので、問題を修正して再試行できます。

1d63d1e067c46294.png

ボタンをクリックすると、テストイベントが GA4 に送信されます。

4. GA4 でイベントを検証する

イベントを送信したら、GA4 アカウントに移動して [リアルタイム] を確認できます。イベントが終了したことが

7b9e9a0f74b64757.png

イベントがリアルタイム ビューから [実際のイベント レポート] タブに反映されるまでに 24 時間ほどかかる場合があります。そのため、通常のイベント レポートにすぐに反映されていなくても心配はいりません。

5. Python スクリプトのビルド

テストが完了したので、API 呼び出しとイベント ペイロードを調べて、この呼び出しを行うことができる同様のアーキテクチャを Python(または任意の言語)で構築できます。その後、任意の頻度でこの処理をスケジュールし、運用化できます。ここでは、Python をサポートする任意の IDE を使用することも、デバイスへのインストールを必要としない Google Colab ノートブックを使用することもできます。

GA4 イベント ビルダーに戻ると、エンドポイントが次のようになっていることがわかります。

POST /mp/collect?measurement_id=XXXX&api_secret=XXXX 
HTTP/1.1
Host: www.google-analytics.com

イベント ペイロードは次のようになります。

{
  "client_id": XXXX,
  "non_personalized_ads": false,
  "events": [
    {
      "name": "test_from_codelab",
      "params": {
        "test_param": "test_123"
      }
    }
  ]
}

これを Python に変換するには、

import requests
import json
url = "https://www.google-analytics.com/mp/collect?measurement_id=XXXX&api_secret=XXXX"
payload = {
  "client_id": XXXX,
  "non_personalized_ads": false,
  "events": [
    {
      "name": "test_from_codelab",
      "params": {
        "test_param": "test_123"
      }
    }
  ]
}
r = requests.post(url,data=json.dumps(payload),verify=True)
print(r.status_code)

適切な値を指定して実行した場合も同様に、イベントが GA4 にリアルタイムで反映されます。

6. 完了

GA4 で Measurement Protocol を正常に使用できました。強力なソリューション アーキテクチャを構築して、より有意義なデータを Google アナリティクスに送信し、マーケティング分析やビジネス分析を改善できるようになりました。これを最大限に活用するには、Google 広告に接続し、これらのイベントをコンバージョンとしてインポートすることもおすすめします。

学習した内容

  • MP 呼び出しを行うための適切な変数を収集する方法
  • テストイベントの送信と検証の方法
  • MP 呼び出しを送信するスクリプトの作成方法

リファレンス ドキュメント