首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用跟踪托管在另一个域上的iframed页面

使用跟踪托管在另一个域上的iframed页面
EN

Webmasters Stack Exchange用户
提问于 2011-08-10 21:06:30
回答 1查看 2.8K关注 0票数 5

我已经按照谷歌的说明,在另一个领域(http://code.google.com/apis/analytics/docs/tracking/gaTrackingSite.html#trackingIFrames)跟踪iframed内容,但仍然没有数据显示在分析的iframed页面。

父页面(http://www.blackangus.com/primeclub/):

代码语言:javascript
复制
<script type="text/javascript">
    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-xxxxxxx-xx']);
    _gaq.push(['_setDomainName', 'blackangus.com']);
    _gaq.push(['_setAllowLinker', true]); 
    _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);
    })();


    var iframeLink = "http://www.fishbowl.com/clt/blckangus/lp/join/joinform.asp";
    jQuery(function() {
        _gaq.push(function() {
            var pageTracker = _gat._getTrackerByName();
            iframeLink = pageTracker._getLinkerUrl(iframeLink);
            jQuery("#joinform").attr("src", iframeLink);
        });
    });
</script>

和iframed页面(http://www.fishbowl.com/clt/blckangus/lp/join/joinform.asp):

代码语言:javascript
复制
<script type="text/javascript">
    var _gaq = _gaq || []; 
    _gaq.push(['_setAccount', 'UA-xxxxxx-xx']); 
    _gaq.push(['_setDomainName', 'blackangus.com']); 
    _gaq.push(['_setAllowHash', 'false']); 
    _gaq.push(['_setAllowLinker', true]); 
    _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); 
    })(); 
</script> 

我做错了什么?为什么iframed页面不会出现在“分析”中?

EN

回答 1

Webmasters Stack Exchange用户

回答已采纳

发布于 2011-08-17 13:18:34

很有意思。您的脚本似乎做了三件事:

  1. 将GA片段添加到非iframe页面并执行pagetracker。
  2. 在gaq.push上添加一些看起来可疑的代码插入
  3. 将GA片段添加到iframe页面并执行pagetracker

从本质上讲,非iframe所需要的是:

代码语言:javascript
复制
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XYZXYZ-XY']);
_gaq.push(['_setDomainName', 'blackangus.com']);
_gaq.push(['_setAllowHash', 'false']);
_gaq.push(['_setAllowLinker', true]);
_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);
})();

与您的iframe页面完全相同(因为它不在blackangus.com):

代码语言:javascript
复制
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XYZXYZ-XY']);
_gaq.push(['_setDomainName', 'blackangus.com']);
_gaq.push(['_setAllowHash', 'false']);
_gaq.push(['_setAllowLinker', true]);
_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);
})();

但是,这将在您的GA设置中计算为两个页面视图,因为iframe也将触发一个页面查看。您需要设置一个筛选器,它可以过滤掉双页面视图。

是的,您需要等待几个小时,直到第一个结果显示出来。通常在24小时左右。

票数 2
EN
页面原文内容由Webmasters Stack Exchange提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://webmasters.stackexchange.com/questions/18047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档