Torna al blog

Come un Tracker di Analytics da 2 KB Mantiene Verdi i Tuoi Core Web Vitals

Gli script di analytics tradizionali sono abbastanza pesanti da peggiorare il tuo punteggio Lighthouse. Ecco cosa fa diversamente un tracker leggero — e perché conta per gli utenti reali.

I Core Web Vitals sono ormai un segnale di ranking. Uno script di analytics lento non è più solo un fastidio — è un colpo diretto alla tua SEO e all'esperienza di ogni visitatore con una connessione lenta. L'ironia di misurare il traffico del tuo sito con uno script che lo degrada è reale.

Quanto ti costano gli script di analytics tradizionali

Il global site tag di Google Analytics 4 pesa circa 45 KB trasferiti. Genera diverse richieste di rete al caricamento — verso collect.js, verso il measurement protocol e talvolta verso script di funzionalità aggiuntivi. Su un dispositivo mobile con connessione 4G, è un ritardo misurabile prima che la pagina diventi interattiva.

L'impatto si manifesta in tre modi. Primo, la richiesta dello script stesso compete con i tuoi contenuti per la banda di rete. Secondo, qualsiasi esecuzione sincrona blocca il main thread. Terzo, ogni evento di analytics successivo (session start, page_view, engagement) genera ulteriori richieste in uscita.

Come un tracker leggero cambia i conti

Il tracker di Monoid pesa meno di 2 KB minificato e gzippato. Si carica con un semplice attributo async, il che significa che il browser lo scarica in background senza bloccare il parsing dell'HTML o il rendering. Il Largest Contentful Paint non viene influenzato perché lo script non si trova mai nel percorso di rendering critico.

Quando viene registrato un pageview, il tracker invia un singolo POST all'endpoint di raccolta:

fetch('/collect', {
  method: 'POST',
  keepalive: true,
  body: JSON.stringify({ site_id, path, referrer, ... })
})

Il flag keepalive: true è il dettaglio chiave. Dice al browser di mantenere viva la richiesta anche se l'utente naviga altrove prima che sia completata — lo stesso meccanismo usato dall'API navigator.sendBeacon, ma con pieno supporto JSON. Ottieni una consegna affidabile senza bloccare la navigazione.

I tre Core Web Vitals, uno per uno

Largest Contentful Paint (LCP) misura quando il contenuto principale è visibile. Uno script async che non è nel percorso critico non ritarda affatto LCP. Il tracker non manipola il DOM e non carica immagini.

Interaction to Next Paint (INP) misura la reattività agli input dell'utente. I listener di eventi del tracker sono in sola lettura e leggeri — un singolo listener popstate per la navigazione SPA. Nessun task lungo, nessun layout thrashing.

Cumulative Layout Shift (CLS) misura i movimenti di layout imprevisti. Il tracker non aggiunge elementi al DOM, quindi contribuisce a zero layout shift.

Eseguire un audit Lighthouse

Se vuoi quantificare la differenza, esegui un audit Lighthouse su una pagina prima e dopo aver aggiunto il tracker. Non dovresti vedere alcun cambiamento nel punteggio Performance. Il tracker apparirà nella waterfall di rete come uno script async caricato in ritardo — piccolo, veloce e fuori dal percorso critico.

Confrontalo con un audit di GA4, dove Lighthouse spesso segnala il tag analytics sotto "Reduce the impact of third-party code" e riporta un contributo di thread-blocking time.

Anche la performance è un argomento di privacy

C'è una connessione tra peso dello script e privacy che vale la pena dichiarare esplicitamente: gli script di analytics pesanti sono pesanti perché fanno di più. Più tracking, più identificazione del dispositivo, più profilazione comportamentale. Il tracker da 2 KB è piccolo perché raccoglie solo ciò che gli serve — una manciata di segnali non personali per ogni pageview. La famiglia di browser e il tipo di dispositivo vengono derivati lato server dal User-Agent della richiesta, mentre le stringhe User-Agent complete, le versioni del browser, i cookie, gli identificatori persistenti e i fingerprint dei dispositivi non vengono mai memorizzati.

Scegliere analytics leggeri non è un compromesso tra performance e insight. È riconoscere che il peso extra negli strumenti tradizionali deriva da una raccolta dati che probabilmente non hai chiesto.