Prima di andare nel dettaglio, facciamo un passo indietro e vediamo cosa sono le tabelle di lookup. Se invece non sai aspettare, passa direttamente al trick!
Che cosa sono le Lookup Table in Google Tag Manager?
Tra le molteplici funzionalità messe a disposizione da Google Tag Manager esiste anche la variabile chiamata Lookup Table o Tabella di ricerca. Fondamentalmente questa tabella permette di associare ad un valore in ingresso (input) un’altro valore (output) ben preciso.
Quali sono i vantaggi di queste tabelle di ricerca? Permettono di gestire in modo agile, flessibile e veloce una serie di dati che altrimenti richiederebbero molti incroci tra javascript, tags, ecc
Nell’esempio sotto riportato viene mostrato come si possono gestire più ambienti di uno stesso sito a cui corrispondono properties diverse.
In questo caso viene definita la variabile “Property” come Lookup Table che riceve in input il {{Page Hostname}}. A seconda del tipo di {{Page Hostname}}, che si tratti di staging o ambiente di produzione, la variabile restituirà il corretto valore della web property.
Un altro esempio di utilizzo potrebbe essere la riscrittura dell’etichetta evento quando ci basiamo sul {{Click ID}} in input e vogliamo rilasciare un valore più leggibile in Google Analytics. Ovviamente gli esempi sono praticamente infiniti, così come sono infiniti i record in input che si possono inserire.
Quando si creano le tabelle di Lookup però bisogna anche ricordarsi di due cose:
- I campi sono case sensitive
- Esiste solo la corrispondenza esatta tra input ed output
… e questo per me, a volte, rappresenta un grosso limite.
Problema (risolvibile)
Le tabelle di lookup, come detto poco fa, funzionano in modalità “is equal to” e non permettono quindi di raggruppare in maniera agile più valori che dovrebbero restituire lo stesso output.
Ad esempio potrei voler restituire in output il valore “Treviso” per ogni landing page che ho creato per la mia campagna adv geolocalizzata ma purtroppo tali landing presentano url scritti in modi diversi: “/Treviso”, “/treviso”, “/TV”, “/Tv”, ecc. In questo caso dovrei creare 5-6 record che mi restituiscono lo stesso valore “/Treviso”. Se aumento la geolocalizzazione, a questo punto, i valori da inserire nella tabella di lookup crescerebbero in maniera esponenziale, così come i possibili errori umani.
Quanto sarebbe utile che la tabella di lookup potesse basarsi anche su “match regex” o “contains”? 🙂
Soluzione
La soluzione è contenuta nel file spreadsheet che potete scaricare subito dopo le istruzioni.
Questo file è molto utile in quanto permette di risparmiare tempo senza dover annidiare N tags o custom js e in più si possono utilizzare fino a 7 tipologie di corrispondenze tra i dati. Vediamo nel dettaglio di cosa si tratta.
- Quando aprite il file la prima cosa da fare è dare un nome alla vostra nuova variabile (potete inserire fino a 10 variabili per foglio).
- A questo punto dovete scegliere la variabile a cui fa riferimento in input. Potete scegliere tra quelle già inserite nel dropdown oppure, nel foglio CONFIG, potete inserire la nuova variabile che avete creato.
- Qui viene il bello: scegliete il tipo di match che vi è utile!
- Ora non vi resta che inserire il valore in input (KEY) e quello in output (VALUE)
- Una volta definite le vostre coppie chiave – valore, andate in alto a destra e cliccate “Download GTM Lookup Table Custom Var” e successivamente su “Download Container JSON“
Basato sul file generato da seerinteractive.com
La prima volta che utilizzate questo foglio di lavoro, il tool vi mostrerà la classica finestra di “Authorization Required”: l’autorizzazione serve solo a generare il download del file JSON. In alternativa potete copiare la cella B1 in un foglio txt e rinominarla con l’estensione “.json”.
A questo punto non vi resta che importare in GTM il vostro file appena downloadato. Come sempre, ci si logga in GTM, click in Admin > Import Container > Selezionare il file scaricato, workspace e merge tag – Rename > Continua.
Ecco fatto, ora avete la tabella di Lookup personalizzata a vostra disposizione!
Come, un momento, ma non è una tabella di Lookup vera e propria!
Esatto, non è una tabella di Lookup standard ma una variabile custom js che funge da Lookup Table. Questa “finta” tabella di ricerca è utile quando l'”exact-match” non supporta il nostro obiettivo finale e ci può far risparmiare tempo e denaro.
Ovviamente questa variabile ha anche delle limitazioni, come ad esempio:
- sono consentiti al massimo 399 coppie key/valore per variabile
- se sono presenti molti valori, la custom js è leggermente più lenta rispetto ad una classica Lookup Table
- se ci sono più output che matchano un input, la tabella ritorna solo il primo match
Quale usare quindi? Qui sta a voi, rispetto al vostro obiettivo finale, decidere quale variabile utilizzare 🙂
Leave a reply