Naar de inhoud
Open Nexym

Klant herkennen

Koppel bezoekers van je site aan klanten in de hub — alleen met toestemming, alleen bij het versturen van een formulier of na een bestelling, en standaard als versleutelde hash.

Bijgewerkt 29 okt 2026·Leestijd 16 mingevorderddataprivacy

Een bezoeker van je site is normaal anoniem. Met Klanten herkennen koppelt Nexym een bezoeker aan een klant in de hub, zodat je ziet welke klant welke bezoeken deed en welke bestellingen daaruit kwamen. Geeft een bezoeker zijn e-mailadres — in je checkout, een nieuwsbriefvak, een contact- of accountformulier, of in een Nexym-module zoals de chat of een popup — dan wordt die bezoeker gekoppeld aan de klant met dat adres. Een klant kan meerdere bezoekers zijn: een telefoon en een laptop.

Bij een nieuw project staat het aan, op Statistiek: een bezoeker wordt pas herkend als hij in je cookiebanner toestemming geeft. Een project van vóór oktober 2026 houdt zijn eigen stand; onder Instellingen-check (onderaan Beheer → Algemeen) zie je wat afwijkt van de aanbeveling en zet je het zelf gelijk. Herkennen van mensen blijft een keuze die jij maakt over je eigen bezoekers: je zet het hier ook weer uit.

Klant herkennen hoort bij de basis van het script: het is geen module in de lijst, en geen module zet het aan of uit. Onder Beheer → Modules op de tag staat het in de eerste rij, Basis: meten & herkennen, met Klantherkenning: aan of uit. Het meten zelf (paginasignalen, het bezoekersnummer) gaat door, ook als klantherkenning uit staat.

Alles staat op één scherm: Beheer → Bezoekers & toestemming. Bovenaan staat de kaart Klanten herkennen:

  • Klanten herkennen — één schakelaar. Aan: een browser bewaart een blijvend bezoekersnummer zodra de bezoeker akkoord geeft, en een bezoeker die een e-mailadres geeft, inlogt of bestelt wordt aan die klant gekoppeld — ook gasten, na het afrekenen. Uit: elke bezoeker wordt alleen voor dit bezoek gemeten; er wordt niets gekoppeld.
  • Op basis van welke toestemming — Statistiek (analytics_storage, de standaard) of Marketing (ad_storage / ad_user_data). Een e-mailadres aan een browser koppelen is persoonsgegevens verwerken: noem het in je privacyverklaring. Onder de keuze staat wat hij betekent: Statistiek herkent meer klanten en past bij je eigen analytics; Marketing is de strengste grondslag voor profilering en herkent minder klanten, alleen wie marketing accepteert. Koos je project eerder Altijd herkennen, dan staat die keuze er nog, en werkt hij als Statistiek (zie Toestemming).
  • Toestemming komt van — alleen ter informatie. Nexym zoekt het zelf uit: draait de Nexym Cookie consent-module, dan die; anders je eigen cookiebanner (bijvoorbeeld Een bekende cookiebanner (gedetecteerd)).

Daaronder zie je hoeveel bezoekers herkend zijn, welk deel van de pagina’s een bezoekersnummer had, en — als er iets mis is — het ene probleem met de knop om het op te lossen. Heb je in de laatste 30 dagen iets aan je toestemming veranderd (Klanten herkennen aan of uit, de categorie, of waar toestemming vandaan komt), dan tellen deze cijfers en de waarschuwing sinds die wijziging: pagina’s van daarvoor liepen op je oude instelling en zeggen niets over de nieuwe. Met 7 dagen of 30 dagen kijk je verder terug. Op Marketing zie je ook hoeveel pagina’s een bezoekersnummer hadden met alleen statistiek-toestemming (die worden bewust niet gekoppeld) en hoeveel bezoekers ja zeiden op marketing maar nee op statistiek: het bezoekersnummer volgt altijd de statistiek-toestemming, dus die krijgen er geen. Onder Orderkoppeling zie je waar de keten van bezoek naar herkende klant afbreekt (zie Waar je het ziet).

