首页 > 解决方案 > 自定义 cookie 不通过导航持久化

问题描述

我设置了一个 cookie,将流量引用者作为值。cookie 应该仅在访问来自引用者时才创建,并且在会话中保持不变(在 1 小时后过期)。

但是,cookie 在每次新的页面查看时都会发生变化。

  1. 来自 Google 的传入流量> cookie 值 = "google.com"
  2. 站点上的新页面视图> cookie 值 = "my-site.com"

创建的 cookie 不应该一直 持续到到期时间吗?

这是创建 cookie 的代码

document.cookie = "Referrer="+{{Referrer Domain}}+"; max-age=86400; path=/"

如果页面引用者与“my-site.com”不同,则会触发它。

笔记:

使用Chrome 控制台> 应用程序,我注意到所有 cookie 都设置在域“ my-site.com ”上,而我创建的 cookie 设置在域“ www.my-site.com ”上。因此,我猜想通过在根域上设置 cookie 域,它将正确地持续存在....

如何精确设置 cookie 的域?

标签: javascriptcookiesgoogle-tag-managerevent-tracking

解决方案


我通过手动添加cookie 域解决了这个问题:

document.cookie = "Referrer="+{{Referrer Domain}}+"; max-age=86400; path=/; domain=my-site.com"

此外,cookie 在每次页面浏览时都会重置……所以我添加了一个标签来检查 cookie 是否已经存在:

document.cookie.includes("Referrer")

如果它返回“ false ”,则创建 cookie。


推荐阅读