Adobe 插件:getTimeSinceLastVisit
getTimeSinceLastVisit
插件允许您跟踪访客在距上次访问后多久再次访问您的网站。
使用Web SDK扩展安装此插件
Adobe提供了一个扩展,通过该扩展,您可以将最常用的插件与Web SDK结合使用。
-
使用您的 Adobe ID 凭据登录 Adobe Experience Platform 数据收集。
-
单击左侧的 标记,然后单击所需的标记属性。
-
单击左侧的 扩展,然后单击 目录 选项卡
-
找到并安装 常用Web SDK插件 扩展。
-
单击左侧的 数据元素,然后单击所需的数据元素。
-
使用以下配置设置所需的数据元素名称:
- 扩展:常用Web SDK插件
- 数据元素:
getTimeSinceLastVisit
-
保存并发布对数据元素所做的更改。
安装插件以手动实施Web SDK
尚不支持在手动实施Web SDK时使用此插件。
使用Adobe Analytics扩展安装此插件
Adobe提供了一个扩展,通过该扩展,您可以将最常用的插件与Adobe Analytics结合使用。
-
使用您的 Adobe ID 凭据登录 Adobe Experience Platform 数据收集。
-
单击所需的标记属性。
-
转到扩展选项卡,然后单击目录按钮
-
安装并发布常用 Analytics 插件扩展
-
如果还没有任何扩展,请使用以下配置创建一个标签为“初始化插件”的规则:
- 条件:无
- 事件:核心 - 已加载的库(页面顶部)
-
使用以下配置向上述规则添加操作:
- 扩展:常用 Analytics 插件
- 操作类型:初始化 getTimeSinceLastVisit
-
保存并发布对上述规则所做的更改。
使用自定义代码编辑器安装此插件
如果您不想使用“常用Analytics插件”插件扩展,则可以使用自定义代码编辑器。
- 使用您的 Adobe ID 凭据登录 Adobe Experience Platform 数据收集。
- 单击所需的属性。
- 转到扩展选项卡,然后单击 Adobe Analytics 扩展下的 配置 按钮。
- 展开使用自定义代码配置跟踪折叠面板,这会显示打开编辑器按钮。
- 打开自定义代码编辑器,并将下面提供的插件代码粘贴到编辑窗口中。
- 保存并发布对此 Analytics 扩展所做的更改。
使用 AppMeasurement 安装此插件
在实例化(使用 s_gi
)Analytics 跟踪对象后,将以下代码复制并粘贴到 AppMeasurement 文件中的任意位置。在您的实施中保留代码的注释和版本号可帮助 Adobe 对任何潜在问题进行疑难解答。
/******************************************* BEGIN CODE TO DEPLOY *******************************************/
/* Adobe Consulting Plugin: getTimeSinceLastVisit v2.0 */
function getTimeSinceLastVisit(){if(arguments&&"-v"===arguments[0])return{plugin:"getTimeSinceLastVisit",version:"2.0"};var h=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 h&&(h.contextData.getTimeSinceLastVisit="2.0");window.formatTime=window.formatTime||function(c,b,d){function f(b,d,c,e){if("string"!==typeof d)return!1;if("string"===typeof b)b=b.split(c||",");else if("object"!==typeof b)return!1;c=0;for(a=b.length;c<a;c++)if(1==e&&d===b[c]||d.toLowerCase()===b[c].toLowerCase())return!0;return!1}if(!("undefined"===typeof c||isNaN(c)||0>Number(c))){var e="";"string"===typeof b&&"d"===b||("string"!==typeof b||!f("h,m,s",b))&&86400<=c?(b=86400,e="days",d=isNaN(d)?1:b/(d*b)):"string"===typeof b&&"h"===b||("string"!==typeof b||!f("m,s",b))&&3600<=c?(b=3600,e="hours",d=isNaN(d)?4:b/(d*b)):"string"===typeof b&&"m"===b||("string"!==typeof b||!f("s",b))&&60<=c?(b=60,e="minutes",d=isNaN(d)?2:b/(d*b)):(b=1,e="seconds",d=isNaN(d)?.2:b/d);e=Math.round(c*d/b)/d+" "+e;0===e.indexOf("1 ")&&(e=e.substring(0,e.length-1));return e}};window.cookieWrite=window.cookieWrite||function(c,b,d){if("string"===typeof c){var f=window.location.hostname,e=window.location.hostname.split(".").length-1;if(f&&!/^[0-9.]+$/.test(f)){e=2<e?e:2;var k=f.lastIndexOf(".");if(0<=k){for(;0<=k&&1<e;)k=f.lastIndexOf(".",k-1),e--;k=0<k?f.substring(k):f}}g=k;b="undefined"!==typeof b?""+b:"";if(d||""===b)if(""===b&&(d=-60),"number"===typeof d){var h=new Date;h.setTime(h.getTime()+6E4*d)}else h=d;return c&&(document.cookie=encodeURIComponent(c)+"="+encodeURIComponent(b)+"; path=/;"+(d?" expires="+h.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,d=b.indexOf(" "+c+"="),f=0>d?d:b.indexOf(";",d);return(c=0>d?"":decodeURIComponent(b.substring(d+2+c.length,0>f?b.length:f)))?c:""};h=new Date;var m=h.getTime(),n=cookieRead("s_tslv")||0,l=Math.round((m-n)/1E3);h.setTime(m+63072E6);cookieWrite("s_tslv",m,h);return n?1800<l||cookieRead("s_inv")?(cookieRead("s_inv")&&(l=cookieRead("s_inv")),cookieWrite("s_inv",l,30),"0"!==l?formatTime(l):"New Visitor"):"":(cookieWrite("s_inv","0",30),"New Visitor")};
/******************************************** END CODE TO DEPLOY ********************************************/
使用此插件
getTimeSinceLastVisit
函数不使用任何参数。此方法将返回距访客上次访问网站的间隔时间,并按以下列格式存储该时间:
- 若距上次访问的间隔时间介于 30 分钟和 1 小时之间,则会以“0.5 分钟”为基准将间隔时间四舍五入到最接近的值。例如
"30.5 minutes"
、"53 minutes"
- 若距上次访问的间隔时间介于 1 小时和 1 天之间,则会以“0.25 小时”为基准将间隔时间四舍五入到最接近的值。例如
"2.25 hours"
、"7.5 hours"
- 若距上次访问的间隔时间大于 1 天,则会以“1 天”为基准将间隔时间四舍五入到最接近的值。例如
"1 day"
、"3 days"
、"9 days"
、"372 days"
- 如果访客之前未访问过,或间隔时间超过两年,则会将该值设为
"New Visitor"
。
此插件会创建一个名为 "s_tslv"
的第一方 Cookie,并将其设置为当前时间的 Unix 时间戳。Cookie 将在处于非活动状态两年后过期。
示例
// Given a visitor's first visit to the site
// Sets prop1 to "New Visitor"
s.prop1 = getTimeSinceLastVisit();
// 35 minutes later, the same visitor returns
// Sets prop1 to "35 minutes"
s.prop1 = getTimeSinceLastVisit();
// 4 days later, the same visitor returns
// Sets prop1 to "4 days"
s.prop1 = getTimeSinceLastVisit();
版本历史记录
2.0(2021 年 3 月 19 日)
- 以上下文数据形式添加了版本号。
1.0(2018 年 4 月 16 日)
- 修正版本(重新编译了代码,代码更小)。
- 从
getDaysSinceLastVisit
插件派生的代码(现已被弃用并重命名)。 - 现在对返回值使用
formatTime
和inList
插件。