s_sess cookie不存储查询字符串参数cid中的值

时间:2017-04-11 07:06:44

标签: session-cookies aem adobe-analytics web-analytics

有没有人有关于s_sess cookie的任何信息。我能找到的只是它是一个性能cookie。

这里的问题是:我的客户端有2个网站,其中一个是在s_sess cookie中存储查询字符串参数“cid”的值而另一个网站没有。它们都具有相同的adobe分析代码,并且这两个站点都使用第三方cookie。

1 个答案:

答案 0 :(得分:4)

Adob​​e的许多插件都使用了s.c_r()s.c_w()(传统H代码)或s.Util.cookieRead()s.Util.cookieWrite()(AppMeasurement)函数,这些函数用于读/写饼干,分别。开箱即用,您指定一个cookie名称,并写入该cookie名称空间。

但是,Adobe也有一个“组合”的cookie插件。使用此插件,所有使用上述功能的cookie读/写都会被写入两个cookie中的一个:

  • s_sess - 此Cookie适用于 sess 离子范围“cookies”
  • s_pers - 此Cookie适用于 pers 比会话更长的“Cookie”

例如,让我们在下一页说:

http://www.yoursite.com/index.html?cid=some_code

在您的AA代码中,您有以下内容:

// look for cid= param to put into campaign variable
s.campaign = s.Util.getQueryParam('cid');
// use getValOnce plugin to make sure duplicate values do not pop it again
s.campaign = s.getValOnce(s.campaign, 'cid', 0);

如果没有组合的Cookie功能,您会在document.cookies中看到一个名为“cid”的Cookie,其值“some_code”设置为在Session上过期。

但是使用组合的cookie功能,您将看不到名为“cid”的cookie。相反,您将看到一个名为“s_sess”的cookie,其值如下:

// encoded
%20cid=some_code%3B
// unencoded
 cid=some_code;

或者,如果您使用的插件使用s.c_ws.Util.cookieWrite的时间超过了会话,您会看到s_pers Cookie以相同的方式填充,但带有时间戳投入到混合中的价值,例如

// encoded
%20cid=some_code%7C1519759520136%3B
// unencoded
 cid=some_code|1519759520136;

多个“cookies”由(未编码)“;”(类似于document.cookie

分隔

但为什么我在一个网站上看到它而不是另一个网站?

假设您的实现实际上是相同的,我根据您发布的内容与常见实现的猜测,您的代码与上面的示例类似:您抓取cid = param进行广告系列跟踪并使用getValOnce或一些其他插件将值推送到cookie,然后您使用广告系列代码(cid = param)访问了siteA页面,但没有访问siteB。