我需要读取 Google 跟踪代码管理器设置的 cookie。
现在,如果最终用户第一次加载 Google 跟踪代码管理器,我将无法读取 Cookie(因为它会稍后发生,但不会立即发生)。
有没有一个好的方法(回调?)可以帮助我在设置cookie后读取它们?仅当用户首次访问页面时,此问题才相关。
最佳答案
根据问题下方评论中的讨论,我建议采用以下解决方案(假设您还向 Google Analytics(分析)发送综合浏览量)。示例基于Simo Ahava的(优秀)博客。
(请注意,我还没有机会彻底测试它,因为我目前无法为此设置创建完整的测试用例 - 可能会出现一些问题)
1。创建一个变量来读取 _ga cookie
Reference: https://www.simoahava.com/analytics/macro-magic-google-tag-manager/#1-client-time
这将返回指定名称的 cookie 值(在使用读取值时要小心,因为 cookie 总是有可能被用户的浏览器策略拒绝)。
创建一个新变量,其中:
GA Cookie
的变量名称_ga
的Cookie 名称
(来源:simoahava.com)
2。定义一个callBackFunction
Reference: https://www.simoahava.com/analytics/macro-magic-google-tag-manager/#8-hitcallback-with-a-universal-analytics-tag & https://www.simoahava.com/analytics/macro-magic-google-tag-manager/#6-get-clientid-using-_ga-cookie
此回调函数将在发送Pageview后立即执行(即设置_ga
cookie后)。
使用以下代码创建自定义 JavaScript 宏:
function () {
return function () {
// Code to be executed in order to read the cookie:
try {
var gaCookie = {{GA Cookie}};
// Do what you need to with the cookie here:
// ...
return gaCookie;
} catch (e) {
console.log('No Universal Analytics cookie found.');
return 'N/A';
}
}
}
3。发送页面 View 后定义一个hitCallback
这将在发送页面 View 后立即执行您刚刚定义的回调函数。
在浏览量代码的要设置的字段选项中,设置:
- 字段名称到
hitCallback
- 值至
{{callBackFunction}}
希望它能帮助您前进。
关于javascript - Google 跟踪代码管理器 - 设置后立即读取 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29647888/