Aanbevelingen leren van drie events: product bekeken, in winkelwagen en gekocht. Weergaven en winkelwagens sturen de rangschikking; de aankoop doet twee dingen — hij schrijft omzet toe aan je campagnes en maakt het beeld compleet van wat echt converteert. (Contentsites volgen artikel bekeken op dezelfde manier.) Deze pagina behandelt elke manier om deze events aan te sluiten, van zonder code tot API.
Waar: Instellingen → Aanbevelingen instellen → Producttracking (Artikeltracking voor content). De stap Interacties van een aanbevelingscampagne toont hetzelfde scherm.
Kies je route
| Pad | Het meest geschikt voor | Instellen |
|---|---|---|
| Platformintegratie | Winkels op Shopify / WooCommerce | Shopify-events (en de winkelwagenextensie), of de schakelaars voor toevoegen aan winkelwagen en aankoop in de WordPress-plug-in. |
| Google Tag Manager | Sites die al GA4-e-commerce-events versturen | Een schakelaar op elke interactie — “geen code — leest de GA4-ecommerce-gebeurtenissen die je al verstuurt” (view_item, add_to_cart, purchase). De datalaaginstellingen worden door alle interacties gedeeld. Zie Google Tag Manager. |
| Vanaf je site | Elke site, zonder code | Personyze leest de product-ID van de pagina af — een CSS-selector, metatag, JavaScript-variabele of de URL van de pagina. Toegevoegd als Sitebronnen op elke interactie; voor productweergaven kan het paneel een van je productpagina’s lezen en de bron voorstellen. |
| Vanuit je code | Single-page apps, maatwerkwinkelwagens | Eén regel JavaScript op het moment dat het event plaatsvindt (zie hieronder). Met Instructies downloaden voor je developer geef je het door. |
| REST API | Server-side en offline events | products_interactions — ook de weg voor historische transacties. |
De JavaScript-pushes
(self.personyze=self.personyze||[]).push(['Product Viewed', "PRODUCT_ID"]);
(self.personyze=self.personyze||[]).push(['Product Added to cart', "PRODUCT_ID", 'Quantity', QUANTITY]);
(self.personyze=self.personyze||[]).push(['Product Purchased', "PRODUCT_ID", 'Quantity', QUANTITY]);
(self.personyze=self.personyze||[]).push(['Products Purchased']);
PRODUCT_ID is de interne ID uit de catalogus; wil je in plaats daarvan een SKU sturen, voeg dan 'key', 'sku' erachter toe. Products Purchased zet elk item in de winkelwagen in één keer om in een aankoop — handig als de bevestigingspagina ze niet kan opsommen.
Het scherm Producttracking
Elke interactie is een rij met zijn status; klik erop om te zien hoe hij wordt gedetecteerd. De rijen staan in drie groepen: Wat de bezoeker doet (Product getoond, Product toegevoegd aan winkelwagen, Product verwijderd uit winkelwagen, Product toegevoegd aan favorieten, Product gekocht), Wat we leren terwijl ze browsen (Categorieën) en Extra tracking, optioneel (Interesses, Gebruikersnaam voor social-proof-widget).

| Status | Betekenis |
|---|---|
| Ontvangt | Er is in de afgelopen 24 uur een event binnengekomen. |
| Niets recent | Het is ingesteld en heeft events ontvangen, maar niet in de afgelopen dag. |
| Nooit ontvangen | Het is ingesteld, maar er is nooit iets binnengekomen. |
| Niet ingesteld | Geen bron, en GTM-detectie staat uit. |
| Vastleggen / Nog geen items | Categorieën en Interesses: er komen waarden binnen / er is een bron ingesteld, maar er is nog niets vastgelegd. |
Ook geschiedenis kan worden geladen: Eerdere gebeurtenissen uploaden op een geopende rij, en Eerdere bestellingen uploaden op Product gekocht — zie Eerdere en offline transacties uploaden.
Categorieën & interesses
Naast de productevents beschrijven twee dingen waar een bezoeker in geïnteresseerd is. Categorieën zijn de taxonomiepaden die bezoekers op je site doorbladeren (Apparel > Tops > T-Shirts). Interesses zijn bredere thema’s waartoe een product kan behoren — fitness, vintage — voor als een categorie niet genoeg is (Interesses voor aanbevelingen). Beide sturen de categorie- en interesse-aanbevelers en je kunt er ook op targeten.

Op Producttracking is elk een eigen rij. De tip bij de rij Categorieën zegt waarom het ertoe doet:
Vuur “Categorie bekeken” af op categoriepagina’s: het is het anker voor categorieaanbevelingen en de enige betrouwbare manier waarop een bezoeker een categorie krijgt. Productweergaven voegen alleen categorieën toe waar de cataloguskoppeling is ingesteld om bezoekersinteresses bij te werken.
“De cataloguskoppeling” is haar instelling Update visitor’s interest when — de standaard voor feeds die sinds 2026-09 zijn geïmporteerd; bij oudere feeds is die leeg. Rapporteer de categorie dus op categoriepagina’s. Drie manieren om hem vast te leggen:
| Methode | Wanneer | Hoe |
|---|---|---|
| Het URL-pad | De categorie staat gewoon in het adres, bijv. /shop/footwear/. |
Sitebronnen → een bron die de URL leest: het pad, één padsegment of een URL-parameter. |
| Een pagina-element | De pagina toont de categorie — een broodkruimelpad, een kop. | Sitebronnen → een CSS-selector (of een metatag of JavaScript-variabele). |
| Een JS-push vanuit je CMS | Je CMS kent de categorie als het de pagina opbouwt. | Vanuit je code — op een categoriepagina:(self.personyze=self.personyze||[]).push(['Category', "CATEGORY_NAME"]);of meerdere tegelijk: ['Categories', "Books", "Sports inventory"]. |
Rapporteert je datalaag hem al, dan heeft de rij ook een Google Tag Manager-schakelaar. Interesses leg je op dezelfde manier vast vanuit de rij Interesses — (self.personyze=self.personyze||[]).push(['Interests', "Books", "Sports inventory"]);, tot 15 per aanroep.
QA — aantonen dat events binnenkomen
- Open Livebezoeken, blader in een ander tabblad door je winkel, en zie je eigen events voor bekijken / winkelwagen / aankoop binnen enkele seconden verschijnen.
- Op Producttracking (of in de stap Interacties van de campagne) toont elke rij zijn status; Bekijk gevolgde gebeurtenissen somt op wat er is binnengekomen.
- Product-ID’s moeten overeenkomen met je catalogus — een event waarvan de id niet in de catalogus staat, kan niet aan een product worden gekoppeld. Die mismatch is de meest voorkomende oorzaak van “tracking werkt, maar aanbevelingen leren niets”.