Aggiornato il 20 ottobre 2026
Un miglioramento di 0,1 secondi nella velocità di caricamento su dispositivi mobili ha incrementato i tassi di conversione dell'8,4% sui siti di vendita al dettaglio analizzati da Deloitte per Google, e gli invii di moduli del 21,6% sui siti di lead generation. Questo dato solleva un interrogativo spinoso per qualsiasi team CRO: il vostro strumento di A/B testing sta forse causando una perdita, a causa della latenza, di parte del guadagno che state cercando di misurare?
Il test lato server affronta questo problema spostando la decisione su "chi vede quale versione" fuori dal browser. Tuttavia, questa architettura comporta dei costi: il coinvolgimento degli sviluppatori, la necessità di riprogettare la cache CDN e un conteggio dei visitatori più complesso. Questa guida confronta le tre possibili posizioni per questa decisione (browser, server, edge), spiega il ruolo dei feature flag e fornisce un framework per la scelta, test per test.
Test lato server: la risposta breve
Il test lato server è un metodo di test A/B in cui il server sceglie la variante per ogni visitatore e restituisce una pagina già generata, senza ulteriori modifiche nel browser: pertanto non vi è alcun flickering o script di test che ritardi la visualizzazione. In cambio, ogni variante deve essere codificata e implementata dal team tecnico.
In pratica, il server legge un identificatore stabile (cookie, ID utente connesso), calcola l'assegnazione e quindi visualizza il template corrispondente. La variante B non è "una versione A modificata tramite JavaScript": è una pagina diversa, o un comportamento applicativo diverso, fornito fin dal primo byte.
Questa differenza apre un ambito che i test lato client non possono coprire adeguatamente: algoritmi di raccomandazione, regole di prezzo, ordine dei risultati di ricerca, numero di passaggi in un funnel e la logica di un'API utilizzata sia dal sito web che dall'applicazione mobile. Per le definizioni di base (variante, allocazione, campione), il glossario dei test A/B definisce il vocabolario utilizzato nel resto dell'articolo.
Client, server, edge: dove viene presa la decisione?
In definitiva, ogni test A/B si riduce a una decisione di allocazione e a un rendering. Ciò che distingue le architetture è il momento in cui viene presa questa decisione e il momento in cui avviene il rendering.
Lato client: la decisione viene presa nel browser
Il server restituisce la pagina originale. Uno script di test viene caricato, seleziona la variante e quindi modifica il DOM (testo, colore, ordine dei blocchi). Questo è il modello utilizzato dagli editor visuali: un addetto al marketing crea una variante in pochi minuti, senza bisogno di un ticket di sviluppo. Il prezzo da pagare è un intervallo di tempo tra la visualizzazione della pagina originale e l'applicazione della variante.
Lato server: la decisione all'interno dell'applicazione
L'applicazione (PHP, Node, Python, Java, ecc.) incorpora un SDK o una logica di assegnazione. La decisione viene presa prima del rendering HTML. Il test risiede nel codice: un'implementazione per creare la variante e la pulizia alla fine.
Ai margini: la decisione nella CDN
Una funzione in esecuzione sulla rete di distribuzione (Cloudflare Workers, Vercel Routing Middleware, Lambda@Edge, Fastly Compute) intercetta la richiesta prima che raggiunga il server di origine. Legge o imposta un cookie di assegnazione, quindi riscrive l'URL nella versione A o B, entrambe pregenerate e memorizzate nella cache.
| criteri | lato client | Lato server | Bordo |
|---|---|---|---|
| Luogo della decisione | Sito web | Server applicativo | Nodo CDN |
| Possibile sfarfallio | Sì, per essere nascosto | NO | NO |
| Chi ha creato la variante? | Marketing, prodotto | sviluppatori | Sviluppatori (spesso varianti statiche) |
| Ora di pubblicazione online | Da minuti a ore | Un ciclo di implementazione | Distribuzione seguita da impostazioni senza codice |
| Perimetro testabile | Interfaccia, contenuto | Tutto, compresa la logica aziendale. | Pagine intere, instradamento, modelli |
| Impatto sulla cache | Neutro | Per gestire | Nativo se la variante è nella chiave della cache |
Il costo dei millisecondi
La velocità non è un aspetto tecnico secondario: su 37 siti web di diversi marchi e oltre 30 milioni di sessioni, un miglioramento di 0,1 secondi su quattro indicatori di velocità ha comportato un incremento dei tempi di percorrenza lungo l'intero funnel di acquisto. Lo studio Milliseconds Make Millions, pubblicato su web.dev, illustra nel dettaglio i risultati per settore: +8,4% di conversioni nel commercio al dettaglio, +10% di prenotazioni nel settore viaggi, +21,6% di moduli inviati nella generazione di lead.
Confrontate questi dati con un test lato client configurato in modo inadeguato. Un tipico snippet anti-sfarfallio rende la pagina invisibile finché non viene assegnato un visitatore, con un ritardo di sicurezza spesso impostato a 4 secondi: quaranta volte i 100 millisecondi dello studio. Il test misura quindi l'effetto della vostra variante più l'effetto del ritardo, e non vi è alcuna garanzia che questo ritardo sarà identico tra A e B.
I recenti strumenti lato client hanno ridotto il problema. Alcuni fornitori pubblicizzano script compressi da 11 a 15 KB e l'applicazione della variante in poche decine di millisecondi, rispetto agli 80-150 KB degli strumenti legacy. Questa è esattamente la logica del diffusione ultraveloce di BlastOptimize Il primo approccio riduce al minimo l'intervallo tra la visualizzazione iniziale e la variante, rendendolo impercettibile. L'approccio lato server si spinge oltre, eliminando completamente questo intervallo, a costo di un'implementazione più complessa. I due approcci non si escludono a vicenda; semplicemente, coprono diverse tipologie di test.
Il costo reale dello sviluppo lato server non è pari a zero.
Eliminare il flicker non significa eliminare la latenza. Un SDK che interroga un'API remota a ogni richiesta per conoscere l'assegnazione aggiunge un round trip di rete prima del rendering. La buona pratica è la valutazione locale: l'SDK scarica la configurazione dei test in background, la conserva in memoria e calcola l'assegnazione senza chiamate di rete. Sul lato edge, Vercel indica che il 99% delle letture di configurazione dal suo storage globale richiede meno di 15 ms. Senza questa precauzione, avrete semplicemente spostato il ritardo dal browser al server.
Flag di funzionalità: il motore di test lato server
Un flag di funzionalità è un interruttore nel codice che decide, per ogni utente, quale versione di una funzionalità eseguire; non appena offre diversi valori distribuiti in percentuale, diventa un test A/B lato server. Ecco perché la maggior parte delle piattaforme di sperimentazione lato server sono costruite attorno a un sistema di flag.
Lo schema tipico è semplice: il codice richiede il valore del flag all'SDK. nouveau_tunnel per l'utente 8214, l'SDK restituisce "variant_b", l'applicazione esegue il rendering del tunnel in due passaggi anziché tre. L'assegnazione è deterministica: lo stesso identificatore corrisponde sempre alla stessa variante, generalmente tramite un hash dell'ID combinato con la chiave di test.
Cosa portano le bandiere oltre il test
- Fermati immediatamente : se la variante peggiora una metrica di controllo (errori del server, tempo di risposta, valore medio dell'ordine), la si rimuove dall'interfaccia senza ridistribuirla.
- Implementazione graduale : la variante vincente aumenta il traffico dal 50% al 100% in fasi successive, monitorando al contempo la presenza di errori.
- Coerenza multicanale Lo stesso flag controlla il sito web, l'applicazione mobile e l'API. Un visitatore che inizia da dispositivo mobile e termina su desktop rimane nella stessa versione se viene identificato.
Il debito delle bandiere
Ogni test lato server lascia dietro di sé del codice condizionale. Un team che esegue dieci test a trimestre senza effettuare una pulizia si ritroverà, un anno dopo, con quaranta rami morti nel suo codice. Stabilite una regola semplice: un flag di test ha una data di scadenza e l'eliminazione del ramo che fallisce fa parte della definizione di "fatto". Questa disciplina è in linea con quella descritta nel nostro articolo su... errori comuni nei test A/B : un test incompleto contamina quelli successivi.
Test di prossimità: il compromesso che sta guadagnando terreno
Il test Edge prende la decisione di assegnazione nella CDN, prima del server di origine, e serve una versione pre-generata della pagina: combina l'assenza di sfarfallio lato server con la velocità della cache. Questa è l'architettura più adatta per siti statici o generati (Next.js, Astro, siti di e-commerce headless).
L'architettura di riferimento di Cloudflare per i test A/B con Workers descrive il flusso in cinque fasi: richiesta del visitatore, lettura della configurazione da un archivio chiave-valore, verifica del cookie di assegnazione, instradamento all'endpoint A o B e, infine, impostazione del cookie se non esiste già. La distribuzione cambia senza ridistribuire la funzione.
Vercel porta questa logica un passo avanti: invece di rendere la risposta dipendente da un cookie, la variante è codificata nel percorso URL interno. Ogni combinazione di flag diventa una pagina separata nella cache e il visitatore non vede mai questo percorso tecnico. Secondo la sua guida ai test A/B nell'e-commerce e ai Core Web Vitals, Questo metodo ha permesso a un team di passare da circa un test al mese a cinque o sei per sprint, senza compromettere gli indicatori di performance.
Il limite da tenere presente: l'esplosione combinatoria
Ogni test moltiplica il numero di versioni memorizzate nella cache. Tre test simultanei con due varianti sulla stessa pagina producono 2 × 2 × 2 = 8 versioni. Aggiungendo un quarto test con tre varianti si arriva a 24. La percentuale di successo della cache diminuisce meccanicamente. Limita il numero di test simultanei per modello oppure riserva questa modalità alle pagine ad alto traffico. Se combini intenzionalmente diversi elementi, la logica è più simile a... test multivariato, con i corrispondenti requisiti di volume.
Insidie lato server
Il lato server elimina lo sfarfallio ma introduce tre rischi che il lato client non presenta: una cache che serve la variante sbagliata, i bot conteggiati come visitatori e un'assegnazione registrata senza una reale esposizione. Questi tre errori distorcono i risultati senza alcun segnale visibile sulla pagina.
1. La cache che mescola le varianti
La domanda si pone regolarmente nelle comunità tecniche, ad esempio sul forum di Adobe Experience League: "Il mio sito è dietro Akamai o Cloudflare, come faccio a testarlo lato server?". Se la CDN memorizza nella cache la prima versione generata, tutti i visitatori successivi la ricevono, indipendentemente dalla loro assegnazione. Esistono tre soluzioni alternative: integrare la variante nella chiave della cache (intestazione Vary (utilizzando un cookie dedicato o un percorso interno come con Vercel), spostare la decisione al margine della cache oppure escludere dalla cache solo le pagine in fase di test. La terza soluzione è la più semplice, ma annulla in parte il vantaggio in termini di velocità.
2. Robot e precarico
Uno script lato client viene eseguito solo in un browser reale. La logica lato server, tuttavia, viene applicata a ogni richiesta: robot di indicizzazione, strumenti di monitoraggio e precaricamento speculativo del browser. Se si contano i visitatori al momento dell'assegnazione, queste richieste gonfiano il denominatore. Un robot senza cookie può persino essere riassegnato a ogni visita. Un possibile risultato è una discrepanza nel rapporto del campione tra A e B, un classico segno di un test non valido. Questo tipo di distorsione alimenta direttamente il falsi positivi nei test A/B.
3. L'assegnazione non è esposizione
Il server potrebbe assegnare a un utente la variante B di un nuovo modulo del carrello acquisti al momento dell'accesso, anche se l'utente non visualizzerà mai quel carrello. Includere questo elemento nell'analisi diluisce l'effetto misurato. La regola: registrare un evento di esposizione quando la variante viene effettivamente visualizzata o utilizzata e calcolare i tassi di conversione in base a tali esposizioni. La definizione rigorosa delle conversioni associate rientra nelle competenze del. monitoraggio degli obiettivi, che deve essere identico per A e B.
Il metodo BlastOptimize: tre cifre da verificare
Prima di interpretare qualsiasi tasso di conversione da un test lato server, controlla tre numeri. Primo, la distribuzione dell'esposizione: in una suddivisione 50/50 di 20.000 visitatori, una differenza superiore a circa 1,5 punti (ovvero, meno di 9.700 o più di 10.300 in un braccio) giustifica un'indagine, poiché rappresenta una differenza di oltre quattro deviazioni standard. Secondo, la proporzione di richieste senza cookie o JavaScript eseguito, che rivela i bot. Terzo, il tasso di successo della cache per variante. Se uno qualsiasi di questi tre è anomalo, correggilo prima di analizzare. Questi controlli sono più facilmente visualizzabili in un dashboard di analisi rispetto a un'esportazione lorda.
Test lato server e SEO: le regole di Google
Google accetta i test A/B, sia lato client che lato server, a una condizione: Googlebot deve essere trattato come qualsiasi altro visitatore, senza una versione specifica. Una variante specifica per i robot è il camuffamento, punibile a prescindere dalla tecnica utilizzata.
La documentazione Google Search Central sull'impatto dei test A/B imposta quattro regole. Nessun occultamento, incluso quello da parte della logica del server. Un reindirizzamento temporaneo (302) e non permanente (301) se la variante si trova su un altro URL. Un tag rel="canonical" sugli URL varianti che puntano all'originale, preferito a noindex. E un test che si interrompe non appena vengono raccolti dati sufficienti, con la conseguente eliminazione degli URL e del codice di test.
Corollario: poiché la variante è presente nell'HTML originale, un crawler può indicizzare la versione B durante il test. Se modifica il titolo di una pagina ben posizionata, limitane la durata.
Quando scegliere cosa: la griglia decisionale
Scegli il lato client per testare rapidamente ciò che viene visualizzato, il lato server per testare ciò che viene calcolato e l'edge per testare intere pagine su un sito con una cache molto fitta. La maggior parte dei team esperti utilizza tutti e tre i metodi a seconda del test, non dello strumento.
Poni quattro domande, in quest'ordine:
- La modifica influisce sulla logica aziendale? Prezzo, algoritmo, regola di ammissibilità, numero di passaggi, risposta API: lato server, nessuna discussione.
- Il test deve coprire più canali? Sito e applicazione, oppure sito ed email transazionali: lato server con flag condivisi.
- La pagina viene servita da una cache o generata staticamente? Edge, con la variante nella chiave della cache.
- Il cambiamento è visibile e deve avvenire questa settimana? Titolo, slogan, visual, ordine dei blocchi, etichetta del pulsante: lato client con un editor visuale e uno script leggero. Aspettare uno sprint per testare un'etichetta costa più dei millisecondi risparmiati.
Tre esempi concreti
Un commerciante di e-commerce vuole testare la consegna gratuita a partire da €49 invece di €60. La soglia è considerata nel carrello, nel calcolo dei costi di spedizione, nell'e-mail di conferma e nell'applicazione: lato server. I dettagli di questo settore sono riportati nella nostra pagina su test A/B nell'e-commerce.
Un fornitore di SaaS desidera confrontare due pagine di prezzo complete, inclusi struttura e motivazioni, su un sito Next.js memorizzato nella cache: edge, con due modelli pregenerati.
Un team di marketing per la generazione di lead vuole testare tre hook del modulo prima di una campagna che inizia lunedì: lato client. La modalità pilota automatico prende quindi il controllo per continuare le iterazioni successive.
Se stai confrontando le piattaforme in base a questo criterio, guarda attentamente cosa copre ogni offerta: alcune separano la sperimentazione lato client e il modulo feature flag in due prodotti fatturati separatamente. I nostri confronti BlastOptimize vs AB Tasty e BlastOptimize vs Kameleoon illustrano queste differenze di perimetro, e il listino prezzi indica cosa è incluso.
Lista di controllo prima di avviare un test lato server
- L'identificativo di assegnazione è stabile (cookie di prima parte a lunga durata o ID utente connesso) ed è identico su tutti i canali pertinenti.
- L'SDK valuta i flag localmente, senza bloccare le chiamate di rete a ogni richiesta.
- La variante fa parte della chiave della cache oppure le pagine testate vengono escluse dalla cache per la durata del test.
- L'evento espositivo viene registrato durante la fase di realizzazione, separatamente dall'incarico.
- Robot e precaricamenti sono esclusi dall'analisi (filtro user-agent, esecuzione di JavaScript, presenza di cookie).
- La distribuzione delle presentazioni è controllata a partire dalle prime 24 ore.
- Googlebot riceve lo stesso trattamento di un visitatore: URL varianti con reindirizzamenti 302 e reindirizzamenti canonici all'originale.
- Viene monitorato un parametro di controllo (errori, tempo di risposta del server), con possibile arresto senza implementazione.
- La data in cui il codice della variante perdente è stato rimosso è registrata nel backlog.
FAQ
I test lato server eliminano davvero lo sfarfallio?
Sì, per gli elementi testati lato server: la pagina viene visualizzata già nella sua versione finale; nulla viene modificato dopo la visualizzazione. Se si combinano un test lato server e un test lato client sulla stessa pagina, quest'ultimo può comunque causare sfarfallio.
È possibile eseguire test lato server dietro una CDN come Cloudflare o Akamai?
Sì, a condizione che la variante sia inclusa nella chiave della cache o che la decisione venga presa in locale. Altrimenti, la CDN distribuisce a tutti la prima versione memorizzata nella cache e il test non misura più nulla.
Il flickering lato client rappresenta ancora un problema reale nel 2026?
Il rischio si riduce significativamente con script leggeri caricati in anticipo, che applicano la variante in poche decine di millisecondi. Rimane invece un rischio reale con script pesanti, caricati in modo asincrono, o con snippet anti-sfarfallio con un ritardo di sicurezza di diversi secondi.
Un addetto al marketing può avviare un test lato server senza uno sviluppatore?
Non è necessario creare la variante: deve già esistere nel codice. Tuttavia, una volta impostati i flag, il team di marketing può modificare la distribuzione del traffico, il targeting o interrompere il test dall'interfaccia, senza dover effettuare un nuovo deployment.
I test lato server comportano rischi per la SEO?
No, se rispetta le regole di Google: stesso trattamento per Googlebot e visitatori, reindirizzamenti 302, link canonico all'originale e durata limitata. È persino più leggibile per i crawler dei motori di ricerca, dato che la variante è presente nell'HTML originale.
Dobbiamo scegliere tra lato client e lato server?
No. L'approccio ibrido è la norma: lato client per test visivi rapidi, lato server per la logica di business e il multicanale, e edge per le pagine memorizzate nella cache. La chiave è condividere lo stesso identificatore e le stesse definizioni di conversione tra tutti e tre.
Punti chiave
- Il test lato server sposta la decisione di assegnazione prima del rendering: niente più sfarfallio, niente più script che ritardano la visualizzazione.
- Le feature flag sono la forza trainante di tutto ciò, con un debito di codice da sanare.
- Il test edge combina il funzionamento senza sfarfallio e la memorizzazione nella cache, a condizione che venga monitorata l'esplosione del numero di versioni.
- Tre trappole specifiche: cache che mescola varianti, robot conteggiati come visitatori, assegnazione confusa con esposizione.
- Scegli in base ai test: aspetto visivo e urgenza lato client, logica di business lato server, intere pagine memorizzate nella cache in periferia.
Per i tuoi test visivi, la sfida rimane quella di mantenere la finestra di applicazione della variante al di sotto della soglia percettibile. Questo è lo scopo del diffusione ultraveloce delle varianti, e il glossario BlastOptimize riprende ciascuno dei concetti tecnici discussi in precedenza.















I commenti sono chiusi.