Onder Geavanceerd (dichtgeklapt, niemand hoeft het open te klikken): hoe lang het bezoekersnummer blijft (standaard een jaar), Niet-gekoppelde e-mailadressen bewaren (standaard uit; zie Bewaren), waar toestemming vandaan komt als je dat met de hand wilt instellen, de bewaartermijnen, en wie de tag weigert (bots, landen).

  • Alleen bij versturen. Het script luistert naar het versturen van een formulier — nooit naar typen. Het houdt een formulier nooit tegen en verandert er niets aan.
  • Alleen e-mailvelden. Een veld telt als het type="email" heeft, autocomplete="email", of een naam of id met email, e-mail of mail. Een wachtwoord-, betaal-, kaart-, IBAN- of verborgen veld wordt nooit gelezen, en de rest van het formulier ook niet.
  • Nexym-modules geven het adres zelf door als ze het al hadden: de chat na een doorgestuurde vraag of een ordercontrole, een popup na een aanmelding, het retourportaal na een gevonden bestelling, de reviews na “Schrijf een review” met ordernummer en e-mailadres. In de Klantreis en de debugger staat dan precies wáár het adres vandaan kwam, met de module erachter: Herkend via ‘Mail mij als hij terug is’ (Size checker), Review-login (Reviews), Nieuwsbrief via chat, Retourportaal. Bij Mail mij staan het product, de maat en het (gemaskeerde) adres erbij.
  • Na een bestelling: de bedankpagina stuurt het ordernummer, en het adres komt uit de bestelling in de hub. Zie Gasten na het afrekenen.
  • Een ingelogde klant die je shop op de pagina laat zien, wordt ook herkend — één keer per bezoek, en opnieuw zodra er iemand anders inlogt. Wie er is ingelogd, komt uit één bron die ook de A/B-test gebruikt: zie Ingelogde klant, met een fragment per platform (Magento, Hyvä, Shopware, WooCommerce; Shopify werkt vanzelf).
    • met een klant-id: gekoppeld via het id dat je koppeling voor die klant kent, zonder e-mailadres;
    • of met een e-mailadres (window.nexymCustomer = { email: '…' }, of user_data.email in je dataLayer — behalve bij een purchase: dat is een bestelling, zie hieronder).
  • Nooit in een preview, vanuit een module die uit of in test staat, of in een demoproject. In een browser met de debugger aan wordt wel vastgelegd, maar alleen als test — ook vanuit een module in test. Zie Testen.

Er gaat niets uit de browser tot je cookiebanner ja heeft gezegd op de gekozen categorie. Nexym leest dat antwoord automatisch: de Nexym Cookie consent-module, de veelgebruikte cookiebanners (waar dat kan ook al voordat de banner zelf geladen is, uit zijn eigen cookie), IAB TCF of Google Consent Mode. Roept je eigen code Nexym.consent.grant() aan, of laadt je banner het script pas na akkoord, stel dat dan in onder Geavanceerd. Zie Toestemming en je cookiebanner. Trekt een bezoeker toestemming in, dan wordt er vanaf dat moment niets meer verstuurd.

  • Statistieken (standaard) en Marketing: er gaat pas iets uit de browser als de bezoeker ja heeft gezegd op die categorie. Kies de categorie waaronder je deze verwerking in je cookieverklaring noemt. Dat geldt voor élke manier van herkennen — een formulier, een ingelogde klant, de bedankpagina én de koppeling achteraf via de klantreis van een bestelling: een bezoeker wordt alleen aan een klant gekoppeld als die browser op dat moment ja had gezegd op jouw categorie. Op Marketing houdt een bezoeker die alleen statistiek accepteerde wel een blijvend bezoekersnummer (als statistiek dat toestaat), maar wordt hij niet aan een klant gekoppeld.

  • Altijd herkennen (vervallen): herkende vroeger iedere bezoeker, ook zonder keuze in de cookiebanner. Dat mag in de EU niet (AVG, en art. 11.7a Telecommunicatiewet / de ePrivacy-regels), en daarom doet Nexym het nergens meer. Een project dat deze keuze nog heeft, werkt sinds 29 oktober 2026 precies als Statistiek: een browser bewaart pas een blijvend bezoeker-id, en een bezoeker wordt pas aan een klant gekoppeld, na een ja op statistiek. Je hoeft niets te doen; wil je dat het scherm het ook zo noemt, kies dan Statistiek of Marketing. Voor nieuwe projecten staat de keuze er niet meer bij.

    Zolang het zo staat, staat op de kaart Altijd herkennen wacht nu op toestemming voor Statistiek.

  1. Het adres wordt opgeschoond (spaties eraf, kleine letters) en gecontroleerd.
  2. De server maakt er een hash met sleutel van (HMAC-SHA256, met een geheim per project). Dezelfde hash staat bij elke klant in de hub, dus koppelen is een opzoeking en geen vergelijking van adressen.
  3. Hoort het bij een klant, dan wordt alleen de koppeling bewaard. Het adres zelf niet: dat staat al bij de klant.
  4. Hoort het (nog) bij niemand, dan blijft alleen de hash staan, standaard 90 dagen na de laatste keer dat de bezoeker gezien is. Verschijnt de klant in die tijd in de hub — een gastbestelling, de klantenkoppeling — dan wordt hij op dat moment gekoppeld: bij het opslaan van de klant, na elke import van klanten of bestellingen, en elk uur. Daarna worden de hash en de koppeling met de bezoeker verwijderd.

