L'analitica gira su ogni pagina che hai, quindi il suo peso è una domanda legittima e non dovresti doverne accettare la risposta sulla fiducia. Questa pagina dà il numero e il metodo, così puoi ripetere la misurazione.
Il numero
11,7 KB compressi con gzip, da 33,8 KB di JavaScript, misurati sul pacchetto servito a un sito in produzione.
Per ripeterlo: scarica lo script con Accept-Encoding: identity e comprimi il risultato in locale con gzip al livello 9. È esattamente ciò che fa il comando qui sotto, e il risultato è quello che un browser scarica una volta e poi tiene in cache.
curl -s -H "Accept-Encoding: identity" \
"https://t.skomi.com/s/YOUR-SITE-ID.js" | gzip -9 | wc -c
⚠ Il tuo pacchetto può essere diverso dal nostro, ed è voluto. Lo script è composto per sito: contiene le impostazioni che quel sito usa davvero, e i frammenti di cattura di cui i suoi prodotti hanno bisogno. Un sito con meno cose accese riceve un file più piccolo. Fai girare il comando qui sopra con il tuo identificativo di sito per avere il tuo numero invece di fidarti di questo.
Che cosa c'è dentro
Un file solo, che fa tutto il lavoro:
- La pagina vista in sé: percorso, referrer, parametri di campagna, dimensione dello schermo.
- L'identità, ricavata senza archiviazione. Di serie sul dispositivo di chi visita non viene scritto niente, quindi non c'è codice per i cookie, non c'è un meccanismo per il consenso, e non c'è nessun banner da caricare prima che la misurazione possa cominciare. È in gran parte per questo che il file è uno solo.
- Sessione e coinvolgimento: quanto a lungo una pagina ha tenuto l'attenzione, fin dove è stata letta.
- La cattura automatica: clic verso l'esterno, download, invii di modulo e 404, per quelli che hai acceso.
- Il trasporto: invio a lotti, nuovo tentativo, e il percorso di occultamento della pagina.
Non c'è nessun framework dentro, nessun pacchetto di polyfill, e nessuna seconda richiesta per un «componente». Quello che arriva è quello che gira.
Come carica
Lo snippet occupa una riga e ha l'attributo defer:
<script src="https://t.skomi.com/s/YOUR-SITE-ID.js" defer></script>
defer vuol dire che il browser continua a interpretare la tua pagina e fa girare lo script dopo che il documento è pronto. Non è mai sul percorso critico, non blocca il primo rendering, e spostarlo dentro il <head> non cambia niente: il lavoro lo fa l'attributo, non la posizione.
Nella tua impaginazione non viene iniettato niente. Lo script non aggiunge elementi, né stili, né caratteri, quindi non può spostare niente sulla pagina. Qualunque sia il tuo Cumulative Layout Shift, questo script non vi contribuisce.
Con che frequenza viene richiesto
Cache-Control: public, max-age=300, stale-while-revalidate=86400
ETag: W/"…"
Cinque minuti di cache fresca, e poi un giorno in cui una copia vecchia viene servita subito mentre una nuova viene richiesta in secondo piano. Quindi chi torna non aspetta quasi mai, e una pagina vista ripetuta dentro la finestra non costa proprio niente.
⚠ I cinque minuti sono volutamente corti, e sono l'unico numero qui che a prima vista sembra sbagliato. Il pacchetto è composto dalle tue impostazioni: accendi la misurazione dei collegamenti verso l'esterno, cambia un'esclusione, accendi un prodotto, e il file cambia. Una cache lunga vorrebbe dire che la tua modifica arriva alle persone vere ore dopo. È lo stale-while-revalidate che recupera la velocità: chi visita riceve la copia vecchia all'istante e quella nuova arriva in secondo piano.
Il file porta un'impronta del contenuto, quindi quando non è cambiato niente la risposta viene convalidata tramite l'ETag e non si muove nemmeno un byte.
Che cosa costa mentre gira
- Una richiesta per lo script, tenuta in cache come sopra.
- Una piccola richiesta per ogni pagina vista.
- Un
sendBeaconquando la pagina viene nascosta, che è il modo in cui il tempo sulla pagina viene chiuso. I beacon vengono messi in coda dal browser e non ritardano la navigazione; è l'unico posto in cui il tracker ne usa uno.
Le durate sono calcolate sul server a partire da quegli istanti invece che da un cronometro che gira nella pagina, quindi non c'è nessun intervallo che scatta mentre qualcuno legge.
Essere onesti sulla tendenza
Lo script pesava circa 10 KB grezzi qualche mese fa e adesso ne pesa 33,8. È cresciuto man mano che gli sono state aggiunte funzioni, tra cui il coinvolgimento e la cattura automatica. È un compromesso vero e vale la pena dirlo con tutte le lettere invece di citare solo la cifra di oggi: uno strumento che fa di più arriva come più byte.
Se vuoi il file più piccolo possibile, spegni le catture automatiche che non usi: il pacchetto è composto dalle tue impostazioni, quindi quello che spegni non viene mandato.
⚠ Non pubblichiamo la dimensione dello script di nessun altro. Un confronto ha bisogno di tutte e due le cifre rimisurate lo stesso giorno con lo stesso metodo, e la metà che appartiene a qualcun altro non si può verificare in automatico, il che ne fa esattamente il numero che invecchia mantenendo un'aria autorevole. Il nostro è verificato sul file compilato a ogni esecuzione dei test. Misura il loro tu, con il comando qui sopra, il giorno in cui ti serve la risposta.