【问题标题】:Google Tag Manager dataLayer unrecognized by Tag Manager跟踪代码管理器无法识别 Google 跟踪代码管理器数据层
【发布时间】:2017-12-20 03:24:09
【问题描述】:

请帮忙。我正在尝试使用 GTM dataLayer 在我的销售确认页面上跟踪购买情况。我添加了 dataLayer,它位于 GTM 容器 sn-p 上方,但 Google Tag Manager 完全无法识别该数据层。就像它在页面上不存在一样。为什么?您可以在源代码中看到所有内容均已正确格式化:view-source:http://www.maverickhelicopter.com/survey.aspx 但 GTM 预览工具甚至无法识别数据层的存在。 screenshot of GTM preview tool

【问题讨论】:

  • 在您的页面代码中,您推送到 - 此时未初始化 - dataLayer(这会给您一个“survey.aspx:35 Uncaught TypeError: Cannot read property 'push' of undefined”错误浏览器控制台)。然后你尝试初始化dataLayer。尝试交换两者,看看它是否开始工作。

标签: javascript google-tag-manager enhanced-ecommerce google-datalayer


【解决方案1】:

问题是您在定义 dataLayer 的 GTM 代码 sn-p 之前调用 dataLayer.push() 函数。如您的页面所示:

您必须在定义 dataLayer 之后或在正文中的 GTM 代码 sn-p 之后移动 dataLayer.push。这真的取决于你什么时候想触发你的“reservationPushed”事件。例如,如果您在头部包含推送功能:

dataLayer = [{
    'page': {
        'type': 'confirmation',
        'environment': 'production'
    }
}];

dataLayer.push({
    'ecommerce': {
        'purchase': {
            'actionField': {
                'id': '0',
                'affiliation': '0',
                'revenue': '0'
            },
            'products': [{
                'name': '0',
                'id': '{{tourID}}',
                'price': '0',
                'category': 'None',
                'variant': 'None',
                'quantity': parseInt(document.getElementById("ctl00_ContentPlaceHolder1_hfGTMSEATS").value)
            }]
        }
    },
    'event': 'reservationPushed'
});

“reservationPushed”事件将在页面查看之前触发。

或者,您可以将整个推送功能移动到 GTM 代码 sn-p 下方以触发事件 after Page View。只是不要错误地移动您的 dataLayer 变量,根据开发人员指南,它位于正确的位置:https://developers.google.com/tag-manager/devguide

因此,您的选择之一就是这样构建您的代码:

<html>
...
<script>
dataLayer = [{
'page': {
  ...
}
}];
</script>
...

<!-- Google Tag Manager -->
...
<!-- End Google Tag Manger -->
<script>
dataLayer.push({
'ecomerce': {
...
}
</script>
...
</html>

【讨论】:

    猜你喜欢
    • 2022-01-13
    • 1970-01-01
    • 2016-01-21
    • 2013-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多