Python で
最終更新が、
実施した
動作環境
動作確認に
!sw_vers
ProductName: macOS ProductVersion: 12.5 BuildVersion: 21G72
!python -V
Python 3.7.2
インストール
!pip install ga4mp
Requirement already satisfied: ga4mp in /Users/kensakurai/Programing/GitHub/monotalk_blogs/contents/jupyter/.env_jupyter/lib/python3.7/site-packages (1.1.1)
Google Anatlyics 4 の 設定
Universal Analytics では
それぞれ
Measurement ID
管理をクリック > データストリームを クリック > イベントを 送信したい データストリームを クリック > 測定IDの コピー
で入手できます。 Measurement Protocol API secrets
管理をクリック > データストリームを クリック > イベントを 送信したい データストリームを クリック > Measurement Protocol API secret
から作成できます。 初回は 規約への 同意が 必要でした。 Google API client ID
Github Repository のREADME.md には、 設定 | Sign In With Google | Google Developers への リンクが ありますが、 API の クライアントIDとは 別物で GA4で ブラウザごとに 払い出される IDの ことだと 思われます。
関連するIsuueが 起票されていました。
Client ID description misleading? · Issue #31 · adswerve/GA4-Measurement-Protocol-Pythonカスタムイベントの
作成
設定をクリック > イベントを クリック > イベントの 作成を クリック
でカスタムイベントが 作成できます。 Measurement Protocol から 送付する イベントと 一致する イベントが Google Analytics 4 に 定義されていないと、 イベントを 送付しても 認識されませんでした。
サンプルスクリプト
以下は、mp_test
と
Google Analytics4 上で
from ga4mp import Ga4mp # GA4の ライブラリAPIインスタンス生成 ga = Ga4mp(measurement_id = <MEASUREMENT_ID>, api_secret = <API_SECRET>, client_id=<CLIENT_ID>) # イベント名と、送付パラメータの定義 event_type = 'mp_test' event_parameters = {'paramater_key_1': 'parameter_1', 'paramater_key_2': 'parameter_2'} event = {'name': event_type, 'params': event_parameters } events = [event] # イベント送信 ga.send(events) # ----------------------------------- # プロパティの設定 ga.set_user_property('user_id', 'Thales2000') ga.set_user_property('customer_tier','enterprise') # 設定したプロパティの削除 ga.delete_user_property('user_id') # ----------------------------------- # postpone=True でまとめてイベントを送信するため、リストへ登録 ga.send(events, postpone=True) # リスト登録したイベントをまとめて送信 ga.postponed_send()
- スクリプト実行時の
ログ INFO:ga4mp.ga4mp:Sending POST to: https://www.google-analytics.com/mp/collect INFO:ga4mp.ga4mp:Batch Number: 1 INFO:ga4mp.ga4mp:Status code: 204
ga4mp は、
個人的に
Measurement Protocol は、
HTTP リクエストを 受け 取った 場合には 必ず 2xx ステータス コードを 返します。 ペイロード データの 形式が 不適切であったり、 ペイロードの データが 間違っていたり、 Google アナリティクスで 処理されていなかったりしても、 Measurement Protocol から エラーコードが 返される ことは ありません。
個人的に
Universal Analytics の
以上です。
コメント