首页 文章

标记管理器无法识别Google跟踪代码管理器dataLayer

提问于
浏览
1

请帮忙 . 我添加了dataLayer,它位于GTM容器代码段之上,但Google跟踪代码管理器完全无法识别数据层 . 它's like it doesn' t存在于页面上 . 为什么?您可以在源代码中看到所有内容都已正确格式化:view-source:http://www.maverickhelicopter.com/survey.aspx但GTM预览工具甚至无法识别数据层的存在 . screenshot of GTM preview tool

1 回答

  • 0

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

    enter image description here

    您必须在定义dataLayer之后移动dataLayer.push,或者在正文中的GTM代码片段之后移动dataLayer.push . 这真的取决于你什么时候想要解雇你的“预订推送”活动 . 如果您在头部包含推送功能,例如:

    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"事件将被触发 before 页面视图 .

    或者,您可以将整个推送功能移动到GTM代码段下方以触发事件 after 页面视图 . 只是不要错误地移动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>
    

相关问题