使用跨域Cookie的Google Analytics URL百分比编码问题

时间:2014-04-18 20:51:36

标签: regex filter google-analytics cross-domain google-tag-manager

Google Analytics不了解网址百分比编码,因此我可以跟踪我的"来源"域名和我的目的地"域。我正在使用Google跟踪代码管理器+新的通用分析。

我可以创建google标记管理器中的宏或规则,以帮助Google Analytics将这两个网址百分比编码检测为%2526 &%253d =适当的?如果是这样,我遇到过这个问题是否有任何支持?

以下是一个示例网址(不是真实的):

http://subdomain.example.com/adfs/ls/?wa=wsignin1.0&wtrealm=https%3a%2f%2fsub.domain.com%2fwebsite%2f&wctx=rm%3d0%26id%3dpassive%26ru%3d%252fwebsite%252fsite%252fexample%252f%253fstuff%253dtypeofuser%2526_ga%253d1.244536837.1471787898.1397850931&wct=2014-04-18T20%3a14%3a54Z

正如您所看到的,URL的尾端附近包含我的_ga Cookie,该Cookie来自我的"来源"域名,并传递给我的"目的地"域。这是一件好事,但GA无法读取它,因为下面显示了URL百分比编码:

%2526_ga%253d1.244536837.1471787898.1397850931

%2526&

的网址编码

%253d=

的网址编码

由于Google Analytics(分析)无法翻译网址百分比编码%2526%253d,因此当我使用firebug>进行调试时,当我查看我的Cookie时,它会写入一个全新的Cookie。饼干标签。

1 个答案:

答案 0 :(得分:0)

我发现解决此问题的解决方案是在页面加载时将cookie再次附加到URL,以便谷歌分析可以读取cookie。

.match的正则表达式可以使用您需要过滤的网址进行自定义。

var gacookie = window.location.search.match('_ga%253d(.+)&wct=');
var url = window.location.href;

if (url.indexOf('_ga') > -1) {
        url += '&_ga=' + gacookie[1]
        parent.location.hash = url
        var hash = location.hash.replace('#', gacookie[1]); 
        if(hash != '') {
        location.hash = '&_ga=' + gacookie[1];
    }
}