Hoe lang alles bewaard blijft, is één termijn per soort data voor het hele platform (Data & bewaren):

Soort Standaard
Gehashte e-mail · niet gekoppeld 90 dagen na de laatste keer gezien; daarna worden de hash en de koppeling met de bezoeker verwijderd
Gehashte e-mail · gekoppeld Zolang de klant bestaat (tenzij het platform een termijn instelt); weg zodra de klant wordt verwijderd
Geïdentificeerde bezoekers (login of geverifieerde chat) 365 dagen na de laatste keer gezien; daarna is de bezoeker weer anoniem

Zet je Niet-gekoppelde e-mailadressen bewaren aan, dan wordt het adres van een bezoeker die nog bij geen klant hoort ook zelf bewaard, versleuteld — nooit langer dan de hash waar het bij hoort. Elke nacht wordt verwijderd wat ouder is. Zet je het weer uit, dan worden bewaarde adressen direct gewist. Laat het uit, tenzij je die adressen echt moet kunnen zien of exporteren: de hash koppelt een klant die later verschijnt al, en exports en je e-mailplatform gebruiken gekoppelde klanten. Minder bewaren is ook wat de AVG vraagt.

De meeste checkouts versturen het formulier met het e-mailveld nooit: Magento (Luma en Hyvä) gaat met Volgende en Bestelling plaatsen op de achtergrond verder. Een gast zou dus bijna nooit herkend worden. Daarom telt de bedankpagina als het moment waarop een gast zich bekendmaakt:

  1. De bedankpagina stuurt het ordernummer dat erop staat (bij Magento, Shopify en WooCommerce), of het transaction_id van een GA4-purchase in je dataLayer.
  2. Heeft de pagina zelf nog een e-mailadres — user_data.email bij die purchase, of een checkout die het gecontroleerde adres in de browser bewaart — dan gaat dat mee.
  3. Anders zoekt Nexym de bestelling op in de hub en neemt het e-mailadres uit de bestelling. Staat de bestelling er nog niet, dan wacht het ordernummer tot je koppeling hem importeert: direct na de orderimport, of binnen het uur. Na 7 dagen zonder bestelling vervalt het.

Dezelfde regels als hierboven: alleen met toestemming op de gekozen categorie, één keer per bestelling (opnieuw laden stuurt niets), nooit in een preview, en als hash opgeslagen.

Je hoeft niets in je shop te installeren. Magento 2.4.7 en nieuwer blokkeert scripts van buiten op de checkoutpagina zelf (Content Security Policy), maar de bedankpagina niet — en daar is het ordernummer al bekend. Een Magento-module, een CSP-uitzondering of een extra snippet is niet nodig.

Dit hoort bij Klanten herkennen: staat die schakelaar aan, dan worden ook gasten na het afrekenen herkend.

Draait je checkout op een ander domein dan je shop (een gehoste checkout), dan kan het script daar niet meelezen. Komt de koper daarna terug op een bedankpagina op je eigen domein, dan werkt het hierboven gewoon. Anders: heeft je bedankpagina de bestelling aan een bezoek gekoppeld (zie Impact), dan wordt die bezoeker aan de klant van de bestelling gekoppeld — als die browser op de bedankpagina toestemming had op de gekozen categorie:

Op basis van Gekoppeld als de browser op de bedankpagina …
Statistiek een blijvend bezoekersnummer had (ja op statistiek)
Marketing een blijvend bezoekersnummer had én ja op marketing had gezegd
Altijd herkennen (vervallen) zoals Statistiek

