Sperimentazione
Test server-side
Per le modifiche che non sono mai appartenute al browser: logica dei prezzi, ordinamento della ricerca, tutto ciò che è deciso prima che la pagina sia costruita.
Alcune modifiche non si possono fare modificando una pagina disegnata. Ordinare diversamente un risultato di ricerca, cambiare ciò che restituisce un endpoint di prezzi o sostituire un modello di raccomandazione avvengono tutte prima che esista qualsiasi HTML. Un test server-side copre quei casi: il vostro codice mostra ogni variante, e Pertento tiene il test, decide chi riceve quale variante e si occupa della misurazione.
Chi sceglie la variante è un’impostazione. Con l’assegnazione nel browser la sceglie lo script Pertento in base al peso, esattamente come per un test visuale, e il codice della vostra pagina la mostra: nessuna chiave server, nessuna modifica al backend, e il targeting per URL, per dispositivo e per cookie funziona come sempre. Con l’assegnazione server-side il vostro backend interroga l’SDK server prima del rendering, così il primo rendering è già la variante giusta e nulla cambia dopo il caricamento della pagina.
L’assegnazione server-side porta ciò che serve a un backend. Ogni test ha una chiave di flag e ogni variante una chiave su cui il vostro codice si basa per scegliere, con un payload JSON opzionale per i valori che quella variante usa. Regole sugli attributi dei vostri dati, come il piano o il paese, decidono chi entra nel test, e un test può ripartire in base al vostro identificativo cliente, così un cliente autenticato vede la stessa variante su ogni dispositivo. Pertento non memorizza mai quell’identificativo.
I risultati arrivano sugli stessi schermi statistici di ogni altro test. La pagina conta il visitatore sotto l’identificativo per cui il vostro server ha deciso, e le conversioni arrivano dal browser oppure solo dal vostro backend, mai da entrambi. Pubblicare un vincitore funziona come altrove: da quel momento ogni decisione indica la variante vincente, così il vostro codice la serve a tutti senza un rilascio.