You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何利用GTM、GA4与BigQuery发送事件数组记录列表项曝光

问题描述

我希望记录并分析列表中物品(可为产品、门店等)的曝光量,但这些物品难以适配电商字段。页面加载时我会生成事件,将其添加到DataLayer并传递给Google Tag Manager(GTM)。尝试多种方式后,目前仅能以‘Object’引用字符串的形式捕获事件中的物品。我知道电商功能有步骤可将物品转换为GTM/GA4易处理的格式,但找不到自定义事件的相关文档,恳请指导。

相关截图说明
  • 1. BigQuery中捕获的输出
    BigQuery捕获的输出
  • 2. 生成事件的代码
    生成事件的代码
  • 3. 调试扩展中捕获的GTM事件
    调试扩展中捕获的GTM事件
  • 4. 同一扩展中捕获的GA4事件
    同一扩展中捕获的GA4事件
  • 5. GTM中的标签
    GTM中的标签
  • 6. GTM中的变量
    GTM中的变量
  • 7. GA4中的自定义维度
    GA4中的自定义维度
解决方案指导

针对自定义事件下的物品数据处理,可按以下步骤操作:

1. 修正DataLayer事件数据结构

确保推入DataLayer的物品数据是可序列化的对象数组,避免传递复杂对象(防止被转成'Object'字符串)。提取物品关键字段(如ID、名称、类型等),构造结构化数组:

// 示例代码
window.dataLayer.push({
  event: 'item_exposure',
  exposed_items: [
    { item_id: 'store_001', item_name: 'XX门店', item_type: 'store' },
    { item_id: 'prod_002', item_name: 'XX产品', item_type: 'product' }
  ]
});

2. GTM中配置对应变量

  • 创建数据层变量,指向你定义的物品数组字段(如exposed_items);
  • 若需拆分单个物品数据,用自定义JavaScript变量遍历数组,格式化GA4可接收的结构。

3. 配置GA4事件标签

在GTM的GA4事件标签中,将物品数组作为事件参数传递:

  • 参数名设为exposed_items,参数值选择对应的GTM数据层变量;
  • 为方便GA4解析,可通过自定义JS变量将数组转为JSON字符串:JSON.stringify({{exposed_items}}),后续在BigQuery中可直接解析该字段分析。

4. GA4配置自定义维度(可选)

若需在GA4界面直接查看物品属性,将item_id、item_type等关键字段配置为自定义维度,关联到item_exposure事件。

关键注意事项

  • 禁止在DataLayer中传递无法序列化的对象(如DOM元素、函数),仅保留纯数据字段;
  • 推送DataLayer事件时,使用唯一清晰的事件名(如item_exposure),便于GTM触发规则匹配;
  • 在GTM预览模式中验证数据层变量是否正确捕获数组,而非'Object'字符串。

内容的提问来源于stack exchange,提问作者James White

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 14:38:14