当我们加载带有视频播放器的 iframe 时,我们遇到了一些问题,该播放器将播放事件发送到加载在该 iframe 中(在另一个域上)的 Google Universal Analytics (analytics.js)。 GA 跟踪器未加载到 iOS 设备上,因此,不会向 GA 发送任何事件跟踪。
在 Android 和其他设备(包括台式机)上它工作得很好,但在 iOS 上就不行了,除非我更改了 iOS Safari 上默认的第三方 cookie 设置。
我使用 Google Analytics ( https://github.com/Foture/cookieless-google-analytics ) 的无 cookie 方法进行了测试,这样 iOS 设备就能够正确地将跟踪事件发送到 GA。但是,我只想在常规 GA 方法不起作用时使用该方法作为后备,因为通过指纹方法创建的 UserId 在移动设备上不是很独特。
所以我需要一种方法来检测常规 GA 方法何时能够跟踪事件,如果不能,要么是因为没有加载跟踪器,要么是禁用了 cookie,然后使用无 cookie 方法来加载 GA 并跟踪事件。
谢谢!
最佳答案
您应该使用检查 JavaScript window.ga && ga.loaded
使用 ga() 方法跟踪事件之前的变量:
if(window.ga && ga.loaded) { {
// if yes, rely on GA to follow link
ga('send', 'event', 'outbound', 'click', url, {
'transport': 'beacon',
'hitCallback': function(){document.location = url;}
});
} else {
// if not, follow link ourselves
document.location = url;
}
更多关于 https://hacks.mozilla.org/2016/01/google-analytics-privacy-and-event-tracking/
关于iframe - 如何检测 Google Analytics 是否已加载并能够跟踪自定义事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29948923/