Splittest er det nye sort, det bliver et godt emne i 2012. Jeg kan allerede mærke det.
Hver gang jeg går til et foredrag om e-handel eller online forretningsoptimering, så bliver der snakket om splittest (eller A/B-test). Lige for tiden er der rigtigt mange der hører om splittest, men ikke helt hvad det er og slet ikke ved hvordan de skal komme i gang. Jeg har købt domænet splittester.dk, blandt andet for at komme det lidt i møde (også fordi der ikke sker noget brugbart på splittest.dk). Mere om det senere (købte det i går).
Men i dette indlæg vil jeg dele nogle andre erfaringer. I dag har jeg lukket 3 tests ned og startet 3 nye. Det foregår som altid i Optimizely. En af de ting jeg efterhånden har forstået er, at Optimizely og jQuery går hånd i hånd.
Nu ved jeg meget lidt om jQuery, så lidt, at det er nemmere hvis du selv googler det. Men det er et "programmeringssprog" der gør, at jeg tage elementer (eller kode) fra den side jeg laver test på og ændre på dem.
Det er faktisk det Optimizely normalt gør bag kulissen, men det bliver først rigtigt lækkert når man selv kan justere på den. Særlig med meget dynamiske sider er det fuldstændigt uundværligt.
Lad mig dog give nogle eksempler.
Benjamin Gundgaard, der for tiden får opmærksomhed med hans e-handelsbog, skriver at det er en god idé at tilføje en forklarende tekst efter "gå-videre"-knapperne i købsflowet i en e-shop. Sikkert nok. Men nu tager jeg jo ikke bare alt for gode vare, så derfor skal det testes. Til dagligt ser knappen således ud:

Jeg vil gerne tilføje en lille tekst efter knappen, så det ser således ud:

Det gør jeg ved at indsætte følgende kode i Optimizely:
$("div#proceedBtn").append('<br><br><span style="color: rgb(50, 50, 50); font-size: 11px; font-family: Verdana,Helvetica,sans-serif;">På næste side: Indtastning af kortoplysninger via sikker forbindelse.</span>');
Det er funktionen append() der er smart her. Med den kan jeg tilføje forskellige elementer til den eksisterende knap.
Vi er også igang med at teste om der er felter vi kan undvære i vores tjek-ud forløb, fx det ekstra telefonfelt. Igen kan jeg med jQuery let fjerne et felt og teste resultatet:
$("div.wtChckMg2 > div:eq(8)").css({"display":"none"});
Jeg kan også lave rimeligt avancerede ting, men der har jeg dog brug for lidt hjælp udefra – enten fra kodehoveder i firmaet eller fra Optimizely's super-supporter Ricky, som tager alle henvendelser helt alvorligt. Lad mig også her give et eksempel.
De sider vi i <et rejsebureau> har til at vise hvilke hoteller vi har, når du søger på en bestemt dato, et bestemt sted og med et bestemt antal rejsende – er meget dynamiske. Hele websiden "lever" i én session og har derfor ikke en fast URL. Jeg kan altså ikke fortælle Optimizely hvilken side den skal se på, for siden eksisterer kun i nuet (eller i den tid sessionen varer). Samtidigt er hele sidens indhold jo dynamisk fordi det er søgeresultater. Så jeg kan kun identificere elementer på siden via deres ID. Det kan være en DIV, det kan være en H1 eller det kan være en css klasse. Men her er jQuery superstærkt. Lad mig beskrive den løsning jeg har lavet med ord:
"Kære jQuery. Tag en overskrift på siden (der fx hedder 'London, Vælg overnatning og fly'). Tag teksten fra den overskrift og træk ", Vælg overnatning og fly" fra. Gem resten i en variabel. For hvert søgeresultat skal du gøre følgende. Tag hotellets navn og tilføj "Med fly til" og sæt derefter overskriften fra variablen og sæt for enden. Når du har gjort det, så sæt lige et link efter ordet fly, til det fly vi har fundet til pakkerejsen. – ps. du skal kun gøre dette på nogle helt bestemte sider".

Det er teksten markeret med rød ramme, der dynamisk tilpasses og indsættes på alle hotel-resultater (klik på billedet for at se det i fuld størrelse). Jeg måler på antallet af brugere der lægger i kurven og antallet der gennemfører købet.
Hvis man skulle forestille sig at lave en lignende ændring i fx Google Website Optimizer, så ville man være ude på dybt vand. Så selv til store dynamiske sites er Optimizely meget fleksibelt og ultra-stærkt (vi har millioner af unikke besøgende). Jeg synes i hvert fald det er blevet meget sjovere at teste, fordi jeg med jQuery har næsten ubegrænsede muligheder for at variere noget kode som jeg ellers til dagligt ikke har adgang til.
Jeg er med andre ord begyndt at programmere igen
Håber det giver dig lidt indblik i split-testens muligheder. Det eneste der skal til er viljen til at teste, resten er dejligt nemt.
/Ole







