用于Google Analytics跟踪的setTimeout

时间:2013-08-11 15:00:50

标签: javascript google-analytics settimeout google-tag-manager

发布后添加。当访问者点击网站上的退出链接并且该分析工具(在本例中为Google Analytics)中标记该退出链接时,有时在浏览器访问新网站时,事件数据不会及时传递到分析工具。常见的解决方案是为链接添加延迟,以便分析工具有时间获取数据。自从我在下面问我的问题后,我试验了添加多少延迟。最初我被告知5毫秒。最后我不得不上升到500毫秒

我已在 Google跟踪代码管理器中设置了一些自定义html,以便跟踪事件。

我使用的原始代码在这里:

    <script type="text/javascript"> 


$(document).ready(function(){ 

    $('.app-cta a').click(function(){ 
        dataLayer.push({ 'event':'GAevent', 'eventCategory':'App', 'eventAction':'Click to App Store', 'eventLabel':'iOS' }) 
    }); 

});

</script>

未能在Google分析中捕获事件类别,操作和标签。然而,我在Httpfox中选择了这些。一位同事建议添加5 millisecond delay。我不确定逻辑,但被告知这是解决我问题的常用方法。

使用谷歌和W3学校我想我已经想出如何添加5毫秒延迟:

    <script type="text/javascript"> 

setTimeout(function(){
$(document).ready(function(){ 

    $('.app-cta a').click(function(){ 
        dataLayer.push({ 'event':'GAevent', 'eventCategory':'App', 'eventAction':'Click to App Store', 'eventLabel':'iOS' }) 
    }); 

});
},5);

</script>

这似乎没有奏效。谷歌分析没有拿起事件数据,但Httpfox仍然是。由于我没有Javascript经验,我想知道第二个代码块是否正确 - 我是否正确添加了setTimeout方法?

1 个答案:

答案 0 :(得分:1)

在我看来,您混淆了Google Analytics事件跟踪和Google跟踪代码管理器事件。 要跟踪GA事件与GTM事件相比,您应该:

  1. 在GTM中创建HTML标记,如下所示:

    <script type="text/javascript">
    _trackEvent('event':'GAevent', 'eventCategory':'App', 
                'eventAction':'Click to App Store', 'eventLabel':'iOS' });
    </script>
    
  2. 为此标记创建规则"{{event}} contains GAevent_track"
  3. 保存标记并将其显示在要跟踪链接的页面上。发布新版本
  4. 制作您想要跟踪的链接:<a href="#" name="button_event" onclick="dataLayer.push({'event': 'GAevent'});" Event tracking</a>