· GTM Templates · Tempo di lettura: 2 min
Template: Object Keys Remapper

GTM Object Remapper
Descrizione Generale
Questo template personalizzato per Google Tag Manager permette di rimappare le chiavi di un oggetto o di un array di oggetti in base a una mappatura predefinita.
Risorse
GitHub Repository |
Template Gallery |
Input
Lo script si aspetta i seguenti dati in input:
inputArray
: Array di oggetti o singolo oggetto da rimappareremapperValues
: Array di oggetti contenente la mappatura delle chiavi nel formato:[ { "oldKey": "vecchiaChiave", "newKey": "nuovaChiave" } ]
Flusso di Esecuzione
Controllo Input
if(!inputArray.length) return;
- Verifica che l’array di input non sia vuoto
Validazione Struttura
const isObjectOfObjects = Object.keys(inputArray).every(key => getType(inputArray[key]) === 'object' && inputArray[key] !== null );
- Controlla se si tratta di un oggetto di oggetti
- Normalizza l’input in un array di oggetti
Trasformazione Dati La funzione
remapper
processa ogni oggetto applicando le seguenti trasformazioni:- Verifica l’esistenza della chiave vecchia
- Crea la nuova chiave con il valore della vecchia
- Rimuove la vecchia chiave impostandola a undefined
Output
Lo script restituisce un array di oggetti dove le chiavi sono state rimappate secondo le regole specificate in remapperValues
.
Esempio di Utilizzo
// Input data
const inputArray = [{
"id": "valore1",
"price": "valore2"
}];
const remapperValues = [{
"oldKey": "id",
"newKey": "item_id"
}];
// Output risultante
[{
"item_id": "valore1",
"price": "valore2"
}]
Note Importanti
- Lo script gestisce sia oggetti singoli che array di oggetti
- Le chiavi non specificate nella mappatura rimangono invariate
- Le vecchie chiavi vengono impostate a undefined dopo la rimappatura
- Non viene effettuata validazione sui valori degli oggetti
- La mappatura deve contenere sia oldKey che newKey per ogni trasformazione
- Se una oldKey non esiste nell’oggetto originale, viene ignorata
- L’input viene sempre convertito in un array di oggetti per uniformità di elaborazione
- Gestisce la rimappatura di oggetti nested
Limitazioni
- Le chiavi devono essere stringhe
- Non supporta la trasformazione dei valori, solo delle chiavi
- Non mantiene l’ordine originale delle chiavi nell’oggetto
Debugging
Per il debugging, è possibile utilizzare la funzione logToConsole
inclusa in GTM:
log('Input Array:', inputArray);
log('Remapper Values:', remapperValues);