首页 文章

Google跟踪代码管理器dataLayer变量未定义

提问于
浏览
0

当我的页面显示时,我将一些数据推送到Google跟踪代码管理器(GTM)dataLayer:

dataLayer.push({
    event: "MY_EXPERIMENT", 
    variant: "A",
    result: "FORM_DISPLAYED"
});

提交表单后,我推送一些新数据:

dataLayer.push({
    event: "MY_EXPERIMENT", 
    variant: "A",
    result: "FORM_SUBMITTED"
});

我在GTM中创建了dataLayer变量,并在GTM的标签的类别/动作/标签字段中插入了这些变量 . 其中一个变量设置如下:

标记由URL路径触发,在预览模式下,它可以工作 .

但是,当我在Google Analytics的实时信息中心查看事件时,类别/标签/事件列中仅显示“未定义” . 在我看来,变量没有正确设置,但我已经查看了一切,看起来很好 .

我究竟做错了什么?

2 回答

  • 0

    我想通了 . 我没有在GTM的事件代码中的“更多设置 - >电子商务”下选中“使用数据层”复选框 . 很难找到复选框,我没有在任何教程中看到它 . 但这解决了我的问题!

    很抱歉没有截图 .

  • 1

    它最有可能发生的是你的标签过早发射 . 您说GA事件标记是基于URL路径触发的 . 这很可能意味着您在GTM中使用 All Pages 触发器,并且可选的过滤器仅在特定页面上触发 . 但是,您最有可能只执行那些dataLayer推送 after GTM容器代码 . 这意味着在标记触发时,那些dataLayer推送了为什么你在变量的值中得到了 undefined .

    要解决此问题,您应该将GA事件代码的触发器从 All Pages 更改为 Custom Event . 在您的情况下,自定义事件名称将为 MY_EXPERIMENT .

相关问题