2013-01-23 15 views
0

我们想跟踪与iframe中的内容谷歌分析用户操作。内联框架托管在不同的第三级域上。出于某种原因,我的设置不起作用。谷歌分析,如何_setDomainName工作iframe出现?我们的网站

情况: 在iframe中我想使用两个谷歌跟踪器:一个来自父站点,另一个来自iframe。我也想使用事件和VPV。当浏览网页可以GA帐户的“实时概要”部分中可以看出。但是我没有看到附加到提交按钮点击的VPV。

我也真的不明白功能“_setDomainName”是如何工作的,并应该有什么。这些是单独的问题,任何帮助将不胜感激。

的设置: 在父网站:

<script type="text/javascript"> 

    var _gaq = _gaq || []; 
    _gaq.push(['_setAccount', 'UA-XXXXXX-1']); 
    _gaq.push(['_setAllowLinker', true]); 
    _gaq.push(['_setDomainName', 'parent.com']); 
    _gaq.push(['_trackPageview']); 

    (function() { 
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; 
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; 
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); 
    })(); 

$(document).ready(function() { 
    var pageTracker = _gat._getTrackerByName(); 
    var iframe = document.getElementById('myIFrame'); 
    iframe.src = pageTracker._getLinkerUrl('http://mydomain.iframedomain.net/page.aspx'); 
}); 

</script> 

iframe广告页面:

<script type="text/javascript"> 

      var _gaq = _gaq || []; 
      _gaq.push(['a._setAccount', 'UA-XXXXXX-1']); 
      _gaq.push(['a._setDomainName', 'parent.com']); 
      _gaq.push(['a._setAllowLinker', true]); 
      _gaq.push(['a._trackPageview']); 

      /* this is second tracking account */ 
      _gaq.push(['b._setAccount', 'UA-XXXXXX-2']); 
      _gaq.push(['b._setDomainName', 'iframedomain.net']); 
      _gaq.push(['b._trackPageview']); 

      (function() { 
       var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; 
       ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; 
       var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); 
      })(); 

     </script> 

然后在一个按钮单击事件我调用这个函数:

   function track() { 
       _gaq.push(['_trackPageview', '/search-retailer-clicked']); 
       _gaq.push(['_trackEvent', 'Search - Event', 'Click - Event', 'Search Retailer Button clicked']); 
      } 

什么时我做错了?

回答

0

您已经在iframe中命名了两个跟踪器(a._setAccount & b._setAccount),但在按钮单击事件中,您使用的是默认的未命名跟踪器。

的结果是,虚拟页面视图和事件越来越送至已没有帐户设置一个跟踪器。如果您查看跟踪像素请求(通过ga_debug.js,firebug,chrome developer toolsfiddler),他们将显示UA-XXXXX-X accountId。

你可能想要更多的东西一样:

function track() { 
    _gaq.push(['a._trackPageview', '/search-retailer-clicked']); 
    _gaq.push(['a._trackEvent', 'Search - Event', 'Click - Event', 'Search Retailer Button clicked']); 
    _gaq.push(['b._trackPageview', '/search-retailer-clicked']); 
    _gaq.push(['b._trackEvent', 'Search - Event', 'Click - Event', 'Search Retailer Button clicked']); 
}