此插件由 Adobe Consulting 团队提供,旨在帮助您从 Adobe Analytics 中获取更多的价值。Adobe 客户关怀团队不提供对此插件的支持,包括安装或疑难解答。如果您需要关于此插件的帮助,请与贵组织的帐户管理员联系。他们可以为您安排与顾问的答疑会,以便您向顾问寻求帮助。
manageVars
插件允许您同时处理多个 Analytics 变量的值。您还可以将值设置为小写,或一次性从多个变量值中删除不必要的字符。如果要一次清除多个变量的值,Adobe 建议您使用此插件。
Adobe 提供了一个扩展,通过该扩展,您可以使用一些最常用的插件。
如果您不想使用插件扩展,则可以使用自定义代码编辑器。
在实例化(使用 s_gi
)Analytics 跟踪对象后,将以下代码复制并粘贴到 AppMeasurement 文件中的任意位置。在您的实施中保留代码的注释和版本号可帮助 Adobe 对任何潜在问题进行疑难解答。
/******************************************* BEGIN CODE TO DEPLOY *******************************************/
/* Adobe Consulting Plugin: manageVars v2.1 (Requires pt plug-in and other necessary callback plug-ins) */
s.manageVars=function(cb,l,il){var s=this;if(!s[cb])return!1;l=l||"";il=il||!0;var a,d="pageName,purchaseID,channel,server, pageType,campaign,state,zip,events,products,transactionID";for(a=1;76>a;a++)d+=",prop"+a;for(a=1;251>a;a++)d+=",eVar"+a;for(a=1;6>a;a++)d+=",hier"+a;for(a=1;4>a;a++)d+=",list"+a;for(a in s.contextData)d+=",contextData."+a;if(l){if(1==il)d=l.replace("['", ".").replace("']","");else if(0==il){l=l.split(",");il=d.split(",");d="";for(x in l)for(y in-1<l[x].indexOf("contextData")&& (l[x]="contextData."+l[x].split("'")[1]),il)l[x]===il[y]&&(il[y]="");for(y in il)d+=il[y]?","+il[y]:""}s.pt(d,",",cb,0);return!0} return""===l&&il?(s.pt(d,",",cb,0),!0):!1};
/* Adobe Consulting Plugin: lowerCaseVars for manageVars (Requires manageVars plug-in) */
s.lowerCaseVars=function(v){var s=this;s[v]&&("events"!==v&&-1===v.indexOf("contextData")?(s[v]=s[v].toString(),0!== s[v].indexOf("D=")&&(s[v]=s[v].toLowerCase())):-1<v.indexOf("contextData")&&(v=v.substring(v.indexOf(".")+1),s.contextData[v]&& (s.contextData[v]=s.contextData[v].toString().toLowerCase())))};
/* Adobe Consulting Plugin: cleanStr for manageVars (Requires manageVars and cleanStr plug-ins) */
s.cleanStr=function(v){var s=this;s[v]&&"function"!==typeof cleanStr&&(0>v.indexOf("contextData")?s[v]=cleanStr(s[v]): (v=v.substring(v.indexOf(".")+1),s.contextData[v]&&(s.contextData[v]=cleanStr(s.contextData[v].toString()))))};
/* Adobe Consulting Plugin: cleanStr v1.0 */
function cleanStr(str){if("string"===typeof str){str=str.replace(/<\/?[^>]+(>|$)/g,"").trim().replace(/[\u2018\u2019\u201A]/g, "'").replace(/\t+/g,"").replace(/[\n\r]/g," ");for(;-1<str.indexOf(" ");)str=str.replace(/\s\s/g," ");return str}return""};
/* Adobe Consulting Plugin: pt v2.01 */
s.pt=function(l,de,cf,fa){if(l&&this[cf]){l=l.split(de||",");de=l.length;for(var e,c=0;c<de;c++)if(e=this[cf](l[c],fa))return e}};
/******************************************** END CODE TO DEPLOY ********************************************/
manageVars
方法使用以下参数:
cb
(必需,字符串):插件用来处理 Analytics 变量的回调函数的名称。您可以使用 Adobe 函数(如 cleanStr
)或者您自己自定义的函数。l
(可选,字符串):包含要处理的 Analytics 变量的逗号分隔列表。如果未设置,则将默认包含所有 Adobe Analytics 变量,包括:
pageName
purchaseID
channel
server
pageType
campaign
state
zip
events
products
transactionID
Il
(可选,布尔):如果要**“排除”l
参数中声明的变量列表,而不是要包含这些变量,则将此参数设置为 false
。默认为 true
。调用此方法将不会返回任何内容。相反,此方法会根据所需的回调函数更改 Analytics 变量的值。
以下代码…
s.manageVars("lowerCaseVars");
…会将上述所有变量的值更改为小写版本。但唯有 events 变量例外,因为某些 events 变量(如 scAdd、scCheckout 等)要区分大小写,因此不应将其更改为小写
以下代码…
s.manageVars("lowerCaseVars", "events", false);
…产生的结果与第一个示例基本相同,因为 events 变量默认不用小写。
以下代码…
s.manageVars("lowerCaseVars", "eVar1,eVar2,eVar3,list2");
…将仅更改(例如更改为小写)eVar1、eVar2、eVar3 和 list2 的值
以下代码…
s.manageVars("lowerCaseVars", "eVar1,eVar2,eVar3,list2", false);
…将更改(例如更改为小写)除 eVar1、eVar2、eVar3 和 list2 之外上述所有其他变量的值
以下代码…
s.manageVars("cleanStr");
…将更改上述所有变量的值,包括 events 变量。具体而言,cleanStr 回调函数将对每个变量的值进行如下处理:
s.cleanStr
进行了更改,现要使用常规 cleanStr
函数。cleanStr
回调函数