L'analitica gira su ogni pagina che hai, quindi il suo peso è una domanda giusta e non dovresti doverne accettare la risposta in fiducia. Questa pagina dà il numero e il metodo, così lo puoi ripetere.

Il numero

11,7 KB compressi con gzip, da 33,8 KB di JavaScript, misurati contro il 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. È quello il numero qui sotto, ed è 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 è così per come è fatto. Lo script è composto per sito: porta 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 contro 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, referenza, parametri di campagna, dimensione dello schermo.
  • L'identità, ricavata senza archiviazione. Sul dispositivo di chi visita non viene scritto niente, quindi non c'è codice per i cookie, non c'è impianto 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'è nessuna framework dentro, nessun pacchetto di polyfill, e nessuna seconda richiesta per un «componente». Quello che arriva è quello che gira.

Come carica

Lo snippet è una riga e porta 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 la prima pittura, 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 non ci sta dentro.

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 ricompra la velocità: chi visita riceve la copia vecchia all'istante e quella nuova atterra in secondo piano.

Il file porta un'impronta del contenuto, quindi quando non è cambiato niente la risposta si valida contro 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 sendBeacon quando 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 perché gli sono stati aggiunti il coinvolgimento, la cattura automatica e il supporto per le app. È 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 contro il file costruito a ogni esecuzione dei test. Misura il loro tu, con il comando qui sopra, il giorno in cui ti serve la risposta.