Alleen voor bestellingen van de laatste drie dagen. Nexym legt het marketing-antwoord bij de bedankpagina vast sinds 1 oktober 2026; een eerder bezoek wordt op Marketing niet gekoppeld. Een koppeling op basis van een gok — dezelfde producten in de winkelwagen — wordt daarvoor nooit gebruikt.

  • Data → Klanten → een klant → Herkende bezoekers: de bezoekers die deze klant zijn, waar ze herkend werden, wanneer eerst en laatst gezien, en de bestellingen die aan hun bezoek gekoppeld zijn (klik door voor de klantreis). Heeft een bestelling van deze klant een klantreis (Gekoppeld via de bevestigingspagina) maar is de klant niet als bezoeker herkend, dan staat dat er eerlijk bij: Bezoek gekoppeld aan een bestelling, maar niet herkend — geen toestemming gehoord in die browser. Een klantreis heeft geen toestemming nodig (er wordt niets in de browser bewaard); een klant herkennen wel.
  • Beheer → Bezoekers & toestemming → Orderkoppeling: over de laatste 30 dagen (of sinds je laatste wijziging van de toestemming, zoals de cijfers erboven) het aantal bezoeken en het deel met een bezoekersnummer, gezien bedankpagina’s, bestellingen met een klant, met een klantreis en met een herkende klant — en per niet-herkende bestelling waarom: klantherkenning uit, geen e-mailadres, geen webshopbestelling, geen bezoek gezien, alleen via de winkelwagen, geen toestemming gehoord, alleen statistiek-toestemming; dit project herkent op marketing, marketing-toestemming niet vastgelegd (een bezoek van vóór 1 oktober 2026), of nog niet gekoppeld. Op Marketing zie je ook hoeveel bedankpagina’s ja op marketing hadden.
  • Data → Klanten → Anonymous visitors (of Customers + visitors): elke browser met een blijvend bezoekers-id die nog geen klant is, één keer, met de korte id, eerst en laatst gezien, bezoeken en events. Dat geldt zodra Klanten herkennen aan staat en de bezoeker toestemming gaf; de klantcontext hoeft daarvoor niet aan te staan. Ze zijn alleen te bekijken en worden nooit gesynchroniseerd, geëxporteerd of naar een e-mailtool gestuurd; zodra een bezoeker herkend wordt, verdwijnt hij uit de bezoekers en staan zijn bezoeken bij die klant. Is de lijst leeg, dan staat erbij welke instelling ontbreekt. Met Delete visitor data in de detailweergave verwijder je wat Nexym van die browser bewaart.
  • Operaties → Signalen → Live: bij een herkende bezoeker staat de klant. Een bezoeker met alleen het dagelijks wisselende nummer (nog geen toestemming) toont geen klant.

Je test klantherkenning op je echte site, zonder je echte gegevens te vervuilen:

  1. Open je site in debugmodus: met ?nexym_debug=1 achter het adres vanaf een IP-adres dat onder Beheer → Debugger staat, of met een debuglink van die pagina.
  2. Verstuur een formulier met een e-mailadres — een nieuwsbriefvak is het snelst. Gebruik het adres van een klant die in de hub staat als je de koppeling wilt zien. Of plaats een bestelling als gast: op de bedankpagina zie je het ordernummer vertrekken.
  3. Open in het debugpaneel het tabblad Klantherkenning. Daar zie je elke stap:
    • of klantherkenning aan staat en of het script op de pagina draait;
    • welke toestemming nodig is en of deze browser die heeft gegeven;
    • of het bezoeker-id blijvend is of voor alleen dit bezoek geldt;
    • wat er gebeurde bij het versturen: Opgevangen: e-mail (hash …) via native:newsletter, en daarna Gekoppeld aan klant #123 Jan Jansen of Nog geen klant gevonden;
    • na een bestelling: bestelling 000000123, en wacht op de bestelling zolang die nog niet in de hub staat. Na de orderimport zie je de koppeling onder Opgeslagen als test en bij de klant;
    • en als er niets verstuurd werd, waarom niet: geen toestemming, geen e-mailveld, geen geldig adres, klantherkenning uit, al verstuurd voor deze bestelling, enzovoort.

