Se il tuo sito pubblica eventi di business su window.dataLayer (perché hai montato Google Tag Manager per Google Analytics), quegli eventi arrivano già a Skomi. Non c'è niente da riscrivere, nessun adattatore da installare, e nessun secondo invio da aggiungere accanto al primo.
Questa pagina è che cosa succede, che cosa no, e i limiti che vale la pena conoscere prima di appoggiartici.
Niente da fare
Installa lo snippet. Skomi si aggancia al dataLayer e legge quello che ci viene mandato.
Funzionano tutte e due le forme:
// la forma a oggetto
dataLayer.push({ event: 'purchase', value: 49.00, currency: 'EUR' });
// gtag, che manda i propri argomenti invece di un oggetto
gtag('event', 'purchase', { value: 49.00, currency: 'EUR' });
Puoi tenere GTM. Puoi tenere Google Analytics che gira accanto a Skomi mentre li confronti; è quello il modo sensato di migrare, e qui non c'è niente che ci interferisca.
Perché funziona qualunque script carichi per primo
GTM sostituisce dataLayer.push con il proprio involucro quando gtm.js finisce di caricare, e i due script caricano in modo asincrono. Quello che atterrasse per secondo sovrascriverebbe chiaramente l'involucro dell'altro e ne inghiottirebbe gli eventi in silenzio.
Skomi installa invece push come un accessore, così l'assegnazione di GTM arriva nel setter e diventa la funzione a cui Skomi delega. Il nostro resta davanti comunque la corsa vada a finire. Non devi mettere in ordine i tuoi tag.
Che cosa viene catturato
Il nome dell'evento: event sull'oggetto, o il secondo argomento di gtag.
Tutte le proprietà, appiattite in percorsi con i punti, perché le proprietà di un evento sono conservate come testo:
dataLayer.push({
event: 'purchase',
transaction_id: 'ORD-1234',
value: 49.00,
currency: 'EUR',
ecommerce: { items: [{ item_name: 'Pro plan', price: 49.00 }] }
});
arriva come transaction_id, value, currency, ecommerce.items.0.item_name, ecommerce.items.0.price.
Il valore monetario, letto da value o da ecommerce.value. Il testo viene accettato, perché i valori del dataLayer spesso escono da un modello come testo.
La valuta, da currency o da ecommerce.currency allo stesso modo. Un evento di commercio elettronico di GA4 porta già { value, currency } insieme, quindi un sito cablato per Google sta mandando a Skomi un acquisto completamente denominato senza saperlo.
Il numero dell'ordine. Il server legge transaction_id dalle proprietà, e una ripetizione dello stesso numero viene buttata via invece che contata, cosa che conta più di quanto sembri. Una pagina di conferma scatta a ogni caricamento: una ricarica, un pulsante indietro, la riapertura dell'email una settimana dopo. Senza un numero di ordine quelle sono tre vendite.
Che cosa non viene catturato
Gli eventi di ciclo di vita di GTM stesso. Tutto quello che sta sotto lo spazio di nomi gtm., e le chiavi che GTM usa per controllare il proprio smistamento: event, eventCallback, eventTimeout, eventModel, _clear. Non dicono niente sul tuo business e supererebbero di numero gli eventi veri di parecchie volte.
Tutto quello che va oltre i limiti. Sono reali e vale la pena conoscerli prima di scoprirli:
| Limite | Valore |
|---|---|
| Proprietà per evento | 25 |
| Profondità di annidamento | 3 livelli |
| Nome della proprietà | 64 caratteri |
| Valore della proprietà | 255 caratteri |
| Numero dell'ordine | 128 caratteri |
⚠ Un ecommerce.items grosso non ci sta. Ogni articolo contribuisce con diverse proprietà, quindi un ordine di dieci righe è ben oltre venticinque e il resto viene buttato via invece che tagliato articolo per articolo. Se il dettaglio per riga ti importa, appartiene ai report del tuo negozio; Skomi registra l'ordine, il suo valore e la sua valuta, non il suo contenuto. Non c'è nessuna dimensione di prodotto da nessuna parte nel prodotto.
Le integrazioni di Google stesso. La segnalazione del Consent Mode, l'esportazione delle audience, il collegamento a Google Ads. Quelle stanno fra GTM e Google e Skomi non ne fa parte.
Dove compaiono gli eventi
Con i loro nomi, accanto a quelli che Skomi cattura da sola. Ogni evento registra da dove è arrivato: datalayer per questi, api per una chiamata skomi.track() scritta a mano, auto per i collegamenti verso l'esterno e i download che Skomi cattura senza che glielo si chieda, così puoi distinguere un evento che hai chiesto da uno che hai soltanto permesso.
Trasforma uno qualunque in un obiettivo per avere un tasso di conversione contro di lui.
Se preferisci chiamarlo direttamente
skomi.track('purchase', { plan: 'pro' }, 49.00, 'EUR', 'ORD-1234');
Nome, proprietà, valore, valuta, numero dell'ordine, gli ultimi tre facoltativi. Usalo per gli eventi che non hanno nessun motivo di passare da GTM. Un sito che non ha nessun dataLayer non ne ha bisogno.
Controllare che abbia funzionato
Manda un evento di prova dalla console sul dominio vero:
dataLayer.push({ event: 'test_event', value: 1, currency: 'EUR' });
Poi cerca test_event fra i tuoi eventi. Se non c'è, percorri che cosa controllare quando lo snippet non funziona, e tieni presente che localhost non raccoglie niente, perché non è il dominio che hai registrato.