使用 Measurement Protocol 将网站事件发送到 GA4

1. 简介

上次更新时间:2019 年 4 月 30 日

构建内容

  • 在此 Codelab 中,您将学习如何使用 Measurement Protocol 向 GA4 发送外部事件。
  • 此 Codelab 假定您已实现 Google Analytics 4 的网页/网站。

学习内容

  • 发出首次 MP 调用所需的步骤
  • 了解进行调用所需的参数
  • 发送并验证测试调用
  • 在 Python 中构建一个示例脚本来发起调用

所需条件

  • 网站/网页
  • 用于进行更改的任何 IDE
  • GA4 账号
  • 可选 - Python 开发环境(或 Colab)

2. 收集必填字段

在 Google Analytics 4 中创建 API 密钥

前往 Google Analytics 4,然后依次前往“管理”>“数据流”>“选择您的数据流”>“Measurement Protocol”>“创建”,以创建新的 API 密钥

8dee89e850ae90bb.png

d0be19d8112435a2.png

de5a80a1445d3a14.png

您可以提供任何昵称,系统会显示密文值,您可以在通话中使用该值

收集 client_id

您可以使用以下任一方法来收集 client_id。

  1. 通过 gTag 进行收集

下文将详细介绍这两种情况

通过 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 中创建
  • measurement_id - 如需获取此 ID,您可以依次前往“管理”>“数据流”>“选择您的数据流”。应显示如下

d362992ff592c675.png

  • client_id - 您已检索到此值
  • user_id 不是必需的。您可以暂时将其留空
  • 类别 - 从下拉菜单中将此项更改为“自定义”,然后输入您选择的任意事件名称(请勿使用任何自动收集的事件)。这里我们使用的是“test_from_codelab”

cf580a708bb0a8a2.png

您还可以选择点击下方的按钮来提供事件参数和/或用户属性

da59bb982f6f906a.png

填写完所有内容后,您应该会看到类似如下的界面,其中包含一个“验证事件”按钮

31f720d550906298.png

到达此页面后,点击以橙色突出显示的“验证活动”按钮。它应显示以下消息,指明该事件有效,并且您应看到一个“发送到 GA”按钮。此时,如果该事件显示为无效,该工具会告知您存在问题的确切字段,您可以修复该问题并重试

1d63d1e067c46294.png

现在,您可以点击该按钮,它应该会向 GA4 发送测试事件

4. 验证 GA4 中的事件

发送事件后,您可以前往 GA4 账号并查看实时报告。您应该会看到事件通过

7b9e9a0f74b64757.png

事件从实时视图传播到实际的事件报告标签页可能需要大约 24 小时,因此如果您没有立即在常规事件报告中看到此内容,请不必担心!

5. 构建 Python 脚本

现在,您已经测试过该 API,接下来可以检查 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 Analytics,从而改进营销和业务分析。为了充分利用此功能,我们还建议您关联到 Google Ads,并将这些事件作为转化导入。

您已经学习了以下内容:

  • 如何收集正确的变量以进行 MP 调用
  • 如何发送和验证测试事件
  • 如何构建用于发送 MP 调用的脚本

参考文档