Adobe Analytics中将上级页面设置为eVars/prop

Adobe Analytics Haran 3年前 (2022-01-18) 1135次浏览 0个评论
文章目录[隐藏]

在设计Adobe Analytics的布署方案中,有时候为了便于分析,会将上一个页面设置为一个eVar或props。在Adobe Launch有提供内置的方式可以获取上一个页面。

插件:getPreviousValue

Adobe Consulting 团队提供了插件getPreviousValue,插件允许您将一个变量设置为在上一次点击时设置的值。

首先是是安装这个插件,插件的代码如下:

/* Adobe Consulting Plugin: getPreviousValue v3.0 */function getPreviousValue(v,c){var k=v,d=c;if("-v"===k)return{plugin:"getPreviousValue",version:"3.0"};var a=function(){if("undefined"!==typeof window.s_c_il)for(var c=0,b;c<window.s_c_il.length;c++)if(b=window.s_c_il[c],b._c&&"s_c"===b._c)return b}();"undefined"!==typeof a&&(a.contextData.getPreviousValue="3.0");window.cookieWrite=window.cookieWrite||function(c,b,f){if("string"===typeof c){var h=window.location.hostname,a=window.location.hostname.split(".").length-1;if(h&&!/^[0-9.]+$/.test(h)){a=2<a?a:2;var e=h.lastIndexOf(".");if(0<=e){for(;0<=e&&1<a;)e=h.lastIndexOf(".",e-1),a--;e=0<e?h.substring(e):h}}g=e;b="undefined"!==typeof b?""+b:"";if(f||""===b)if(""===b&&(f=-60),"number"===typeof f){var d=new Date;d.setTime(d.getTime()+6E4*f)}else d=f;return c&&(document.cookie=encodeURIComponent(c)+"="+encodeURIComponent(b)+"; path=/;"+(f?" expires="+d.toUTCString()+";":"")+(g?" domain="+g+";":""),"undefined"!==typeof cookieRead)?cookieRead(c)===b:!1}};window.cookieRead=window.cookieRead||function(c){if("string"===typeof c)c=encodeURIComponent(c);else return"";var b=" "+document.cookie,a=b.indexOf(" "+c+"="),d=0>a?a:b.indexOf(";",a);return(c=0>a?"":decodeURIComponent(b.substring(a+2+c.length,0>d?b.length:d)))?c:""};var l;d=d||"s_gpv";a=new Date;a.setTime(a.getTime()+18E5);window.cookieRead(d)&&(l=window.cookieRead(d));k?window.cookieWrite(d,k,a):window.cookieWrite(d,l,a);return l};/******************************************** END CODE TO DEPLOY ********************************************/

可以用自定义代码编辑器安装,也可以AppMeasurement 安装,或是Adobe Analytics的Extensions里安装,方式有多样的。

安装后就可以使用这个插件了,这个插件的用法的是

getPreviousValue(v,c)
  • v(字符串,必需):具有要传递给下一个图像请求的值的变量。用于检索上一页值的常用变量为 s.pageName
  • c(字符串,可选):用于存储值的 Cookie 的名称。如果未设置此参数,则将默认使用 "s_gpv"

调用此函数时,将返回 Cookie 中包含的字符串值。然后,此插件会重置 Cookie 过期时间,并为其分配 v 参数中的变量值。该 Cookie 将在处于非活动状态 30 分钟后过期。

它的作用就是当执行的时候,V是当前页面,C是存储在cookie的是上一级页面,它会获取cookie里的值,也即是Previous  Page,然后将当前页面V更新到cookie里。

现在我访问页面A-B-C,然后将previous page设置为prop1,看看它们在不同页面的时候的赋值是怎样的

  • 访问页面A:getPreviousValue(v,c)  ,v是A,c为空,Cookie里为A
  • 访问页面B:getPreviousValue(v,c)  ,Cookie里为A,v是B,c为A,cookie为B
  • 访问页面C:getPreviousValue(v,c)  ,cookie里为B,v是C,c为B,cookie里为C

 

如果在访问的过程中涉及到事件,那么就不一样,假设用户在访问B之前触发了事件E,发送的Server call的顺序就是A-E-B-C

  • 访问页面A:getPreviousValue(v,c)  ,v是A,c为空,Cookie里为A
  • 访问页面B:getPreviousValue(v,c)  ,Cookie里为E,v是B,c为E,cookie里为B
  • 访问页面C:getPreviousValue(v,c)  ,cookie里为B,v是C,c为B,cookie里为C

访问页面B的时候,它的Previous  Page是E里面,也就是事件里面的页面,看事件在哪个页面触发,如果在A页面触发,那么这时候的E就是A,如果是在B触发,那么E就是B。

 

 

Cookie

将页面写到Cookie,如访问Page A的时候,将Page A写入到cookie,当访问Page B的时候,从Cookie里获取Page A设置eVars/prop,然后同时将Page B写入到Cookie里。

 

 


如有疑问,可以在文章底部留言或邮件(haran.huang@ichdata.com) 我~
喜欢 (5)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址