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

1. 简介

上次更新日期:2019 年 4 月 30 日

构建内容

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

学习内容

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

所需条件

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

2. 收集必填字段

在 GA4 中创建 API 密钥

前往 GA4 并创建新的 API 密钥,方法是依次前往“管理”>“数据流 >选择直播 >Measurement Protocol >创建

8dee89e850ae90bb

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 - 如需获取此值,请依次转到“管理”>“数据流 >选择您的视频流 。它应如下所示

d362992ff592c675.png

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

cf580a708bb0a8a2.png

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

da59bb982f6f906a.png

填写完所有内容后,您应该会看到类似这样的内容,其中有一个“验证活动”按钮

31f720d550906298

达到此上限后,点击“验证事件”,该按钮会以橙色突出显示。它应该在下方显示消息,指明该事件是有效的,并且您现在应该会看到一个用于“SEND TO GA”(发送到 GA)的按钮。此时,如果事件显示为无效,该工具会告诉您存在问题的确切字段,您可以解决该问题并重试

1d63d1e067c46294

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

4. 验证 GA4 中的事件

发送事件后,您可以前往您的 GA4 账号并查看“实时”。您应该会看到

7b9e9a0f74b64757

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

5. 构建 Python 脚本

现在,您已经对其进行了测试,接下来可以检查 API 调用和事件负载,在 Python(或您选择的任何语言)中构建可进行此调用的类似架构。然后,您可以按照所需的频率安排这项工作,并将其付诸使用。在这一部分,您可以使用你选择的任何支持 Python 的 IDE,也可以仅使用 Google Colab 笔记本(无需在设备上安装任何软件)

回顾 GA4 Event Builder,您会发现端点如下所示

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 通话的脚本

参考文档