You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何向Google Analytics 360发送离线历史事件及超4小时回溯事件

嘿,刚好我对GA 360的离线事件处理熟得很——尤其是突破4小时回溯限制这个坑,给你捋清楚两种场景的解决方案:

一、基础操作:发送4小时内的离线事件

对于发生在4小时内的离线事件,直接用Measurement Protocol就能搞定,这是GA官方支持的服务器端事件发送方式,GA 360完全兼容。

  • 核心是在请求里加qt参数,它代表「事件发生时间」和「当前发送时间」的差值(单位:秒),比如事件是3小时前发生的,就设qt=10800
  • 注意必须保持用户ID的一致性:请求里的cid(客户端ID)或者uid(用户ID)要和用户在线时的ID完全匹配,不然离线事件会被算成新用户的数据。
  • 示例请求(推荐用POST避免URL长度限制):
POST /collect HTTP/1.1
Host: www.google-analytics.com
Content-Type: application/x-www-form-urlencoded

v=1&tid=UA-XXXXXXXXX-X&cid=35009a79-1a05-49d7-b876-2b884d0f825b&t=event&ec=offline&ea=transaction&el=order_12345&qt=10800

参数说明:tid是你的GA跟踪ID,ec/ea/el分别是事件分类、动作、标签,qt就是时间差参数。

二、重点突破:回溯超过4小时的离线事件

GA默认限制qt参数最大为14400秒(4小时),超过这个值的话,GA会直接忽略qt,用当前时间作为事件时间。这时候就得用GA 360专属的User Activity API——它允许你回溯最多90天的事件,完全不受4小时限制。

具体步骤:

  1. 准备好事件的精准数据:
    • 用户的ciduid(必须和在线时一致)
    • 事件发生的ISO 8601格式时间戳(比如2024-05-20T14:30:00Z)或者微秒级时间戳
    • 事件的类型、分类、动作、标签等常规参数
  2. 调用batchUpdate接口推送事件,示例请求结构(JSON格式):
{
  "requests": [
    {
      "updateUserActivity": {
        "user": {
          "clientId": "35009a79-1a05-49d7-b876-2b884d0f825b"
        },
        "activity": {
          "event": {
            "name": "offline_transaction",
            "params": {
              "event_category": "offline",
              "event_action": "completed",
              "event_label": "order_12345",
              "timestamp_micros": 1716225000000000
            }
          }
        },
        "timestamp": "2024-05-20T14:30:00Z"
      }
    }
  ]
}
  1. 权限配置:确保你的服务账号拥有analyticsadmin.userActivity.update的OAuth 2.0权限,不然会被API拒绝。
三、关键注意事项
  • 仅限GA 360用户:User Activity API是付费版GA 360的专属功能,标准版GA无法使用。
  • 数据验证:发送完成后,可在GA 360的「用户资源管理器」中查看特定用户的活动记录,确认离线事件是否被正确回溯。
  • 批量处理:如果有大量离线事件,建议用批量请求发送,避免频繁调用API触发限流。

内容的提问来源于stack exchange,提问作者Clément

火山引擎 最新活动