我将Google Analytics与子域和iframe结合使用。 sub.mydomain.com上的登录页面包含一个iframe,其中包含www.mydomain.com上的注册表单。
用户点击横幅sub.mydomain.com/landing?utm_source=so1&utm_medium=dis&utm_campaign=xe1&utm_content=re1
在着陆页上,使用此javascript代码的注册表单和thankyou页面
var pageTracker = _gat._getTracker("UA-xxxxxx");
pageTracker._setDomainName(".mydomain.com");
pageTracker._setAllowHash(false);
pageTracker._setAllowLinker(true);
pageTracker._trackPageview();
在着陆页上以下列方式加载iframe
var iframe = document.getElementById('register_iframe');
iframe.src = pageTracker._getLinkerUrl('http://www.mydomain.com/register.html');
sub.mydomain.com上的cookies和www.mydomain.com上的注册iframe都包含_utmz,其中包含utmcsr = so1 | utmccn = xe1 | utmcmd = dis | utmcct = re1
在iframe中提交ajax表单后,对于thankyou页面的请求和一些新的javascript文件仍会传输正确的set __utmz cookie
来自感谢页面上的2.的javascript然后请求__utm.gif,但现在转移.utmcsr =(直接)| utmccn =(直接)| utmcmd =(无)和.mydomain上的cookie .com设置为.utmcsr =(直接)| utmccn =(直接)| utmcmd =(无)
据我所知,ga代码不应该使用direct或其他内容覆盖直接设置源。
感谢您的帮助
答案 0 :(得分:1)
如果按照上述方式实施Google Analytics跨域iframe跟踪,则应该可以使用。
我改变了两件事
我忘了在iframe跟踪器中设置代码pageTracker._setAllowLinker(true);
我在着陆页上使用过,该页面托管在子域pageTracker._setDomainName(“sub.mydomain.com”)上; 我将其更改为与iframe中的主页面相同的pageTracker._setDomainName(“。mydomain.com”);
由于我理解了不必要的文档,所以不知道这是否有效。