通过代码管理器无法正常运行的Universal Analytics事件

时间:2015-04-29 09:10:32

标签: events analytics google-tag-manager universal-analytics

我希望对通过Google跟踪代码管理器部署的Universal Analytics的事件触发问题提供任何帮助。
特别是,我尝试在同一页面上发送两种事件:a < strong>结帐购买事件(增强型电子商务)和 onclick通用自定义事件。
在我的页面的相关代码下面,按照onload执行的顺序:

<script>
 <!--Initialize dataLayer-->
  dataLayer = [{'userId' : ...}];
 <!--End dataLayer-->

 <!--Tag Manager-->
  (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':.....})(window,document,'script','dataLayer','GTM-...');
 <!--End Tag Manager-->

 dataLayer.push({   
  'event': 'checkout',
  'ecommerce': {
    'purchase': {
        'actionField': {
            'id': ...
            'revenue': '1.00', 
            'tax': ... 
        },
        'products': [{
            'name': 'Product1',
            'price': '1.00',
            'category': 'Category 1',
            'variant': 'Variant1',
            'quantity': 1
        }]
    }
  },
  'eventCallback': function() {
        console.log("Purchase pushed!");        
  }
 });
</script>

<button onclick="dataLayer.push({'event': 'eventTest'});">CLICK ME</button>

如您所见,在页面加载时正确推送了购买事件。
我正确地说“因为在浏览器控制台中检查dataLayer对象”,显示添加的购买子对象。
在上瘾,最后你会找到一个简单的按钮,在其onclick处理程序上推送另一个通用的“eventTest”。甚至这个事件对象也被添加到dataLayer“队列”中 您需要考虑的是,以下是有关Google的页面加载“200状态”请求:
- gtm.js?id = GTM -... [www.googletagmanager.com]
- analytics.js [www.google-analytics.com]
- 收集?v = 1&amp; _v = j35&amp; a = 211135512&amp; t = pageview ... [www.google-analytics.com]

简而言之,一切似乎都没问题。
显然,当这些推送完成后,没有触发上瘾请求,但这是预期的。
我的问题是:何时,以及基于什么,dataLayer“队列”数据被发送?
几天后,Google Analytics面板中没有报告任何事件数据。该Google Analytics标记基于Google跟踪代码管理器中的“所有网页”触发规则,以及具有高级电子商务功能和dataLayer选项的“电子商务元素”都是活动的。

为了使这些事件被收集,我应该设置其他任何标签管理器的选项或规则吗? ?这些事件是否应该先在Tag Manager的控制台中“注册”?

为长期而感谢道歉并非常感谢。

更新

我设法收集了这些事件数据,但我遇到了发送事件“标签”的问题。
我的意思是即使在Universal Analytics实时面板中也会定期记录事件,但是“ undefined “。

检查分析的请求显示”ec“和”ea“参数的”未定义“值,包括电子商务对象”addToCart / removeFromCart“dataLayer.push,以及通用onclick“eventTest”一个。

这些可能有什么问题?
非常感谢。

2 个答案:

答案 0 :(得分:2)

GTM如何观察dataLayer is answered here

Google Analytics代码模板会在页面加载时自动评估ecommcerce数据,因此会记录您的交易。

对于按钮中的自定义事件,您需要创建触发器,键入“event”,条件“event equals eventTest”,然后创建为事件跟踪配置的Google Analytics标记。

谷歌在两个产品中使用相同的术语来完全不同的东西时,谷歌真的搞砸了。

GTM事件不会跟踪Google Analytics中的任何内容,它是GTM中的“保留”变量名称,必须存在并填充到fire标记中。在页面加载,DOM就绪,点击并提交由GTM自动填充。

但GTM事件不会跟踪Google Analytics的任何内容。为此,您需要创建一个单独的Google事件跟踪代码,该代码又由GTM事件触发(为了完成混淆,可能会由javascript事件触发)。

答案 1 :(得分:2)

在这种情况下,您应向Google Analytics发送一次点击以发送增强型电子商务数据,并发送其他点击以发送Google Analytics事件数据。

这意味着您应该在您的网页上触发3个Google Analytics代码:一个用于网页浏览跟踪(网页浏览类型),其中包含“所有网页”触发器,一个用于增强电子商务跟踪(事件类型),其中包含“事件等于结帐”触发器和一个事件跟踪(事件类型)与“事件等于eventTest”触发器。