Het dashboard zei dat de conversie daalde. Het aantal bestellingen was niet veranderd. Als je dat dit kwartaal hebt gezegd, verschillen die cijfers niet over hoe je bedrijf presteert. Ze verschillen over de noemer van een verhouding: het aantal sessies, en hoeveel geautomatiseerd verkeer daarin zit.
Een conversiepercentage is het ene getal gedeeld door het andere. Als de noemer groeit zonder dat de teller groeit, daalt de ratio, ook als geen enkele klant zich anders gedraagt. Dat is precies wat botverkeer zonder conversies doet. Beide platforms die je bekijkt, Shopify Analytics en Google Analytics 4, houden daar nu rekening mee, maar volgens verschillende regels.
Shopify onderscheidt nu menselijke sessies van botsessies
Shopify meet elke sessie op je winkel en markeert die als mens of bot op basis van alle events binnen die sessie. Rapporten die dit ondersteunen hebben een dimensie Human or bot session en een bijpassend filter. Shopify zegt duidelijk wat bots eruit filteren met de cijfers doet: hogere conversiepercentages doordat botsessies zonder conversies verdwijnen, lagere totale sessieaantallen en nauwkeurigere cijfers voor campagnes en productpagina’s.
De classifier is bewust terughoudend. Shopify mist liever een paar bots dan een echte klant als bot te markeren. In het eigen voorbeeld wordt een sessie met vier botevents en twee menselijke events nog steeds als mens geclassificeerd. Het volledige patroon bepaalt het oordeel, niet de meerderheid van de events.
Twee beperkingen zijn in de praktijk belangrijk. Botfiltering geldt alleen voor sessiegebonden statistieken. Bestellingen, verkoop en klanten blijven onaangeroerd. De classificatie werkt ook niet terug in de tijd: ze geldt alleen voor sessies vanaf 7 oktober 2025. Bij een vergelijking die verder teruggaat kun je dus niet beide perioden op dezelfde manier filteren.
Tussen 21 en 23 september 2026 veranderde Shopify vervolgens de standaard. Zodra de update van sessiemeting een winkel bereikte, werden herkende botsessies standaard uit sessierapporten gefilterd. Sessies werden geteld op basis van doorlopende klantactiviteit in plaats van te eindigen om middernacht UTC. Een sessie eindigt nu na 30 minuten inactiviteit. Shopify’s uitleg is duidelijk: gebruik de periode na de update als nieuwe baseline. Veranderen je sessiegebonden cijfers terwijl bestellingen en verkoop gelijk blijven, dan is de meting veranderd, niet je winkel.
GA4 sloot bots al uit, zonder het te tonen
GA4 wacht niet tot je filtert. Verkeer van bekende bots en spiders wordt automatisch uitgesloten op basis van Google’s onderzoek en de International Spiders and Bots List van het Interactive Advertising Bureau. Voor reconciliatie is vooral dit belangrijk: je kunt die uitsluiting niet uitschakelen en je kunt niet zien hoeveel bekend botverkeer is uitgesloten.
GA4-sessies zijn dus al ontdaan van één type bot: de bekende bots. Een geavanceerde scraper die zich als een echte browser voordoet staat niet op die lijst en wordt wel geteld. GA4 heeft daar geen dashboard voor. Je kunt dit alleen opsporen door naar gedrag te kijken.
Verkeer van je eigen team is een apart probleem met een aparte tool. GA4 kan intern verkeer op IP-adres herkennen via de parameter traffic_type en het vervolgens met een datafilter uitsluiten. Let op het woord filter: zodra een GA4-datafilter actief is, is het effect op de data permanent. Uitgesloten events worden nooit verwerkt en verschijnen nooit in rapporten of BigQuery. Per property zijn maximaal 10 datafilters toegestaan; het kan 24 tot 36 uur duren voordat een filter effect heeft.
Waarom de conversiepercentages van Shopify en GA4 nooit exact overeenkomen
Zet de twee naast elkaar en de reden is duidelijk. Shopify verwijdert bots met een eigen classifier op basis van events uit de hele sessie. GA4 verwijdert bekende bots uit een gepubliceerde lijst en laat de rest aan jou over. Er is geen gedeelde sessiedefinitie, botlijst of klok. De systemen meten niet dezelfde noemer. Hun conversiepercentages zijn twee platformspecifieke verhoudingen, niet één waarheid.
De cijfers die niet veranderen, bestellingen, verkoop en klantaantallen, zijn de controle. Als een ratio en een sessieaantal daarmee botsen, zijn de ratio en het sessieaantal verdacht.
De controle die je vandaag kunt uitvoeren
Vergelijkingstabel — scrol horizontaal om alle kolommen te bekijken
| Wat je ziet | Waarschijnlijkste oorzaak | Waar je kijkt |
|---|---|---|
| Conversiepercentage daalt, sessies stijgen, bestellingen blijven gelijk | Botsessies zonder conversies in de noemer | Shopify: stel Human or bot session in op Bot |
| Ratio of sessies verspringen rond 21–23 september 2026 | Shopify-update van sessiemeting | Shopify’s updatemelding; neem de periode na de update als baseline |
| GA4- en Shopify-ratio’s liggen ver uiteen | Andere botfiltering en sessiedefinities | Vergelijk beide noemers; gebruik bestellingen als controle |
| Sessies uit landen waar je niet verkoopt, vrijwel geen engagement | Scrapers die GA4 niet classificeerde | GA4 Explore: geen engagement, één pagina, direct verkeer, per land |
| Bezoeken van jezelf en je bureau worden meegeteld | Intern verkeer is niet gefilterd | GA4 internal traffic → data filter |
Open in Shopify Analytics > Reports, kies een sessierapport en open Controls. Zet Human or bot session op Bot voor het botaandeel, op Human voor de klantweergave, of voeg het als dimensie toe om beide in één rapport te vergelijken. Shopify’s uitgewerkte voorbeeld begint met 1.000 sessies en 35 afgeronde checkouts, een totaalpercentage van 3,5 %. Dat valt uiteen in 750 menselijke sessies met 4 % conversie en 250 botsessies met 2 %. Dat is het verschil tussen een ratio die klanten beschrijft en een ratio die verkeer beschrijft.
In GA4 zoek je de bots die wél zijn geteld, omdat bekende bots al zijn verdwenen. Bouw een exploration van sessies met nul engagementtijd, één pagina en een directe bron, en bekijk het aandeel per land. Kanalen of bronnen met vrijwel geen engagement en sessies van enkele seconden zijn verdacht. Definieer voor je eigen verkeer eerst de interne IP-adressen, test het datafilter en activeer het pas daarna. Onthoud dat activering permanent is.
Hoe ik dit in echte implementaties verifieer
Na een headless Shopify-herbouw voor een Amerikaanse retailer controleerde ik een claim opnieuw voordat ik die herhaalde. Over twaalf maanden had één land ongeveer 100.120 sessies, ruwweg een zesde van alles wat de property registreerde. Elke sessie duurde zes seconden en bezocht één pagina, met nul verkopen en nul leads. Dat liep al sinds augustus 2025 en liet het conversiepercentage ongemerkt slechter lijken dan het was. Ik meldde het kosteloos aan de klant. Een detector voor een land zonder verkoop werd een vast onderdeel van het dagelijkse dashboard.
Dezelfde opdracht leerde me waarom deze controle eerst komt. Een cijfer dat de herbouw mooi had kunnen laten lijken, een sterke daling van het aandeel direct verkeer, bleek gebaseerd op een baseline met een botdag. Daarmee was het cijfer niet betrouwbaar en heb ik het niet gebruikt. De onderbouwde cijfers zijn juist die op basis van bestellingen en terugbetalingen. Een noemer die je niet hebt opgeschoond levert een claim op die je niet kunt verdedigen.
Ook in kleiner rapportagewerk doe ik dit al zolang ik in analytics werk: GA-weergaven en filters bouwen die bot- en intern verkeer verwijderen, zodat de klant besluiten neemt op een schoon dashboard. Bij een vroege rapportageopdracht bespaarde het vervangen van een betaalde rapportagetool door zo’n dashboard de klant meer dan USD 800 per jaar.
“Ik betaalde eerder USD 70 per maand voor een rapportagetool… In slechts twee uur werk heeft hij me dus meer dan USD 800 per jaar bespaard.”
— Klant van een rapportageopdracht (vertaald uit het Engels)
Veelvoorkomende faalpatronen
- Het conversiepercentage lezen als het conversiepercentage van klanten. Het is een verhouding met al het geautomatiseerde verkeer dat door de filters kwam. Lees eerst het cijfer voor alleen mensen.
- Aannemen dat GA4 elke bot verwijdert. GA4 verwijdert bekende bots en stopt daar. Scrapers die zich als browsers voordoen blijven in de noemer.
- Verwachten dat je ziet wat GA4 uitsloot. Dat kan niet. De uitsluiting is onzichtbaar en kan niet worden uitgeschakeld.
- Vergelijken over 21–23 september 2026 zonder nieuwe baseline. Dit is een verandering in de meting, niet in prestaties.
- Voor een gefilterde vergelijking teruggaan tot vóór 7 oktober 2025. Botclassificatie geldt niet voor die sessies.
- Een GA4-datafilter activeren zonder test. Datafilters werken permanent. Een verkeerd filter verwijdert echte data die je niet terugkrijgt.
- Campagnes pauzeren op basis van een ratio die door bots veranderde. Controleer Shopify’s uitsplitsing naar mensen en de bestellingen voordat je een budget wijzigt.
Beperkingen
- Shopify’s classifier is terughoudend. Sommige bots blijven bewust meetellen. Het menselijke cijfer is dus een betere schatting, geen garantie.
- Botfiltering raakt alleen sessiegebonden statistieken. Bestellingen, verkoop en klantaantallen worden nooit gefilterd. Daarom zijn ze de controle.
- GA4’s uitsluiting van bekende bots staat vast. Je kunt die niet uitbreiden, meten of uitschakelen.
- Datafilters voor intern verkeer zijn permanent en beperkt tot 10 per property, met 24–36 uur vertraging voordat ze effect hebben.
- De platforms blijven verschillen nadat je beide hebt opgeschoond. Ze gebruiken andere lijsten en sessielogica. Ze gelijk laten lijken zou een verzinsel zijn.
- Dit gaat over de technische implementatie, niet over juridisch of privacyadvies.
Wanneer je dit niet nodig hebt
Als bestellingen, sessies en conversiepercentage samen veranderen, is botverkeer waarschijnlijk niet de oorzaak. Attributie is dan een waarschijnlijker probleem: de verkoop vond plaats, maar geen platform kreeg haar toegeschreven. Dat vraagt een andere oplossing. Wil je alleen weten of een ratio klopt, dan geeft één werksessie over één property sneller antwoord dan een project. Als je winkel zo klein is dat enkele sessies de ratio al laten schommelen, is een langere vergelijkingsperiode de oplossing, geen botproject.
Ik kan dit voor je bouwen
Dit is de toepassing Tracking valt uit en niemand merkt het: Tracking Watch — dagelijkse reconciliatie, uploadmeldingen en live rapporten.
Het begint met een gratis gesprek. Beschrijf je taak, dan geef ik aan of bots je cijfer veranderen of dat je een meetwijziging of attributieprobleem ziet. Dat gebeurt voordat er iets opnieuw wordt gebouwd.
De gebruikelijke route: een Working Session (EUR 185) beantwoordt voor één property de vraag of de ratio klopt. Een Tracking Health Check (EUR 375) met alleen leestoegang legt het oordeel schriftelijk vast. Wil je de uitsplitsing naar bots en de reconciliatie dagelijks laten volgen in plaats van eenmalig controleren, dan is dat Tracking Watch als Technical Partnership voor EUR 950 per maand.
Beschrijf je taak.