我们正在JavaScript中使用Google Analytics(分析)gtag,但记录的数据存在问题。
我们在每个页面上引用的.js文件中都有一个跟踪代码。然后,我们在页面的“加载”中调用它。
问题是,如果从一个URL转到具有不同相对站点URL的另一个URL,则会在“自定义维度”字段中记录错误的URL。
例如,
URL:https://example.com/sites/mysite1
然后单击指向另一个站点的链接:
URL:https://example.com/sites/anothersite
如果我调试它并放置一个断点,则SiteCollectionURL的正确值为 https://example.com/sites/anothersite 。即使使用Dev Tools-> Network,它也会在cd1参数下的“ https://www.google-analytics.com/collect”调用中传递正确的URL。
下面是代码:
function LogGoogleAnalytics(userId) {
//Format 'UA-{Number}-1'
var trackingId = 'UA-XXXXXXXXX-1';
var gaTagScript = document.createElement("script");
gaTagScript.type = "text/javascript";
gaTagScript.src = 'https://www.googletagmanager.com/gtag/js?id=' + trackingId;
gaTagScript.async = true;
document.head.appendChild(gaTagScript);
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', trackingId, {
'custom_map': {
'dimension1': 'SiteCollectionURL',
'dimension2': 'UserID'
}
});
var siteUrl = getSiteCollectionURL();
gtag('event', 'pageview_sitecollectionurl', { 'SiteCollectionURL': siteUrl, 'UserID': userId });
}
function LoadGoogleAnalytics() {
//Do Some Stuff
//Then Call
LogGoogleAnalytics(gaUserID);
}
window.addEventListener ?
window.addEventListener("load",LoadGoogleAnalytics,false) :
window.attachEvent && window.attachEvent("onload",LoadGoogleAnalytics);
我在这里错过了什么吗? gtag是否使用了缓存,以便在重定向到另一个页面时传递“相同”的值?