此插件由 Adobe Consulting 团队提供,旨在帮助您从 Adobe Analytics 中获取更多的价值。Adobe 客户关怀团队不提供对此插件的支持,包括安装或疑难解答。如果您需要关于此插件的帮助,请与贵组织的帐户管理员联系。他们可以为您安排与顾问的答疑会,以便您向顾问寻求帮助。
getVisitNum
插件可返回在所需天数内访问网站的所有访客所产生的访问数量。Analysis Workspace 提供了一个具有类似功能的维度,即“访问数量”维度。如果您希望提高对访问量递增方式的控制,Adobe 建议您使用此插件。如果 Analysis Workspace 中内置的“访问数量”维度足以满足您的报告需求,则无需使用此插件。
Adobe 提供了一个扩展,通过该扩展,您可以使用一些最常用的插件。
如果您不想使用插件扩展,则可以使用自定义代码编辑器。
在实例化(使用 s_gi
)Analytics 跟踪对象后,将以下代码复制并粘贴到 AppMeasurement 文件中的任意位置。在您的实施中保留代码的注释和版本号可帮助 Adobe 对任何潜在问题进行疑难解答。
/******************************************* BEGIN CODE TO DEPLOY *******************************************/
/* Adobe Consulting Plugin: getVisitNum v4.11 (Requires endOfDatePeriod plug-in) */
s.getVisitNum=function(rp,erp){var s=this,c=function(rp){return isNaN(rp)?!1:(parseFloat(rp)|0)===parseFloat(rp)};rp=rp?rp:365;erp= "undefined"!==typeof erp?!!erp:c(rp)?!0:!1;var e=(new Date).getTime(),b=endOfDatePeriod(rp);if(s.c_r("s_vnc"+rp))var g=s.c_r("s_vnc"+rp).split("&vn="),d=g[1];if(s.c_r("s_ivc"))return d?(b.setTime(e+18E5),s.c_w("s_ivc",!0,b),d):"unknown visit number";if("undefined"!==typeof d)return d++,c=erp&&c(rp)?e+864E5*rp:g[0],b.setTime(c),s.c_w("s_vnc"+rp,c+"&vn="+d,b),b.setTime(e+ 18E5),s.c_w("s_ivc",!0,b),d;c=c(rp)?e+864E5*rp:endOfDatePeriod(rp).getTime();s.c_w("s_vnc"+rp,c+"&vn=1",b);b.setTime(e+18E5); s.c_w("s_ivc",!0,b);return"1"};
/* Adobe Consulting Plugin: endOfDatePeriod v1.1 */
var endOfDatePeriod=function(dp){var a=new Date,b=isNaN(dp)?0:Math.floor(dp);a.setHours(23);a.setMinutes(59);a.setSeconds(59); "w"===dp&&(b=6-a.getDay());if("m"===dp){b=a.getMonth()+1;var d=a.getFullYear();b=(new Date(d?d:1970,b?b:1,0)).getDate()-a.getDate()}a.setDate(a.getDate()+b);"y"===dp&&(a.setMonth(11),a.setDate(31));return a};
/******************************************** END CODE TO DEPLOY ********************************************/
getVisitNum
方法使用以下参数:
rp
(可选,整数或字符串):访问量计数器重置前的天数。如果未设置此参数,则将默认使用 365
。
"w"
,则计数器将在周末(本周六晚上 11:59)重置"m"
,则计数器将在月末(本月的最后一天)重置"y"
,则计数器将在年末(12 月 31 日)重置erp
(可选,布尔):如果 rp
参数是数字,则此参数可确定是否应延长访问量过期时间。如果设置为 true
,则对您网站的后续点击将重置访问数量计数器。如果设置为 false
,则当访问数量计数器重置时,对您网站的后续点击将不会延期。默认为 true
。如果 rp
参数为字符串,此参数将无效。每当访客在处于非活动状态 30 分钟后返回到您的网站时,访问数量便会增加。调用此方法将返回一个表示访客当前访问数量的整数。
此插件将设置一个名为 "s_vnc[LENGTH]"
的第一方 Cookie,其中 [LENGTH]
为传递到 rp
参数的值。例如,"s_vncw"
、"s_vncm"
或 "s_vnc365"
。该 Cookie 的值包含一个 Unix 时间戳,该时间戳表示访问数量计数器重置的时间,例如周末、月末或处于非活动状态 365 天后。此外,该值还包含当前访问数量。此插件还会设置一个名为 "s_ivc"
的 Cookie,该 Cookie 已设为 true
,且将在处于非活动状态 30 分钟后过期。
对于最近 365 天内未访问过网站的访客,以下代码会将 s.prop1 设置为等于 1:
s.prop1=s.getVisitNum();
对于在距首次访问后 364 天内返回到网站的访客,以下代码会将 s.prop1 设置为等于 2:
s.prop1=s.getVisitNum(365);
如果该访客在距第二次访问后 364 天内又返回网站,则以下代码会将 s.prop1 设置为等于 3:
s.prop1=s.getVisitNum(365);
对于在距首次访问后 179 天内返回到网站的访客,以下代码会将 s.prop1 设置为等于 2:
s.prop1=s.getVisitNum(180,false);
但是,如果该访客在距第二次访问 1 天或更久之后又返回网站,则以下代码会将 s.prop1 设置为等于 1:
s.prop1=s.getVisitNum(180,false);
当调用中的第二个参数等于 false 时,用于确定访问量何时应“重置”为 1 的例程将在距访客首次访问网站“x”天(在本示例中为 365 天)后执行此操作。
当第二个参数等于 true(或根本未设置)时,插件将仅在访客处于非活动状态“x”天(在本示例中同样为 365 天)后才会将访问量重置为 1。
对于在当前周(从星期日开始算起)首次访问网站的所有访客,以下代码会将 s.prop1 设置为等于 1:
s.prop1=s.getVisitNum("w");
对于在当前月份(从每月的第一天开始算起)首次访问网站的所有访客,以下代码会将 s.prop1 设置为等于 1:
s.prop1=s.getVisitNum("m");
请记住,getVisitNum 插件不考虑基于零售业的日历(即 4-5-4、4-4-5 等)
对于在当前年份(从 1 月 1 日开始算起)首次访问网站的所有访客,以下代码会将 s.prop1 设置为等于 1:
s.prop1=s.getVisitNum("y");
如果您希望跟踪访客在某周、某月和某年的访问数量,而所有这些都在不同的 Analytics 变量中,则应使用类似于以下代码的代码:
s.prop1=s.getVisitNum("w");
s.prop2=s.getVisitNum("m");
s.prop3=s.getVisitNum("y");
在这种情况下,此插件将创建三个不同的 Cookie(为三个不同时间段各创建一个 Cookie),以分别跟踪每个时间段的访问量。
erp
参数设置为 false
的问题。endOfDatePeriod
插件更新为 v1.1。rp
参数动态生成 CookiegetVisitNum
插件中可用的解决方案。