Questo plug-in è fornito da Adobe Consulting per aiutarti a ottenere più valore da Adobe Analytics. Adobe L’Assistenza clienti non fornisce supporto con questo plug-in, inclusa l’installazione o la risoluzione dei problemi. Se hai bisogno di assistenza su questo plug-in, contatta l’Account Manager della tua organizzazione. Possono organizzare un incontro con un consulente per ricevere assistenza.
Il rfl
Il plug-in consente di rimuovere "in modo sicuro" i valori dalle stringhe delimitate, ad esempio events
, products
, list
, e altri. Questo plug-in è utile se si desidera rimuovere valori specifici da una stringa delimitata senza preoccuparsi dei delimitatori. Diversi altri plug-in dipendono da questo codice per funzionare correttamente. Questo plug-in non è necessario se non è necessario eseguire una funzione specifica su più variabili Analytics alla volta o se non si utilizzano plug-in dipendenti.
Il plug-in utilizza la logica seguente:
Se non desideri utilizzare l'estensione del plug-in, puoi utilizzare l'editor di codice personalizzato.
Copia e incolla il seguente codice in qualsiasi punto del file AppMeasurement dopo la creazione dell’istanza dell’oggetto di tracciamento Analytics (utilizzando s_gi
). Mantenere i commenti e i numeri di versione del codice nella tua implementazione aiuta ad Adobe nella risoluzione di eventuali problemi.
/******************************************* BEGIN CODE TO DEPLOY *******************************************/
/* Adobe Consulting Plugin: rfl (removeFromList) v2.1 */
function rfl(lv,vr,d1,d2,df){var b=lv,f=vr,e=d1,h=d2,g=df;if("-v"===b)return{plugin:"rfl",version:"2.1"};a:{if("undefined"!==typeof window.s_c_il){var c=0;for(var a;c<window.s_c_il.length;c++)if(a=window.s_c_il[c],a._c&&"s_c"===a._c){c=a;break a}}c=void 0}"undefined"!==typeof c&&(c.contextData.rfl="2.1");if(!b||!f)return"";c=[];a="";e=e||",";h=h||e;g=g||!1;b=b.split(e);e=b.length;for(var d=0;d<e;d++)-1<b[d].indexOf(":")&&(a=b[d].split(":"),a[1]=a[0]+":"+a[1],b[d]=a[0]),-1<b[d].indexOf("=")&&(a=b[d].split("="),a[1]=a[0]+"="+a[1],b[d]=a[0]),b[d]!==f&&a?c.push(a[1]):b[d]!==f?c.push(b[d]):b[d]===f&&g&&(a?c.push(a[1]):c.push(b[d]),g=!1),a="";return c.join(h)};
/******************************************** END CODE TO DEPLOY ********************************************/
Il rfl
La funzione utilizza i seguenti argomenti:
lv
(obbligatorio, stringa): variabile (o stringa) contenente un elenco di valori delimitativr
(obbligatorio, stringa): valore che si desidera rimuovere dal lv
argomento. L'Adobe consiglia di non rimuovere più valori durante una singola rfl
chiamare.d1
(facoltativo, stringa): delimitatore utilizzato dalla proprietà lv
utilizza. Impostazione predefinita: virgola (,
).d2
(facoltativo, stringa): delimitatore che si desidera utilizzare per la stringa restituita. Valore predefinito dello d1
argomento.df
(facoltativo, booleano): If true
, forza solo le istanze duplicate del vr
argomento da lv
invece di tutte le istanze. Impostazione predefinita false
quando non è impostato.La chiamata di questa funzione restituisce una stringa modificata contenente lv
ma senza alcuna istanza (o istanze duplicate) del valore specificato in vr
argomento.
Se viene mostrato…
s.events = "event22,event24,event25";
…e viene eseguito il seguente codice…
s.events = rfl(s.events,"event24");
…il valore finale di s.events sarà:
s.events = "event22,event25";
Se viene mostrato…
s.events = "event22,event24,event25";
…e viene eseguito il seguente codice…
s.events = rfl(s.events,"event26");
…il valore finale di s.events sarà:
s.events = "event22,event24,event25";
In questo esempio, la chiamata rfl non ha apportato modifiche a s.events poiché s.events non conteneva "event26"
Se viene mostrato…
s.events = "event22,event24,event25";
…e viene eseguito il seguente codice…
s.events = rfl(s.events);
…il valore finale di s.events sarà:
s.events = "";
Se lv
argomento o vr
sono vuoti in un rfl
effettua una chiamata, quindi il plug-in non restituisce nulla.
Se viene mostrato…
s.prop4 = "hello|people|today";
…e viene eseguito il seguente codice…
s.eVar5 = rfl(s.prop4,"people","|");
…il valore finale di s.prop4 sarà comunque…
s.prop4 = "hello|people|today";
…ma il valore finale di s.eVar 5 sarà:
s.eVar5 = "hello|today";
Tieni presente che il plug-in restituisce solo un valore; in realtà non "reimposta" la variabile trasmessa attraverso il lv
argomento.
Se viene mostrato…
s.prop4 = "hello|people|today";
…e viene eseguito il seguente codice…
s.prop4 = rfl(s.prop4,"people");
…il valore finale di s.prop4 sarà comunque…
s.prop4 = "hello|people|today";
Assicurarsi di impostare d1
nei casi in cui lv
il valore dell'argomento contiene un delimitatore diverso dal valore predefinito (ovvero virgola).
Se viene mostrato…
s.events = "event22,event23,event25";
…e viene eseguito il seguente codice…
s.events = rfl(s.events,"EVenT23");
…il valore finale di s.events sarà:
s.events = "event22,event23,event25";
Anche se questo esempio non è pratico, dimostra la necessità di trasmettere valori con distinzione tra maiuscole e minuscole.
Se viene mostrato…
s.events = "event22,event23:12345,event25";
…e viene eseguito il seguente codice…
s.events = rfl(s.events,"event23");
…il valore finale di s.events sarà:
s.events = "event22,event25";
Se viene mostrato…
s.events = "event22,event23:12345,event25";
…e viene eseguito il seguente codice…
s.events = rfl(s.events,"event23:12345");
…il valore finale di s.events sarà:
s.events = "event22,event23:12345,event25";
Quando devi rimuovere un evento che utilizza la serializzazione e/o la sintassi numerica/valuta, devi specificare solo l’evento stesso (ovvero senza i valori di serializzazione/numerica/valuta) nel rfl
chiamare.
Se viene mostrato…
s.events = "event22,event23,event23,event23,event24,event25";
…e viene eseguito il seguente codice…
s.events = rfl(s.events,"event23");
…il valore finale di s.events sarà:
s.events = "event22,event24,event25");
Se viene mostrato…
s.events = "event22,event23,event23,event23,event24,event25";
…e viene eseguito il seguente codice…
s.events = rfl(s.events,"event23", "", "",true);
…il valore finale di s.events sarà:
s.events = "event22,event23,event24,event25");
Se viene mostrato…
s.events = "event22,event23,event23,event23,event24,event25";
…e viene eseguito il seguente codice…
s.events = rfl(s.events,"event23", "", "|",true);
…il valore finale di s.events sarà:
s.events = "event22|event23|event24|event25");
Se viene mostrato…
s.events = "event22,event23,event24,event25";
…e viene eseguito il seguente codice…
s.events = rfl(s.events,"event23,event24");
…il valore finale di s.events sarà:
s.events = "event22,event23,event24,event25";
Impostazione di più valori in vr
non è supportato. Il rfl
nell’esempio precedente suddividerebbe prima i valori nella sezione lv
(es. s.events), quindi prova a far corrispondere ogni valore delimitato con il valore completo vr
valore argomento (ad es. "event23,event24"
).
Se viene mostrato…
s.events = "event22,event23,event24,event25";
…e viene eseguito il seguente codice…
s.events = rfl(s.events,"event23");
s.events = rfl(s.events,"event24");
…il valore finale di s.events sarà:
s.events = "event22,event25");
Ogni valore da rimuovere dall’elenco deve essere contenuto nel proprio rfl
chiamare.
Se viene mostrato…
s.linkTrackVars = "events,eVar1,eVar2,eVar3";
…e viene eseguito il seguente codice…
s.linkTrackVars = rfl(s.linkTrackVars,"eVar2", ",", ",", false);
…il valore finale di s.linkTrackVars sarà:
s.linkTrackVars = "events,eVar1,eVar3";
Gli ultimi tre argomenti (ad esempio ",",",",false) alla fine di questo rfl
Le chiamate di non sono necessarie, ma non causano alcun "danno" in quanto sono presenti in quanto corrispondono alle impostazioni predefinite.
Se viene mostrato…
s.events = "event22,event23,event24";
…e viene eseguito il seguente codice…
rfl(s.events,"event23");
…il valore finale di s.events sarà comunque:
s.events = "event22,event23,event24";
Anche in questo caso, ricorda che il plug-in restituisce solo un valore; in realtà non "reimposta" la variabile trasmessa attraverso il lv
argomento.
join
plug-in.