Personyze Wiki Personyze Wiki docs
Nederlands
  • English
  • Español
  • Français
  • Deutsch
  • Italiano
  • Nederlands
  • Português
  • Polski
  • 日本語
  • العربية
Open Personyze
Docs/ Developers/ Personalisatie aan de serverkant
Developers

Personalisatie aan de serverkant

Laat je eigen server Personyze vragen wat een bezoeker moet zien en geef het antwoord zelf weer — wanneer dat zinvol is, hoe het werkt, A/B-testen en de officiële bibliotheken.

5 min read Updated 2 hours ago

Personyze wordt meestal geïnstalleerd als JavaScript-snippet: het laadt in de browser van de bezoeker, beslist wat er wordt getoond, en geeft dat in de pagina weer. Voor de meeste sites is dat de juiste keuze.

Maar dezelfde beslisengine antwoordt ook via HTTP, zodat je eigen server kan vragen “wat moet deze bezoeker zien?” en het antwoord zelf kan weergeven. Er laadt niets in de browser, en de pagina komt al gepersonaliseerd binnen.

Is dit iets voor jou?

Gebruik personalisatie aan de serverkant als:

  • Je pagina’s op de server weergeeft en je de korte flits van standaardcontent vóór de personalisatie niet wilt. Een variant die op de server is weergegeven, is gewoon de pagina — er valt niets te wisselen en niets te verbergen.
  • Je iets onzichtbaars wilt A/B-testen. Een ander rangschikkingsalgoritme, een andere prijs, een ander API-antwoord. Er is geen element op de pagina om te wijzigen, dus een visuele tool heeft niets om mee te werken.
  • Er geen browser is. Een native app, een kiosk, een settopbox, een e-mailpipeline, een supporttool. Alles wat een HTTPS-verzoek kan doen, kan worden gepersonaliseerd.
  • Het snippet wordt geblokkeerd. Adblockers, strikte content-security-policy’s en bedrijfsproxy’s houden allemaal scripts van derden tegen. Een aanroep aan de serverkant is jouw server die met de onze praat.

Blijf bij het browsersnippet als je zichtbare pagina-elementen op een gewone website personaliseert en campagnes in de visuele editor wilt bouwen zonder een developer erbij te halen. Je kunt ook allebei doen: aanroepen aan de serverkant en browsersessies delen één bezoekersprofiel en één A/B-toewijzing, zolang beide de persoon op dezelfde manier identificeren.

Hoe het werkt

Eén HTTPS-endpoint doet alles. Jij vertelt Personyze wat de bezoeker net deed, en Personyze vertelt jou wat er daarna moet gebeuren:

  1. Je server roept Personyze aan op het moment dat die iets gaat weergeven — een pagina, een productlijst, een API-antwoord.
  2. Personyze antwoordt met actie-ID’s: de campagnes die op dit moment bij deze bezoeker passen, en wat die moet zien.
  3. Je code bepaalt wat elke ID betekent. Actie 88 kan “toon de banner voor gratis verzending” betekenen of “gebruik rangschikkingsalgoritme B”. Je koppelt ID’s aan gedrag in je eigen code, of leest de kant-en-klare content uit het antwoord.
  4. Je vertelt Personyze wat je hebt gedaan. Daardoor worden de rapportage en de A/B-resultaten echt.

Alles wat je al in het panel instelt, blijft gelden: doelgroepen, targetingregels, planning, A/B-verdelingen en de rapporten.

Een A/B-test draaien

Stel de test in het panel precies zo in als voor een test op de site — een A/B-testcampagne, een actie per variant, en je criteria voor de winnaar. Voor een test die volledig aan de serverkant draait, hebben de acties helemaal geen content nodig: de ID alleen vertelt je code welke tak die moet nemen.

Roep daarna in je code Personyze aan op het beslismoment, vertak op de actie-ID die terugkomt, en meld de uitkomst.

Personyze wijst bezoekers toe aan varianten — jij niet. Personyze houdt de toewijzing bij en houdt elke bezoeker in dezelfde variant over bezoeken en apparaten heen, zolang je die consequent identificeert. Verdeelt je code het verkeer ook, dan zijn de twee systemen het oneens over wie in welke variant zit en betekenen de resultaten niets meer.

Twee dingen die mensen missen, allebei de moeite waard om vóór de lancering te controleren:

  • Meld dat je de variant hebt weergegeven. Een actie die je nooit meldt, lijkt nooit te hebben gedraaid. Die variant verliest de test niet — die lijkt helemaal geen verkeer te hebben gehad, en de test kan nooit tot een conclusie komen.
  • Meld de uitkomst in de vorm die je winnaarscriterium meet. Een test die op aankopen wordt beoordeeld, beweegt niet door kliks te melden. Laat het signaal aansluiten op het criterium dat je koos, anders lijkt de variant niets te hebben opgeleverd.

De resultaten verschijnen in het panel precies zoals bij tests op de site — significantie, verbetering ten opzichte van de controle, en de winnaar — en kunnen ook programmatisch worden gelezen als je ze in je eigen dashboard wilt.

Officiële bibliotheken

Je kunt het endpoint rechtstreeks aanroepen met elke HTTP-client. Er zijn bibliotheken voor de gangbare stacks die de details regelen die makkelijk misgaan — de sessie bijhouden, snel een time-out geven, en nooit een personalisatieaanroep de pagina laten neerhalen die hij personaliseert:

  • Node.js / TypeScriptnpm install @personyze/node, met hulpfuncties voor Express en Next.js.
  • PHPcomposer require personyze/personyze.
  • Pythonpip install personyze, met hulpfuncties voor Django en Flask.

Elke bibliotheek is een dunne laag om hetzelfde endpoint, dus er wordt niets voor je verborgen en je kunt altijd terugvallen op ruwe HTTP als dat nodig is.

Prestaties en veiligheid

Een personalisatieaanroep zit in het pad van het weergeven van een pagina, dus de bibliotheken hebben standaard een time-out van 1 seconde en falen open: is Personyze traag of onbereikbaar, dan krijgt je code een leeg antwoord en geeft die de standaard weer. Je pagina wacht nooit op ons, en breekt nooit door ons.

De aanroep wordt geauthenticeerd met een API-sleutel via HTTPS. Houd die op je server — hij heeft volledige toegang tot je account, anders dan het trackersnippet, dat bewust openbaar is.

Wat je nodig hebt om te beginnen

  1. Een API-sleutel. In het panel: Instellingen → Integraties → Full-featured API.
  2. Een stabiele bezoekers-ID. Je eigen gebruikers-ID, een apparaat-ID, een hash — alles wat je voor dezelfde persoon de volgende keer opnieuw kunt maken. Daardoor blijft iemand over bezoeken heen in één A/B-variant.
  3. Een plek om een sessie te bewaren. Personyze geeft bij elk antwoord een sessiewaarde terug; geef die bij de volgende aanroep terug. Waar je nu al sessiestatus bewaart, is de juiste plek.

Volgende stappen

De volledige technische documentatie — indelingen van verzoeken en antwoorden, de woordenschat van commando’s, het A/B-recept en een uitgewerkt voorbeeld — staat in de handleiding voor developers: Personalisatie en A/B-testen aan de serverkant.

Weet je niet zeker of de serverkant de juiste keuze is voor jouw situatie, neem dan contact op met support en beschrijf wat je wilt personaliseren; vaak is het antwoord kort.

Did this page answer your question?
Thank you — that goes to whoever maintains this page.