此外掛程式由 Adobe Consulting 提供,協助您從 Adobe Analytics 中獲得更多價值。Adobe 客戶服務不提供此外掛程式的支援,包括安裝或疑難排解在內。如果您需要與此外掛程式有關的協助,請聯絡貴組織的 Adobe 客戶團隊。他們可幫您安排顧問會議,以尋求協助。
manageVars
外掛程式可讓您一次操控多個 Analytics 變數的值。您也可以將值設為小寫,或同時從多個變數值中移除不必要的字元。如果您想一次清除多個變數的值,Adobe 建議使用此外掛程式。
Web SDK尚不支援此外掛程式。
Adobe提供的擴充功能可讓您搭配Adobe Analytics使用最常用的外掛程式。
如果您不想使用常見Analytics外掛程式擴充功能,可以使用自訂程式碼編輯器。
Analytics 追蹤物件實例化 (使用 s_gi
) 後,將下列程式碼複製並貼到 AppMeasurement 檔案中的任何位置。保留您實作中的程式碼備註和版本號碼,有助於 Adobe 疑難排解任何可能問題。
/******************************************* BEGIN CODE TO DEPLOY *******************************************/
/* Adobe Consulting Plugin: manageVars v3.0 (Requires AppMeasurement) */
function manageVars(cb,l,il){var g=cb,c=l,d=il;if("-v"===g)return{plugin:"manageVars",version:"3.0"};var f=function(){if("undefined"!==typeof window.s_c_il)for(var a=0,b;a<window.s_c_il.length;a++)if(b=window.s_c_il[a],b._c&&"s_c"===b._c)return b}();if("undefined"!==typeof f){f.contextData.manageVars="3.0";f.blankVars=function(a){this[a]&&(0>a.indexOf("contextData")?this[a]="":(a=a.substring(a.indexOf(".")+1),this.contextData[a]&&(this.contextData[a]="")))};f.lowerCaseVars=function(a){this[a]&&("events"!==a&&-1===a.indexOf("contextData")?(this[a]=this[a].toString(),0!==this[a].indexOf("D=")&&(this[a]=this[a].toLowerCase())):-1<a.indexOf("contextData")&&(a=a.substring(a.indexOf(".")+1),this.contextData[a]&&(this.contextData[a]=this.contextData[a].toString().toLowerCase())))};f.cleanStr=function(a){function b(a){if("string"===typeof a){for(a=a.replace(/<\/?[^>]+(>|$)/g,"").trim().replace(/[\u2018\u2019\u201A]/g,"'").replace(/\t+/g,"").replace(/[\n\r]/g," ");-1<a.indexOf(" ");)a=a.replace(/\s\s/g," ");return a}return""}this[a]&&"function"===typeof b&&(0>a.indexOf("contextData")?this[a]=b(this[a]):(a=a.substring(a.indexOf(".")+1),this.contextData[a]&&(this.contextData[a]=b(this.contextData[a].toString()))))};f.pt=function(a,b,c,d){if(a&&this[c]){a=a.split(b||",");b=a.length;for(var e,f=0;f<b;f++)if(e=this[c](a[f],d))return e}};if(!f[g])return!1;c=c||"";d=d||!0;var b,e="pageName,purchaseID,channel,server,pageType,campaign,state,zip,events,products,transactionID";for(b=1;76>b;b++)e+=",prop"+b;for(b=1;251>b;b++)e+=",eVar"+b;for(b=1;6>b;b++)e+=",hier"+b;for(b=1;4>b;b++)e+=",list"+b;for(b in f.contextData)e+=",contextData."+b;if(c){if(1==d)e=c.replace("['",".").replace("']","");else if(0==d){c=c.split(",");d=e.split(",");e="";for(x in c)for(y in-1<c[x].indexOf("contextData")&&(c[x]="contextData."+c[x].split("'")[1]),d)c[x]===d[y]&&(d[y]="");for(y in d)e+=d[y]?","+d[y]:""}f.pt(e,",",g,0);return!0}return""===c&&d?(f.pt(e,",",g,0),!0):!1}};
/******************************************** END CODE TO DEPLOY ********************************************/
manageVars
函數會使用以下引數:
cb
(必要,字串):外掛程式用來操控 Analytics 變數的回呼函數名稱。您可以使用類似 cleanStr
的 Adobe 函數或您自己的自訂函數。l
(選用,字串):您要操控之 Analytics 變數的逗號分隔清單。若未設定,則預設為所有 Adobe Analytics 變數,包括:
pageName
purchaseID
channel
server
pageType
campaign
state
zip
events
products
transactionID
Il
(選用,布林值):如果要排除 l
引數中宣告的變數清單而非包括,則設為 false
。預設為 true
。呼叫此函數不會傳回任何內容。 而是根據所需的回呼函數變更 Analytics 變數的值。
下列程式碼…
manageVars("lowerCaseVars");
…會將上述所有變數的值變更為小寫版本。唯一的例外是事件變數,因為有些事件 (例如 scAdd、scCheckout 等)區分大小寫,且不應變為小寫
下列程式碼…
manageVars("lowerCaseVars", "events", false);
…實際上會產生與第一個範例完全相同的結果,因為事件變數預設為不會變為小寫。
下列程式碼…
manageVars("lowerCaseVars", "eVar1,eVar2,eVar3,list2");
…只會變更 (例如變為小寫) eVar1、eVar2、eVar3 和 list2 的值
下列程式碼…
manageVars("lowerCaseVars", "eVar1,eVar2,eVar3,list2", false);
…會變更 (例如變為小寫) 除了 eVar1、eVar2、eVar3 和 list2 EXCEPT 以外上述所有變數的值
下列程式碼…
manageVars("cleanStr");
…會變更上述所有變數的值,包括事件變數。具體而言,cleanStr 回呼函數會對每個變數的值執行下列動作:
'
)s.cleanStr
所做變更,現在使用一般 cleanStr
函數。cleanStr
回呼函數