Site search: A/B test
Laat een deel van je bezoekers je huidige zoekfunctie houden en meet eerlijk of Nexym search beter werkt en meer verkoopt.
Een A/B test verdeelt je bezoekers over twee groepen die elk een andere versie krijgen. Zo vergelijk je twee versies in dezelfde week, met dezelfde producten en dezelfde bezoekers. Het enige verschil is de zoekfunctie. Je opent de test via Site search → Instellingen → Meten: daar staan Nexym vs. je eigen zoekfunctie en Gepersonaliseerd vs. niet, elk met de knop A/B-test openen. Bovenaan de testpagina wissel je tussen de twee tests, en met ← Instellingen ga je terug. Loopt er een test, dan staat naast de naam van de module de chip Er loopt een test.
- Groep A (de controlegroep) houdt de huidige zoekfunctie van je shop: die van je platform, of een zoekdienst van derden. Nexym laat de zoekbalk ongemoeid en meet alleen mee: de zoekterm, een klik op een resultaat, het gebruik van filters en of er een bestelling volgt. Zie Hoe groep A gemeten wordt.
- Groep B (de variant) krijgt Nexym search, met je huidige synoniemen, boosts en filters. Staat Neem de eigen zoekfunctie van de shop over aan (standaard), dan zwijgt je huidige zoekfunctie helemaal: zie Groep B: je huidige zoekfunctie zwijgt.
In het kort
Section titled “In het kort”| Functie | Waar | Standaard en grenzen |
|---|---|---|
| Twee tests | Bovenaan: Nexym vs. je eigen zoekfunctie, Gepersonaliseerd vs. niet | Er loopt er hoogstens één tegelijk |
| 14 meetpunten | Tabel Vergelijking | De twaalf van Analyse, plus landingen op uitverkochte producten en op 404-pagina’s |
| Verdeling | Opzet → Verdeling verkeer | 50/50; of 70/30 of 90/10 |
| Looptijd | Opzet → Looptijd | 28 dagen; of 14 dagen of Tot zeker |
| Groep onthouden | Opzet → Groep onthouden, Ingelogde klanten | 90 dagen (of 30 dagen, of Tot einde test); koppelen aan het klantaccount uit |
| Zonder cookie-toestemming | Opzet → Zonder cookie-toestemming | Loten, anoniem meten (een nieuwe test); of Altijd A, telt niet mee |
| Apparaten | Opzet → Apparaten | Alle; of alleen mobiel of alleen desktop |
| Hoofdmetric | Meten → Hoofdmetric | Zoekconversie |
| Automatisch stoppen | Meten → Automatisch stoppen | aan: stopt bij 95% zekerheid, na minstens een week en 500 per groep |
| Vangrail | Meten → Vangrail | aan: pauzeert als de omzet per zoekopdracht in groep B meer dan 10% daalt |
| Uitsluiten | Meten → Uitsluiten | Altijd aan: bots, intern verkeer (Debugger-toegang (IP), debuglinks en Intern verkeer (IP)) en Probeer een zoekopdracht |
Een voorbeeld
Section titled “Een voorbeeld”Voorbeeldshop twijfelt: is Nexym echt beter dan de zoekfunctie van de eigen Magento-shop? De shop start een test met een verdeling 50/50, een looptijd van 28 dagen en Zoekconversie als hoofdmetric. Na twaalf dagen staat in de tabel bij Zonder resultaat een groene −70% met 99% zekerheid. Bij Zoekconversie staat nog te vroeg. Op dag 19 is de hoofdmetric 95% zeker in het voordeel van B. De test stopt vanzelf, en vanaf de volgende pagina krijgt iedereen Nexym search.
Wat je nodig hebt
Section titled “Wat je nodig hebt”- Site search staat live, niet in testmodus. Een test verdeelt echte bezoekers, en in testmodus ziet alleen jij de module. De testpagina zegt het als dat nog niet zo is.
- Het embed-script op je shop. Er komt geen tweede script bij.
- Nexym moet de zoekfunctie van groep A herkennen. Meestal gaat dat vanzelf: de
resultatenpagina van je shop (
/search,/zoeken,catalogsearch/result,?s=) of de zoeklaag van een bekende zoekdienst van derden. Gebruikt je shop een ander adres, vul het dan in onder Instellingen → Installatie → Je eigen resultatenpagina, bijvoorbeeld/zoeken. Wordt je zoekdienst niet herkend, kies hem dan onder Instellingen → Installatie → Huidige zoekfunctie.
Een test starten
Section titled “Een test starten”- Kies onder Opzet de verdeling, de looptijd en hoe lang een bezoeker zijn groep houdt.
- Kies onder Meten de hoofdmetric. Daarop wordt de winnaar gekozen. De andere meetpunten zijn ondersteunend.
- Zet Test aan en klik Opslaan, of klik bovenaan Start test. Nieuwe bezoekers worden vanaf hun volgende pagina ingedeeld.
Per store
Section titled “Per store”Draait je project meer dan één store, dan hoort de test bij wat je bovenaan in de projectkiezer hebt gekozen:
- Alle stores (het hele project): de test voor alle stores. Die draait op elke store die geen eigen test heeft.
- Eén store: een eigen test voor die store. Zo kan de ene store testen terwijl een andere niets test, of een andere test draait. Kies je een taal van een store, dan werk je aan de test van die store.
Een eigen test van een store gaat op die store vóór de test voor alle stores. Vanaf het moment dat hij gestart is, draait de test voor alle stores daar niet meer, ook niet als de eigen test gepauzeerd of gestopt is. Een opgeslagen maar nog niet gestarte test telt nog niet mee. De cijfers van een eigen test tellen alleen de websites van die store. Met één store verandert er niets: er is dan alleen de test voor het hele project.
| Instelling | Wat het doet | Standaard |
|---|---|---|
| Test aan | Aan: de test loopt. Uit: de test pauzeert en iedereen krijgt de huidige zoekfunctie. De meetdata blijft bewaard | uit |
| Verdeling verkeer | 50/50, 70/30 of 90/10 (A/B). Aanpassen geldt alleen voor nieuwe bezoekers | 50/50 |
| Looptijd | 14 dagen, 28 dagen of Tot zeker. Minimaal 14 dagen, zodat weekend en werkdagen allebei meetellen | 28 dagen |
| Start / Einde | Je kunt een startdatum in de toekomst kiezen. Het einde volgt uit de looptijd; bij “Tot zeker” is dat “zodra 95% zeker” | nu |
| Groep onthouden | 30 dagen, 90 dagen of Tot einde test | 90 dagen |
| Ingelogde klanten | Koppel de groep aan het klantaccount, zodat telefoon en laptop hetzelfde tonen | uit |
| Zonder cookie-toestemming | Wat een bezoeker krijgt die geen toestemming voor statistieken geeft. Zie hieronder | Loten, anoniem meten (een test van vóór 9 oktober 2026 houdt wat er stond) |
| Apparaten | Test op alle apparaten, alleen mobiel (telefoons en tablets) of alleen desktop | alle |
Op een apparaat dat niet meedoet, krijgt de bezoeker Nexym search zoals ingesteld.
| Instelling | Wat het doet | Standaard |
|---|---|---|
| Hoofdmetric | Het meetpunt waarop de winnaar gekozen wordt. Keuze uit Zoekconversie, Klikratio op resultaten, Zoekopdrachten tot product, Zonder resultaat, In winkelwagen vanuit zoeken en Omzet per zoekopdracht | Zoekconversie |
| Automatisch stoppen | Stop zodra de hoofdmetric 95% zeker is, en zet iedereen op de winnaar | aan |
| Vangrail | Pauzeer als Omzet per zoekopdracht in groep B meer dan 10% daalt | aan |
| Uitsluiten | Bots, interne IP-adressen (kantoor) en testverkeer. Altijd aan | altijd aan |
Wat de meetpunten precies betekenen, staat op Meten en privacy.
Hoe groep A gemeten wordt
Section titled “Hoe groep A gemeten wordt”Groep B is Nexym search en meet zichzelf. Groep A is de zoekfunctie van je shop, en die meet Nexym van buitenaf: het script leest mee, verandert niets en blokkeert niets. Op de testpagina staat onder Hoe meten we groep A? welke zoekfunctie Nexym ziet.
Welke zoekfunctie. Groep A heet in de tabel naar wat je shop gebruikt: de naam van de zoekdienst met · huidige zoekfunctie erachter. Nexym herkent dat zelf op je pagina’s. Klopt het niet, kies het dan onder Instellingen → Installatie → Huidige zoekfunctie. Wordt er geen zoekdienst herkend, dan heet groep A naar je platform, bijvoorbeeld Magento 2 · eigen zoekfunctie.
| Meetpunt | Resultatenpagina van je shop | Zoeklaag van een zoekdienst |
|---|---|---|
| Zoekterm | De term in het adres van de pagina | Wat in het zoekvak staat zodra het 1,2 seconde niet verandert en er resultaten staan, of bij Enter, een klik op een resultaat of het verlaten van de pagina. “ri”, “rin”, “ring” is één zoekopdracht |
| Aantal resultaten | De producten op de pagina, of 0 als de pagina “geen resultaten” toont | Het aantal dat de zoekdienst zelf noemt, anders de producten in de laag. 0 alleen als de zoekdienst “geen resultaten” toont |
| Klik op resultaat | Een klik op een product op de pagina | Een klik op een product in de laag, met de positie en de tijd sinds het zoeken |
| Filtergebruik | Een filter op de pagina of in het adres | Een filter in de laag |
| Afgehaakt | De pagina verlaten binnen tien minuten, zonder klik of filter | De laag gesloten of de pagina verlaten binnen tien minuten, zonder klik of filter |
| Winkelwagen en bestelling | Net als bij groep B | Net als bij groep B |
Dezelfde term binnen 30 minuten is dezelfde zoekopdracht, ook als de terug-knop de zoeklaag weer opent.
Eén regel voor beide groepen. Nexym search zoekt terwijl je typt, dus groep B stuurt per letter een vraag. Toch telt een zoekopdracht in beide groepen precies één keer, voor de term waar de bezoeker op uitkwam:
- Een term staat als het zoekvak 1,2 seconde niet verandert, bij Enter, bij een klik op een resultaat of als de bezoeker de pagina verlaat.
- Wat binnen tien seconden een term verlengt of inkort (“arm”, “armb”, “armband”) is dezelfde zoekopdracht; de laatste term telt.
- Een term die binnen 1,2 seconde door een andere wordt vervangen, telt niet: een tikfout die meteen is verbeterd, een woord dat de telefoon autocorrigeert, een suggestie die meteen is aangetikt.
- Zonder resultaat telt alleen als de term waar de bezoeker op uitkwam niets vond. “rl” op weg naar “rlx” is geen zoekopdracht zonder resultaat.
Sinds 10 oktober 2026 telt Nexym zo. Daarvoor kon groep B een tussenstap soms als eigen zoekopdracht tellen, en een klik soms missen. Liep je test al voor die datum, start hem dan opnieuw om groep A en B eerlijk te vergelijken.
Welke zoekdiensten. Nexym herkent de zoeklaag van een aantal veelgebruikte zoekdiensten van derden; de lijst staat onder Instellingen → Installatie → Huidige zoekfunctie. Eén daarvan is op een echte shop gecontroleerd, de andere volgen de documentatie van de leverancier. Dat zegt de testpagina onder Hoe meten we groep A?. Is Nexym bij zo’n dienst niet zeker van een aantal, dan blijft het onbekend in plaats van een gok. Staat jouw zoekdienst er niet bij: kies Andere. Nexym meet dan alleen zoekopdrachten die op een resultatenpagina uitkomen.
Als groep A niet te meten is, zegt de testpagina dat met een gele melding:
- Zoekfunctie niet herkend: groep A heeft nog geen gemeten zoekopdracht terwijl groep B er minstens 50 heeft. Dan vergelijkt de tabel niets. Bij elk meetpunt staat een notitie in plaats van een getal.
- Resultaten onbekend: bij meer dan 10% van de zoekopdrachten in groep A (vanaf 20 zoekopdrachten) is het aantal resultaten onbekend. De melding noemt het aandeel. Zonder resultaat wordt dan niet vergeleken.
- Andere: je hebt Andere gekozen. Een zoeklaag over de pagina ziet Nexym dan niet.
Een meetpunt dat niet vergeleken wordt, telt ook niet mee voor de winnaar, voor Automatisch stoppen en voor de vangrail.
Zo blijft een bezoeker in dezelfde groep
Section titled “Zo blijft een bezoeker in dezelfde groep”- Eerste bezoek: één keer loten. Het script geeft de bezoeker een vast nummer van 0 tot 99. Onder het percentage van A is het groep A, anders groep B.
- De groep wordt onthouden. In de browser (in
localStorageen in de cookienx_ab) en, als je dat aanzet, bij het klantaccount. - Elke pagina: eerst de groep lezen. Bij verversen of in een nieuw tabblad kijkt het script eerst naar de opgeslagen groep, vóór de zoekbalk laadt. De bezoeker ziet dus nooit even de andere zoekfunctie.
- De test stopt of verandert. Een andere verdeling geldt alleen voor nieuwe bezoekers. Gepauzeerd: iedereen krijgt A tot de test hervat. Winnaar gekozen: iedereen krijgt de winnaar, en de groep vervalt.
Ingelogde klanten. Staat deze optie aan, dan wordt de groep ook bij de klant in de hub bewaard, zodat telefoon en laptop hetzelfde tonen. Wie er is ingelogd, leest het script uit de ene bron die ook Klant herkennen gebruikt: zie Ingelogde klant, met een fragment per platform. Bij Ingelogde klanten zie je welke bron op je site gezien is.
- Alleen met toestemming voor statistieken. Het klantnummer gaat dan naar Nexym, dat er de klant in de hub mee opzoekt (via het id dat je koppeling voor die klant kent, of de herkende klant van deze browser). Het nummer zelf wordt niet bewaard.
- De eerste groep blijft: een ander apparaat krijgt dezelfde groep vanaf de volgende pagina, nooit halverwege een pagina.
- Kent de hub de klant nog niet (nog niet geïmporteerd), dan wordt de groep bewaard als een hash van het klantnummer, zoals vóór 28 september 2026. Koppelingen van vóór die datum blijven gelden tot ze vervallen; niemand wisselt midden in een test van groep.
- Klant verwijderen neemt de groepen van die klant mee.
Zonder cookie-toestemming
Section titled “Zonder cookie-toestemming”Het script volgt de toestemming voor statistieken die je shop al vraagt: je cookiebanner, Google Consent Mode of de module Consent.
| Instelling | Wat de bezoeker zonder toestemming krijgt |
|---|---|
| Altijd A, telt niet mee | De eigen zoekfunctie. Er wordt niets opgeslagen en niets meegeteld. Geeft de bezoeker toestemming, dan wordt hij meteen ingedeeld; zijn groep geldt vanaf de volgende pagina |
| Loten, anoniem meten | Een groep voor dit bezoek, alleen in de sessie van de browser bewaard. Geeft de bezoeker later toestemming, dan blijft hij in die groep |
Toestemming op de pagina zelf. Klikt een bezoeker bij Altijd A, telt niet mee op “accepteren”, dan loot het script direct en bewaart het de groep. Op de pagina waar hij dat doet, verandert niets: de zoekbalk wisselt nooit onder zijn handen, en die pagina telt niet mee. Vanaf de volgende pagina krijgt hij zijn groep en telt hij mee, ook als bezoeker: het bezoek wordt dan alsnog aan zijn groep toegerekend, één keer.
Trekt een bezoeker zijn toestemming in, dan wordt de opgeslagen groep direct verwijderd. Vanaf de volgende pagina krijgt hij weer A, en telt hij niet mee.
Groep B: je huidige zoekfunctie zwijgt
Section titled “Groep B: je huidige zoekfunctie zwijgt”Staat Instellingen → Gedrag → Neem de eigen zoekfunctie van de shop over aan (standaard), dan neemt Nexym in groep B het zoekvak van je shop helemaal over. Verbergen alleen is niet genoeg: het script van je huidige zoekfunctie luistert anders nog steeds naar elke toetsaanslag, vraagt bij zijn eigen servers suggesties op en schrijft zijn zoekterm in het adres van de pagina. Dat telt mee in de statistieken en het verbruik van die dienst, voor zoekopdrachten die niemand ziet.
- In groep B bereiken toetsaanslagen, plakken en focus in het zoekvak alleen Nexym. Je huidige zoekfunctie hoort niets en vraagt niets op.
- Schrijft je huidige zoekfunctie toch zijn zoekterm in het adres (na
#), dan haalt Nexym die weg. Nexym doet dat hooguit een paar keer per pagina en blijft er niet tegen vechten. - Groep A en een shop waar die instelling uit staat: Nexym komt niet aan je huidige zoekfunctie. Die werkt precies zoals zonder Nexym.
De tabel lezen
Section titled “De tabel lezen”Bovenaan staat de tussenstand, bijvoorbeeld Tussenstand · dag 12 van 28 · 4.310 bezoekers die zochten, met de verdeling en het aantal bezoekers per groep. Daaronder:
- Nexym search wint op X van 14: het aantal meetpunten waar B beter is én de zekerheid minstens 95% is.
- Hoofdmetric: het verschil en de zekerheid op je hoofdmetric.
De tabel Vergelijking toont per meetpunt:
| Kolom | Betekenis |
|---|---|
| Meetpunt | Welk meetpunt. De hoofdmetric heeft een label hoofdmetric |
| A · huidig | De waarde in groep A |
| B · Nexym | De waarde in groep B |
| Verschil | Hoeveel B verschilt van A, in procenten |
| Zekerheid | Hoe zeker het is dat het verschil geen toeval is |
Groen betekent dat Nexym beter is, ook bij meetpunten waar lager beter is. Minder zoekopdrachten zonder resultaat is dus een groene −70%.
Zekerheid (in statistiek: confidence) zegt hoe waarschijnlijk het is dat het verschil echt is, en niet door toeval komt. Onder 95% staat er te vroeg: het verschil kan dan nog toeval zijn. Wacht in dat geval. De zekerheid gaat nooit hoger dan 99%.
Met Alle / Mobiel / Desktop filter je alleen de tabel. De test zelf verandert niet.
Waar een klik op een zoekresultaat uitkomt
Section titled “Waar een klik op een zoekresultaat uitkomt”Twee rijen zeggen of een klik op een resultaat de shopper ergens bracht waar hij iets mee kon. Lager is beter: groen betekent dat Nexym er minder heeft.
| Meetpunt | Wat het telt |
|---|---|
| Landingen op uitverkochte producten | Van alle landingen: het deel op een product dat volgens de voorraad in Nexym niet te bestellen was |
| Landingen op een 404-pagina | Van alle landingen: het deel op een pagina die “niet gevonden” gaf |
Zo wordt geteld, voor beide groepen hetzelfde:
- Een landing is de eerste productpagina of 404-pagina binnen 30 minuten na een klik op een zoekresultaat, in hetzelfde bezoek. In groep B is dat een klik in de Nexym-overlay, in groep A een klik op de resultatenpagina van je eigen zoekfunctie. Eén klik is hooguit één landing: verversen of doorklikken telt niet nog eens.
- Uitverkocht volgens de voorraad in Nexym op het moment van de landing: geen enkele variant op voorraad en niet nabestelbaar. Nabestelbaar (bijvoorbeeld backorders aan in Magento of WooCommerce) telt als te bestellen. Weet Nexym de voorraad van een product niet, dan telt het nooit als uitverkocht.
- 404 komt van het Nexym-script zelf: het leest de status van de pagina (ook de “niet gevonden”-pagina van Magento, Shopify, WooCommerce en Shopware). Een serverfout (5xx) is geen 404.
- Een landing hoort bij de dag van de zoekopdracht: zocht iemand om 23:50 en landde hij om 00:05, dan telt het één keer, op de eerste dag.
Onder de tabel klap je Waar een klik op een zoekresultaat op uitkwam open: per groep zoekopdrachten, klikken, landingen, uitverkocht en 404 (aantal en percentage), en de top 20 uitverkochte producten en 404-pagina’s. Een 404 staat er als pad, zonder querystring.
Stoppen, pauzeren en de vangrail
Section titled “Stoppen, pauzeren en de vangrail”- Pauzeer test: iedereen krijgt de eigen zoekfunctie (A) en er wordt niets meegeteld. De groepen blijven bewaard. Hervat test zet iedereen terug in zijn groep.
- Stop & kies winnaar: het venster zegt welke groep voorop ligt op de hoofdmetric, en hoe zeker. Met Stop & zet live krijgt de winnaar iedereen vanaf de volgende pagina. Wil je daarna opnieuw testen, dan start je een nieuwe test en wordt iedereen opnieuw ingedeeld.
- Automatisch stoppen: zodra de hoofdmetric 95% zeker is, gaat iedereen naar de winnaar. Nexym wacht daarvoor minstens een week en 500 zoekopdrachten (of bezoekers) per groep, zodat één drukke middag geen winnaar maakt.
- Vangrail: daalt de omzet per zoekopdracht in groep B meer dan 10%, met minstens 500 zoekopdrachten per groep en 90% zekerheid, dan pauzeert de test zichzelf.
- Einddatum bereikt: is de hoofdmetric dan 95% zeker, dan wint die groep. Zo niet, dan stopt de test zonder winnaar en draait Site search gewoon zoals ingesteld: live, dus Nexym search voor iedereen. Wil je terug naar je oude zoekfunctie, dan zet je de module zelf uit.
Nexym controleert een lopende test elk uur. In Runs & logs staat die controle als A/B test review · Site search. Stopt of pauzeert een test zichzelf, dan krijg je een melding via je alerts (de regel A/B test stopped or paused). Elke wijziging staat in het auditlog.
Wat nooit meetelt
Section titled “Wat nooit meetelt”Bots, de adressen op Debugger-toegang (IP) (Beheer → Debugger: je kantoor, je ontwikkelaar) en op Intern verkeer (IP) (Beheer → Bezoekers & toestemming → Geavanceerd: een adres van waaruit een debuglink is geopend, komt daar vanzelf 30 dagen op), browsers met een debug-link, de preview in het dashboard en Probeer een zoekopdracht. Een bezoeker die zonder toestemming in groep A is gezet (“Altijd A, telt niet mee”) telt ook niet mee.
De tweede test: gepersonaliseerd of niet
Section titled “De tweede test: gepersonaliseerd of niet”Op dezelfde testpagina kies je bovenaan ook Gepersonaliseerd vs. niet, of je opent hem meteen vanuit Instellingen → Meten. Groep A krijgt je Nexym-zoekfunctie zoals hij is, groep B dezelfde zoekfunctie afgestemd op wat de bezoeker zei te willen (zie Klantcontext). Je ziet dezelfde meetpunten per groep. Deze test loopt alleen als de zoekfunctie zelf niet getest wordt, zodat een resultaat nooit aan twee tests wordt toegeschreven.