Toestemming geldt ook tijdens het testen, precies zoals bij een bezoeker: zonder ja op de gekozen categorie gaat er niets uit de browser. Zo zie je het echte gedrag. Gebruik je de Consent-module, dan geeft Alles accepteren op het tabblad Consent een echt antwoord. Kun je je eigen cookiebanner niet zomaar beantwoorden, dan kan het tabblad Klantherkenning toestemming simuleren — alleen voor dit browsertabblad en alleen in debugmodus.

Wat je zo vastlegt is een test. De server controleert zelf of je browser de debugger mag openen (je IP-adres of de debuglink); een browser die alleen beweert te testen, legt niets vast. Een test:

  • staat in het debugpaneel en bij de klant onder Herkende bezoekers, met een label Test; in Signalen → Live staat bij de bezoeker de klant met test erachter;
  • telt nergens mee en wordt door niets anders gebruikt: niet in de cijfers op de kaart, niet in A/B-tests, segmenten of Impact;
  • bewaart nooit het e-mailadres zelf, ook niet als Niet-gekoppelde e-mailadressen bewaren aan staat;
  • wordt na 24 uur automatisch verwijderd.

Hetzelfde geldt voor de Nexym-modules die een adres doorgeven (chat, popups, reviews, retourportaal): vanuit een debugbrowser leggen ze een test vast, geen echte koppeling.

Geef je je adres op in een Nexym-module — Mail mij als hij terug is van de Size checker, inloggen om een review te schrijven, de nieuwsbrief in de chat — dan legt de server het vast, niet het formulier op je pagina. Vanuit een debugbrowser vertelt de module het tabblad Klantherkenning wat er met het adres gebeurde. Die stap staat in de lijst met het label Server en waar het adres vandaan kwam, bijvoorbeeld Server · ‘Mail mij als hij terug is’ (Size checker):

  • Gekoppeld aan Marc v. W. (#123) (test, 24 uur): het adres hoort bij een klant in de hub. Een echte bezoeker, dus zonder debugger, wordt met dit adres wél aan deze klant gekoppeld. Testregels gebruikt Nexym bewust niet om klanten te herkennen, daarom blijft de koppeling bij de test.
  • Adres bewaard als hash: geen klant met dit adres in Nexym: er is (nog) geen klant met dit adres. De koppeling volgt zodra die klant binnenkomt.
  • Adres bewaard (niet-gekoppelde adressen bewaren staat aan): alleen bij een echte bezoeker.
  • niet opgeslagen met de reden: geen toestemming voor de gekozen categorie (dan krijgt de module het adres niet mee), klantherkenning uit, de module staat uit, een demoproject.

Staat de browser nog niet gekoppeld, dan noemt Nog niet gekoppeld die stap als reden in plaats van Nog geen e-mailadres of ordernummer. Opnieuw laden vraagt de server opnieuw wie deze browser is en welke testregels er voor deze browser zijn.

Wat je in een debugbrowser op je site doet, wordt vastgelegd zoals bij elke bezoeker: het bezoek, de Klantreis (bekeken producten, winkelwagen, zoekopdrachten) en de interacties met Nexym-modules. Elke stap krijgt het label Debug. Zo zie je bij de klant aan wie je test gekoppeld bent precies hoe alles binnenkomt.

  • Het telt nergens mee: niet in rapporten en monitoring, Impact, segmenten, de anonieme bezoekers in de klantenlijst, AI-overzichten of koppelingen.
  • Het wordt na 7 dagen verwijderd (scherm Data & bewaren, Debugsessies).
  • Het is je eigen testbrowser, geen klant. Toestemming geldt ook hier: zonder ja op de gekozen categorie komt er niets in de Klantreis.
  • Wil je het niet: zet in het debugvenster op Overzicht de schakelaar Deze sessie vastleggen als debug uit. Dan wordt er niets vastgelegd.

Een koppeling is een waarschijnlijkheid, geen inlog. Iedereen kan andermans adres in een nieuwsbriefvak typen. Nexym gebruikt een koppeling daarom om te tellen en toe te schrijven, nooit om een bezoeker iets over een klant te laten zien.

Dit is een verwerking van persoonsgegevens (het koppelen van een e-mailadres of klant-id aan een bezoeker van je site). Noem het in je privacyverklaring en je cookieverklaring voordat je het aanzet.