Personyze Wiki Personyze Wiki docs
Nederlands
Open Personyze
Docs/ Feeds & Uploads/ Feeds en databestanden uploaden
Feeds & Uploads

Feeds en databestanden uploaden

Hoe je catalogi, interesses, transacties en gebruikerslijsten in Personyze laadt: de vier afleveringsmethoden, SFTP, de formaatregels, het koppelen van kolommen en problemen oplossen.

27 min read Updated 35 minutes ago

Data in Personyze laden

Waar data nu staan. Elk soort data heeft een eigen scherm in het panel, en elk daarvan opent dezelfde wizard Data importeren uit een bestand of feed (op de catalogusschermen verschijnt die als een sectie Inbound pipelines). Ga naar het scherm voor wat je laadt:

Wat je uploadt Waar je het uploadt
Productcatalogus (voor productaanbevelingen) — inclusief productinteresses / affiniteitstags als kolommen Instellingen → Aanbevelingen → Productcatalogus
Content- / artikelcatalogus (voor contentaanbevelingen) Instellingen → Aanbevelingen → Artikelcatalogus
Eerdere / offline transacties (aankoopgeschiedenis) Instellingen → Aanbevelingen → Producttracking
Eerdere contentinteracties (geschiedenis van lezen / weergaven) Instellingen → Aanbevelingen → Artikeltracking
Gebruikerslijsten / CRM-records, profielvelden, sessieattributen Instellingen → Bezoekersattributen

De schermen onder Aanbevelingen verschijnen zodra je account producten of artikelen heeft ingeschakeld. De wizard, de afleveringsmethoden en de formaatregels zijn op elk scherm gelijk — deze pagina is de gedeelde referentie; alleen de kolommen verschillen.

De wizard Data importeren uit een bestand of feed — stap 1, Uploadbron, met de opties Bestand uploaden, URL-feed, SFTP-push en JSON API
De wizard Data importeren uit een bestand of feed (stap 1, Uploadbron): kies een bestand, een URL-feed, SFTP of de JSON API. Het is dezelfde wizard op elk datascherm. Klik om te vergroten.

Bijna alles waarop Personyze personaliseert, kun je als databestand aanleveren — een productcatalogus voor aanbevelingen, een contentcatalogus voor artikelaanbevelingen, productinteresses voor cross-sell en affiniteitstargeting, gebruikerslijsten uit je CRM, en meer. Ze gaan allemaal door dezelfde wizard Data importeren uit een bestand of feed; alleen de kolommen verschillen.

Deze pagina behandelt hoe je het bestand erin krijgt — de afleveringsmethoden, de formaatregels waarop mensen struikelen, en de koppelstap — met echte, in de praktijk geteste voorbeelden.

Download een voorbeeldfeed

Begin met een kant-en-klaar bestand in plaats van een lege pagina. Elke template heeft de juiste kolomkoppen, de juiste aanhalingstekens en een paar voorbeeldrijen in precies het formaat dat de importer verwacht — vervang de voorbeeldrijen door je eigen data en upload. Alle gebruiken als placeholder example.com -URL’s en algemene demoproducten.

Feed Kolommen Downloaden
Productcatalogus
Voor productaanbevelingen — de kernkolommen.
Internal ID, SKU, Title, Product Page URL, Main Image URL, Price, Sale Price, Is in Stock, Rating, Category, Brand 📥 CSV downloaden
Productfeed (Google / TSV)
Feed in Google Shopping-stijl — direct bruikbaar als URL-feed.
id, title, link, image_link, price, sale_price, availability, brand, product_type, gtin 📥 TSV downloaden
Contentcatalogus
Voor aanbevelingen van artikelen / video’s.
Internal ID, Title, Content Page URL, Main Image URL, Content Type, Category, Author, Published Date 📥 CSV downloaden
Productinteresses
Affiniteitstags per product voor cross-sell & targeting.
Id, Interest (quoted, comma-separated), Category 📥 CSV downloaden
Eerdere transacties
Aankoopgeschiedenis — koppelt gebruikers aan producten die ze kochten.
User Id, Email, Order Id, Product Id, Product Title, Quantity, Price, Currency, Order Date 📥 CSV downloaden
Gebruikerslijst / CRM
Profielvelden met een e-mailadres of gebruikers-ID als sleutel.
User Id, Email, First Name, Last Name, Account Type, Industry, Lifetime Value, Signup Date 📥 CSV downloaden

De template .tsv wordt gedownload als .txt (tabs blijven behouden) — hernoem naar .tsv als je tools dat verwachten, of upload het zoals het is.

Liever doorklikken? Hier is de hele flow — kies een bron, maak het bestand op, koppel de kolommen, importeer. Uitgebreide referentie hieronder.

Een feed uploaden
Kies hoe de data binnenkomen

Kies hoe de data binnenkomen

Ga naar het scherm voor wat je laadt — Instellingen → Aanbevelingen → Productcatalogus / Artikelcatalogus / Producttracking, of Instellingen → Bezoekersattributen — en open Data importeren uit een bestand of feed. Kies een bron: een bestand uploaden (eenmalig), een URL- / RSS- / Atom-feed of SFTP (blijft gesynchroniseerd), of de JSON API (realtime). Overal dezelfde wizard — alleen de velden verschillen.

💡 Een bestand is een momentopname; een URL-, SFTP- of API-feed blijft volgens een schema synchroniseren.
Maak het bestand op

Maak het bestand op

De importer is gescheiden door komma’s. Elke cel die zelf een komma bevat — een lijst interesses, meerdere categorieën — moet tussen dubbele aanhalingstekens staan, anders wordt die in extra kolommen gesplitst. Al het andere is gewone CSV.

💡 Het aantal “N kolommen gevonden” in de volgende stap is je controle van het inlezen — vertrouw daarop meer dan op hoe het bestand er in Excel uitziet.
Koppel de kolommen

Koppel de kolommen

Koppel elke gevonden kolom aan een Personyze-veld. Eén sleutel is verplicht — een Intern ID (of SKU / URL productpagina). Koppel de rest aan hun velden; voeg eventueel Voorbewerking of een Masker toe om een waarde bij binnenkomst op te schonen.

💡 De sleutel moet overeenkomen met hoe je catalogus is gesleuteld. “Importeert prima, maar matcht niets” is bijna altijd een sleutel die niet overeenkomt.
Controleren & importeren

Controleren & importeren

Bevestig de koppeling en start de import. Een bestand laadt één keer; een URL-, SFTP- of API-feed blijft vanaf hier synchroniseren — ongeveer elke paar minuten opnieuw gelezen, zodat voorraad, prijzen en nieuwe records actueel blijven.

Kies hoe de data binnenkomen

Kies hoe de data binnenkomen

Ga naar het scherm voor wat je laadt — Instellingen → Aanbevelingen → Productcatalogus / Artikelcatalogus / Producttracking, of Instellingen → Bezoekersattributen — en open Data importeren uit een bestand of feed. Kies een bron: een bestand uploaden (eenmalig), een URL- / RSS- / Atom-feed of SFTP (blijft gesynchroniseerd), of de JSON API (realtime). Overal dezelfde wizard — alleen de velden verschillen.

💡 Een bestand is een momentopname; een URL-, SFTP- of API-feed blijft volgens een schema synchroniseren.
Maak het bestand op

Maak het bestand op

De importer is gescheiden door komma’s. Elke cel die zelf een komma bevat — een lijst interesses, meerdere categorieën — moet tussen dubbele aanhalingstekens staan, anders wordt die in extra kolommen gesplitst. Al het andere is gewone CSV.

💡 Het aantal “N kolommen gevonden” in de volgende stap is je controle van het inlezen — vertrouw daarop meer dan op hoe het bestand er in Excel uitziet.
Koppel de kolommen

Koppel de kolommen

Koppel elke gevonden kolom aan een Personyze-veld. Eén sleutel is verplicht — een Intern ID (of SKU / URL productpagina). Koppel de rest aan hun velden; voeg eventueel Voorbewerking of een Masker toe om een waarde bij binnenkomst op te schonen.

💡 De sleutel moet overeenkomen met hoe je catalogus is gesleuteld. “Importeert prima, maar matcht niets” is bijna altijd een sleutel die niet overeenkomt.
Controleren & importeren

Controleren & importeren

Bevestig de koppeling en start de import. Een bestand laadt één keer; een URL-, SFTP- of API-feed blijft vanaf hier synchroniseren — ongeveer elke paar minuten opnieuw gelezen, zodat voorraad, prijzen en nieuwe records actueel blijven.

Het scherm Productcatalogus in Personyze
Elke catalogus op één scherm, elk met een eigen status, een eigen laatste synchronisatie en een eigen manier om data erin te krijgen. Optionele catalogi zeggen dat ook. Klik om te vergroten.

Het catalogusscherm, en wat het je vertelt

Instellingen → Aanbevelingen → Productcatalogus (en Artikelcatalogus voor content) is geen enkel uploadformulier meer. Het is een overzicht van elke catalogus die de engine voedt, elk met een eigen status, zodat “zitten mijn data erin?” wordt beantwoord door te kijken in plaats van door opnieuw te importeren:

Rij Wat die bevat
Actieve feeds Wat de catalogus gesynchroniseerd houdt, en of die In orde is.
Productcatalogus De items zelf, met Laatste synchronisatie.
Interesses Producten groeperen op thema.
Categorieën De bladerpaden die bezoekers volgen.
Handmatige cross-selllinks / upselllinks Paren die je zelf vastlegt, per bestand of met de hand.
Systeemgegenereerde cross-sell Seeddata die de engine op gang helpen totdat live aankoopdata het overnemen.

Elke rij heeft een eigen status — In orde, Geconfigureerd, Niet ingesteld, Niet geconfigureerd — en alles behalve de catalogus zelf is gemarkeerd als optioneel, zodat je bij een eerste installatie ziet wat echt verplicht is.

Data bereiken elk ervan op dezelfde vier manieren: een bestandsupload, een URL-feed, SFTP of de REST API. Elke rij biedt een eigen Upload file or set RSS/Atom feed, zodat je niet hoeft uit te zoeken bij welk scherm een bepaalde catalogus hoort.

Twee sleutels, niet één

Producten kunnen aan maximaal twee sleutels worden gekoppeld — Intern ID en SKU — zodat events op de site worden gekoppeld aan welke identifier je site ook toevallig uitstuurt. Eigen velden kun je op elk moment toevoegen; niets hoeft vooraf te worden gedeclareerd.

Welke kolom is je interne ID?

Dit fout doen is de duurste fout in een feed: de catalogus vult zich, de aanbevelingen worden weergegeven, en niets matcht met wat bezoekers echt bekeken. Daarom beantwoordt de importer dit met bewijs in plaats van met een gok.

Hij vergelijkt elke kandidaatkolom met de ID’s die je site al verstuurt en meldt wat hij heeft gemeten — “komt overeen met 96% van de ID’s die je site al verstuurt”, “geen van deze waarden komt voor in wat je site verstuurt”, “gecontroleerd over de eerste 500 rijen”. Kolommen die helemaal geen sleutel kunnen zijn — leeg in elke gecontroleerde rij, ontbrekend in sommige rijen, identiek aan een andere kolom — worden als zodanig gemarkeerd.

Zijn er nog geen events binnengekomen, dan valt hij terug, en zegt hij op welke trede hij staat:

  • Gemeten tegen echte events — het antwoord waarop je kunt vertrouwen.
  • Gevonden op de itempagina“er zijn nog geen events binnengekomen, dus we hebben in plaats daarvan een van je itempagina’s gelezen”.
  • Beste gok alleen op basis van de vorm van het bestand — en dat zegt hij ook: “controleer het tegen wat je site verstuurt”.

{W}Koppel de URL én de ID. De adviseur raadt beide aan — “Koppel beide: deze als Intern ID en die als URL productpagina” — omdat ze verschillende taken hebben. De ID is wat events voor winkelwagen en aankoop meedragen; de URL is waardoor een landingspagina überhaupt als productpagina kan worden herkend. Koppel je alleen de ID, dan heeft targeting op productpagina’s niets om op te matchen.

Voorbeeld voordat je importeert

De samenvatting Klaar om te importeren heeft Wijzigingen vooraf bekijken — een proefrun die niets wegschrijft en je vertelt wat de echte run zou doen:

{I}Een hoog aantal “nieuw” bij een herimport is de waarschuwing. Een catalogus die je al hebt opnieuw importeren, zou vrijwel volledig ongewijzigd moeten zijn. Is bijna elke rij nieuw, dan is de sleutelkolom fout, en in het voorbeeld wordt dat duidelijk in plaats van nadat de catalogus is verdubbeld.

Vier manieren om een feed aan te leveren

In de eerste stap van de wizard (Uploadbron) kies je hoe de data Personyze bereiken. De keuze gaat eigenlijk over hoe vaak ze veranderen.

De vier manieren om een feed naar Personyze te sturen: een bestand uploaden, een URL- / RSS- / Atom-feed, SFTP-push of push via de JSON API
1 Bestand uploaden — CSV, TSV of XLSX vanaf je computer. Een momentopname; het best voor eenmalige lijsten en kleine exports.
2 URL- / RSS- / Atom-feed — plak een openbare URL; Personyze haalt die volgens een schema op (ongeveer elke 10 minuten). Het best voor een catalogus of lijst die door je platform of een feeddienst actueel wordt gehouden.
3 SFTP-push — je zet bestanden neer op een ingesteld SFTP-endpoint. Het best voor grote nachtelijke exports uit een datawarehouse.
4 Push via de JSON API — POST records in realtime vanuit je backend.

Een live URL-, SFTP- of API-feed blijft na de eerste import synchroniseren; een bestandsupload is een momentopname die je opnieuw uploadt om te verversen.

SFTP-bestandsaanlevering — bestanden neerzetten en vergeten

SFTP is de optie waarbij je niets hoeft te doen. Je krijgt een privé-uploadaccount, je exportscript zet bestanden in de map /upload en elke nieuwe upload wordt automatisch geïmporteerd, een paar minuten nadat die klaar is. Niemand klikt iets in het panel.

Waar je het vindt: je SFTP-inloggegevens staan onder Instellingen → Siteprofiel, in de sectie SFTP-bestandsaanlevering — die pagina open je telkens als je de host, de gebruikersnaam of een nieuw wachtwoord nodig hebt. Dezelfde kaart met inloggegevens verschijnt ook overal waar de importwizard SFTP als bron aanbiedt: Product- en Artikeltracking, de schermen Productcatalogus en Artikelcatalogus, en Bezoekersattributen.

De sectie SFTP-bestandsaanlevering van Siteprofiel: de knop SFTP-toegang instellen, en een tabel die bestandsnamen zoals products.csv en users.csv koppelt aan waar ze in worden geïmporteerd
Instellingen → Siteprofiel → SFTP-bestandsaanlevering. Eén knop stelt het account in; de tabel eronder is de hele routeringsregel — de bestandsnaam bepaalt wat een upload wordt. Klik om te vergroten.

Het account instellen

  1. Klik op SFTP-toegang instellen.
  2. Personyze maakt een privéaccount voor je aan. Terwijl dat gebeurt, staat er “Je SFTP-account wordt ingesteld — meestal binnen 5 minuten”, en de kaart vult zichzelf in zodra het klaar is. Je kunt de pagina verlaten en terugkomen.
  3. De kaart toont daarna je Host (sftp://upload.personyze.com), Gebruikersnaam en Wachtwoord — met de knoppen Tonen en Kopiëren.

Eén account dient elk bestandstype hieronder, en het hoort bij dit siteprofiel. Zet alle bestanden in de map /upload — niets daarbuiten wordt opgepikt.

De kaart van het SFTP-uploadaccount met de host sftp://upload.personyze.com, een gebruikersnaam, een gemaskeerd wachtwoord met de knoppen Tonen en Kopiëren, de opmerking om in de map /upload te uploaden, en een link Wachtwoord roteren
Zodra het account bestaat, toont de kaart alles wat je nodig hebt om te verbinden. Het wachtwoord blijft gemaskeerd totdat je op Tonen of Kopiëren drukt. Klik om te vergroten.
Het wachtwoord wordt pas opgehaald als je op Tonen of Kopiëren drukt, nooit samen met de pagina zelf — zo blijft het buiten paginabronnen en logs. Wachtwoord roteren maakt een nieuw wachtwoord aan en het oude werkt binnen een paar minuten niet meer, dus verander het tegelijk in je exportjob. Is je account in het verleden handmatig door support ingesteld, dan is er geen opgeslagen wachtwoord om te tonen; roteer één keer en je hebt er een die je kunt zien.

De bestandsnaam bepaalt wat een upload is

Er is geen configuratie per upload. De importer routeert elk bestand op basis van de naam; de extensie vertelt alleen het formaat. Enkelvoud en meervoud werken allebei — product.csv is hetzelfde als products.csv.

Bestandsnaam Wordt geïmporteerd in
products.csv / product.csv Productcatalogus
articles.csv / article.csv Artikelcatalogus
users.csv Geïmporteerde gebruikerslijsten (gebruikersfeed)
products_interactions.csv / product_interactions.csv Geschiedenis van productinteracties
articles_interactions.csv / article_interactions.csv Geschiedenis van artikelinteracties
products_cross.csv / product_cross.csv Koppelingen tussen producten
articles_cross.csv / article_cross.csv Koppelingen tussen artikelen

Geaccepteerde extensies: .csv, .json, .xml, .xls, .xlsx. Een nieuwer bestand opnieuw uploaden importeert het opnieuw — het nieuwste bestand met een passende naam wint — dus een nachtelijke job kan gewoon elke keer dezelfde naam overschrijven.

De eerste upload: één keer koppelen

Een bestand moet worden gekoppeld voordat er iets uit wordt geïmporteerd — Personyze moet weten welke kolom wat bevat. Dat stel je niet vooraf in: zet eerst het bestand neer, en het panel komt naar jou toe.

Binnen een paar minuten nadat de upload klaar is, verschijnt er een banner op het doelscherm — voor users.csv is dat Instellingen → Bezoekersattributen, onder Geïmporteerde gebruikerslijsten:

In je SFTP-map: users.csv
1 KB · 36 min geleden geüpload
Nog niet gekoppeld, dus er wordt niets uit geïmporteerd: Personyze weet nog niet welke kolom van het bestand wat bevat.

Ernaast staan twee knoppen: Opnieuw controleren, dat de map opnieuw scant, en Dit bestand koppelen, dat de koppeling opent.

Het koppelvenster

“users.csv” uit je SFTP-map koppelen toont alles wat het uit het bestand zelf heeft afgeleid:

Klik op De koppeling opslaan en het bestand wordt geïmporteerd. Dat is een eenmalige stap per bestandsnaam — vanaf dan wordt elke upload van users.csv vanzelf geïmporteerd met dezelfde koppeling.

Zolang een bestand niet is gekoppeld, gebeurt er niets — en niets vertelt dat aan je script. De upload zelf is gelukt, dus een exportjob ziet succes terwijl de data ongelezen blijven. Heb je een bestand neergezet en bewegen de cijfers niet, open dan het doelscherm en zoek naar de banner hierboven.
Zodra een feed draait, kun je op hetzelfde scherm Mail mij als deze feed stopt met synchroniseren aanzetten — de goedkoopste manier om te ontdekken dat de export van gisternacht nooit is aangekomen. De lijst met bronnen kun je ook filteren op herkomst: Geüpload, RSS / Atom, SFTP of API-push.

De formaatregel die het meest uitmaakt

De bestandsimporter van Personyze is gescheiden door komma’s, en dat kun je in de uploadstap niet veranderen. Dat ene feit stuurt elke opmaakbeslissing:

Dit is standaard-CSV, maar het is de allergrootste reden dat een import zich misdraagt, dus het is de moeite waard om het duidelijk te zeggen.

Uitgewerkt voorbeeld: productinteresses

Interesses zijn een lijst tags per product — gebruikt voor cross-sell, affiniteitssegmenten en aanbevelingen op basis van interesse. Het formaat dat werkt, is twee kolommen, Id en Interest, met de interesses gescheiden door komma’s in een cel tussen aanhalingstekens:

Id,Interest
NW-1001,"Sneakers,Footwear,Casual,Running"
NW-1002,"Backpack,Bags,Commuting,Canvas"
NW-1003,"Headphones,Audio,Wireless,Electronics"

De cel Interest van elk product bevat een andere set tags. Door de aanhalingstekens overleven de komma’s binnenin. Zonder aanhalingstekens wordt NW-1001,"Sneakers,Footwear,Casual,Running" vijf kolommen in plaats van twee, en de import mislukt.
📥 Download het voorbeeldbestand met interesses — open het in een gewone teksteditor (geen spreadsheet) om de aanhalingstekens precies te zien zoals de importer ze nodig heeft.

Scheidingstekens — wat werkt en wat niet

Doel Werkt het? Hoe
Interesses gescheiden door komma’s in één cel Ja Zet de cel tussen aanhalingstekens: "Sneakers,Footwear,Running"
Interesses verdeeld over elk een eigen kolom Ja Koppel elke interessekolom aan hetzelfde veld Interesses
Verticale streep / schuine streep / puntkomma tussen interesses Nee Het veld Interesses accepteert alleen komma’s
Puntkomma als scheidingsteken voor kolommen Nee De uploadstap staat vast op komma
Komma’s zonder aanhalingstekens in een cel Nee De importer splitst ze in nieuwe kolommen

Opmerking over TSV: de wizard accepteert .tsv, en een echte tabgescheiden feed (zoals een Google Shopping-feed) wordt probleemloos geïmporteerd — tabs zijn het scheidingsteken, dus komma’s in beschrijvingen zijn gewoon tekst. De kommaregel hierboven gaat specifiek over kommagescheiden bestanden.

Hetzelfde idee voor een categorieveld

Het patroon van een komma in een cel tussen aanhalingstekens is niet alleen voor interesses — elk veld dat meer dan één waarde bevat, werkt op dezelfde manier. Een categorieveld is het gebruikelijke tweede geval. Twee manieren om het weer te geven, allebei geldig:

De regel is altijd hetzelfde: een komma in een waarde betekent dat de cel tussen aanhalingstekens moet. Een door >gescheiden pad, of een door /gescheiden pad, heeft geen komma’s, dus het gaat zonder aanhalingstekens mee.

Extra velden in hetzelfde bestand meenemen

Je hebt geen apart bestand per attribuut nodig. Eén rij kan de sleutel plus interesses plus categorie plus alles wat je verder in het record wilt meenemen — merk, beschikbaarheid, een eigen tag — en je koppelt elke kolom in de stap Kolommen kiezen:

Id,Interest,Category,Brand,Availability
NW-1001,"Sneakers,Footwear,Casual,Running",Footwear > Sneakers,Acme Footwear,in stock
NW-1003,"Headphones,Audio,Wireless,Electronics",Electronics > Audio > Headphones,Soundry,in stock

Alleen de cellen Interest bevatten komma’s, dus alleen die staan tussen aanhalingstekens; de rest gaat mee als gewone kolommen. Koppel Id → Internal ID, Interest → Interests, en elke overige kolom aan het bijbehorende Personyze-veld.

📥 Download het uitgebreide voorbeeld (Id + Interest + Category + Brand + Availability) naast het voorbeeld met interesses met twee kolommen.

Verplichte koppeling

Elke import heeft één sleutelkolom nodig, anders blijft Volgende uitgeschakeld met een rode melding “Missing required mapping”:

De sleutel moet overeenkomen met waarop de catalogus al is gesleuteld. Is je catalogus gesleuteld op SKU, dan moet de kolom Id van het bestand diezelfde SKU bevatten. Een import die voltooit maar “met geen enkel product matcht”, is bijna altijd een sleutel die niet overeenkomt — de ID’s zijn prima geladen, ze lijnen alleen niet uit.

De kolommen koppelen

In de stap Kolommen kiezen toont Personyze elke gevonden kolom en laat je die aan een Personyze-veld koppelen, met optionele Voorbewerking en Masker per kolom.

De stap voor het koppelen van kolommen in de importwizard van Personyze, waarin elke bestandskolom aan een Personyze-veld wordt gekoppeld, met opties voor voorbewerking en masker
De stap voor het koppelen van kolommen. Personyze meldt hoeveel kolommen het heeft gevonden en toont voorbeeldrijen, zodat je kunt bevestigen dat het bestand goed is ingelezen voordat je koppelt.

Het aantal kolommen in deze stap is je controle van het inlezen. Voor het interessebestand met twee kolommen moet er 2 bronkolommen gevonden staan. Staat er 6, dan zijn de aanhalingstekens bij het exporteren verloren gegaan — los het op en upload opnieuw. Beoordeel op wat deze stap meldt, niet op hoe het bestand er in Excel of Numbers uitziet.

Voor interesses: koppel Id → Intern ID (dat haalt de rode fout weg), koppel Interest → Interesses, laat Voorbewerking = Ongewijzigd doorgeven en Masker = Alles doorgeven staan, en ga door naar Klaar voor import.

Het bestand bouwen (herhaalbaar recept)

Heb je een bronexport met één kolom interesses die met komma’s zijn samengevoegd, maak dan met een paar regels Python het bestand met twee kolommen en aanhalingstekens — csv.writer zet automatisch aanhalingstekens rond elk veld met een komma:

import csv
rows = list(csv.DictReader(open('source.csv', encoding='utf-8-sig')))
with open('Id_Interest.csv', 'w', newline='', encoding='utf-8-sig') as f:
    w = csv.writer(f)                 # quotes cells with commas automatically
    w.writerow(['Id', 'Interest'])
    for r in rows:
        ints = ','.join(x.strip() for x in r['Interests'].split(',') if x.strip())
        w.writerow([r['Product ID'], ints])

Feeds voor de productcatalogus

Een productcatalogus is gesleuteld op een productidentifier — en je kunt Intern ID, SKU of beide aanleveren. Maar één sleutel is verplicht.

Als je geen product-ID hebt

Heeft je catalogus geen stabiele ID, dan kan Personyze er automatisch een genereren uit een hash van de URL van de productpagina. Dat is genoeg om een product te herkennen voor paginaweergaven en toevoegen aan de winkelwagen — de URL is elke keer hetzelfde, dus de hash is stabiel.

Bij het volgen van aankopen wordt een URL-hash lastig. Een bedank- of orderbevestigingspagina bevat meestal niet de product-URL’s van wat er is gekocht, dus er valt niets te hashen. Aankopen volgen tegen gehashte ID’s kan, maar de installatie is priegelig. Het is veel eenvoudiger als je een echte product-ID hebt die Personyze automatisch uit een paginavariabele kan halen — een waarde in de datalayer, een variabele van een tagmanager of een veld in de DOM — omdat dezelfde ID dan de catalogus, het gedrag op de site en de aankoop aan elkaar koppelt. Verkoop je iets, gebruik dan een echte ID. De terugval op een URL-hash is bedoeld voor personalisatie op weergaven en klikken als er geen ID bestaat.

Het catalogusbestand

Een productcatalogus gebruikt meer kolommen, maar dezelfde regels. Een typische indeling:

Internal ID, SKU, Title, Product Page URL, Main Image URL,
Price, Sale Price, Is in Stock, Rating

Koppel Intern ID als sleutel, URL hoofdafbeelding en URL productpagina zodat kaarten worden weergegeven en linken, en Price / Sale Price / Is in Stock zodat widgets prijzen, kortingen en voorraadbadges kunnen tonen. Lege cellen zijn prima — een lege Sale Price betekent gewoon geen korting.
📥 Download het voorbeeldbestand voor de productcatalogus — de echte kolomindeling van een live winkel.
Voor een live catalogus is de praktische opzet een URL-feed: wijs Personyze op een feed die je platform of een feeddienst al maakt. Een standaard Google Shopping- / Merchant-feed (TSV, met id, title, link, price, availability, image_link, product_type, enz.) werkt direct — Personyze leest die kolommen en haalt de URL opnieuw op, zodat voorraad en prijzen actueel blijven. Heb je nog geen feed, dan maken tools zoals Feedoptimise, DataFeedWatch of de eigen export van je platform er een.

De aanbevelingslogica — bestsellers, samen bekeken, op basis van de winkelwagen, op basis van interesse — stel je in bij de algoritmeconfiguratie van de actie, en die leest uit de catalogus die je hier aanlevert. Zie De product-/contentfeed instellen en Algoritmen voor productaanbevelingen.

Afbeeldingen: één verplicht, meer optioneel

Elk product heeft één hoofdafbeelding nodig, zodat aanbevelingskaarten kunnen worden weergegeven. Je kunt daarnaast meer afbeeldingskolommen toevoegen — de extra afbeeldingen voeden widgets die de foto laten rouleren of bij hover met de muis wisselen. Koppel de eerste aan URL hoofdafbeelding en de rest aan de extra afbeeldingsvelden.

Neem zoveel eigen velden mee als je wilt

Naast de standaardkolommen kan een feedrij alle extra data bevatten die je hebt — verzendkosten, staffelprijzen, prijzen per klanttype, tags, merk, kleur, alles. Drie dingen die je met een eigen veld kunt doen:

Meestal zijn het eenvoudige attributen zoals merk of kleur; er is geen limiet, en niet-gekoppelde kolommen worden gewoon genegeerd.

Samen kopen / voorwaardelijke prijzen

Je kunt in de feed ook een prijs per combinatie meenemen — een afgeprijsde prijs die geldt als specifieke producten samen worden gekocht — zodat de prijs van een bundel direct uit de catalogus komt in plaats van te worden berekend. Het concept en de installatie staan in Korting bij samen kopen voor e-commerceaanbevelingen. (De exacte kolomindeling voor combinatieprijzen wordt hier nog toegevoegd.)

Feeds voor de contentcatalogus

Een contentcatalogus (artikelen, video’s, gidsen) drijft contentaanbevelingen aan. De lichtste versie is alleen de content-URL — Personyze genereert automatisch een ID en volgt betrokkenheid via de URL of het URL-pad, zodat weergaven en leesacties correct worden toegeschreven zonder dat je een sleutel aanlevert. Heb je er een, dan kun je ook je eigen Intern ID opgeven.

Al het andere werkt zoals bij de productcatalogus: één hoofdafbeelding (meer optioneel voor hoverwidgets), plus alle eigen kolommen die je wilt tonen, waarop je wilt filteren of waarop je wilt trainen — contenttype, categorie, auteur, publicatiedatum, tags.

📥 Download de template voor de contentcatalogus

Feeds met gebruikerslijsten (CRM-verrijking voor targeting)

Een gebruikerslijst koppelt CRM-data aan je bezoekers. Het minimum is een sleutel plus één attribuut:

Je kunt zoveel attribuutkolommen toevoegen als je wilt. Het belangrijke deel: alles wat je hier vult, wordt beschikbaar in targeting, niet alleen in de actie die de lijst gebruikt. Laad de voornaam of het accounttype van een bezoeker en je kunt later een doelgroep bouwen die daarop target — “Accounttype is VIP”, “Branche is Retail” — precies zoals bij elk ander profielveld. Lever het aan als bestand, of houd het gesynchroniseerd via SFTP of een feed-URL.

📥 Download de minimale template voor een gebruikerslijst (e-mail + voornaam)  ·  uitgebreide versie (met accounttype, branche).

Cross-sell- & upsellparen (in de productcatalogus)

Waar: Instellingen → Aanbevelingen → Productcatalogus. Onder de feeds en velden heeft het catalogusscherm twee optionele secties om Personyze te vertellen welke producten bij elkaar horen. Beide zijn optioneel — de engine leert combinaties ook zelf uit live gedrag — maar ze zijn handig om te lanceren voordat je data hebt, of voor combinaties die je met de hand wilt beheren.

Het scherm Productcatalogus met de catalogus plus de secties Handmatige cross-selllinks, Handmatige upselllinks en Systeemgegenereerde cross-sell (seeddata)
Het scherm Productcatalogus (Instellingen → Aanbevelingen → Productcatalogus): je catalogus, plus de optionele secties Handmatige cross-selllinks, Handmatige upselllinks en Systeemgegenereerde cross-sell (seeddata). Klik om te vergroten.

Handmatige cross-sell- / upselllinks (optioneel)

Expliciete combinaties die je zelf vastlegt — de links “vaak samen gekocht” of “misschien wil je ook”. Ze worden gebruikt als het algoritme van een aanbevelingscampagne op “Cross-sell (handmatig)” of “Up-sell (handmatig)” staat:

Voeg paren met de hand toe, of importeer een bestand — één link per rij, met onderwerp en gekoppeld product allebei op intern ID. Links hebben een richting, dus wil je in beide richtingen aanbevelen, voeg dan beide rijen toe:

Subject Internal ID,Linked Internal ID
AQB14X,AQB15X
AQB15X,AQB14X
BARR4FJ3,LABAR4114

📥 Download de template voor cross-sell / upsell

Systeemgegenereerde cross-sell — seeddata (optioneel)

Een manier om de aanbevelingsengine op gang te helpen voordat die echte aankopen heeft gezien. Je voegt seedsets toe: vertel Personyze dat een paar producten samen is gekocht, en het beveelt ze aan elkaar aan totdat live aankoopdata het overnemen. Elke seedset is een item Onderwerp, een item Aanbevolen, en welke interactie het nabootst — “Gekocht → Gekocht” helpt samen-gekocht-cross-sell op gang. Ideaal voor een gloednieuwe catalogus zonder gedragsdata; zodra echte aankopen binnenkomen, wegen die vanzelf zwaarder dan de seeds.

Het dialoogvenster Nieuwe seedset met de instellingen Onderwerp, Aanbevolen, Interactie, Percentage, gebruikers en transacties
1. Maak een seedset. Klik op de kaart Systeemgegenereerde cross-sell op Nieuwe seedset. Elke seed koppelt een product Onderwerp aan een product Aanbevolen; kies welke Interactie het nabootst (“Gekocht → Gekocht” helpt samen-gekocht-cross-sell op gang), en stel eventueel het percentage, het aantal gebruikers en de transacties in. Klik om te vergroten.
Het formulier voor een seedset, ingevuld met Onderwerp SKU-1001 en Aanbevolen SKU-1002
2. Kies de producten. Kies de producten Onderwerp en Aanbevolen uit de doorzoekbare lijst (beide moeten al in de catalogus staan) — elke combinatie wordt een seedset — en klik daarna op Seedset toevoegen. Klik om te vergroten.
De lijst met seedsets met twee ingestelde seedsets, productminiaturen en hun instellingen
3. Het verschijnt in de lijst — de kaart springt op Geconfigureerd en elke seedset toont het paar (met miniaturen), de interactie, het percentage en het aantal gebruikers / transacties. De engine beveelt het paar nu aan totdat live aankoopdata het overnemen. Klik om te vergroten.

Feeds met historische transacties

Waar: Instellingen → Aanbevelingen → ProducttrackingUpload past purchase events. Stapsgewijze uitleg: Eerdere / offline transacties uploaden.

Door eerdere aankopen te uploaden, kan Personyze aanbevelingen trainen op echt koopgedrag en vanaf dag één targeten op aankoopgeschiedenis, voordat het die aankopen live heeft gezien. Elke rij is sober — net genoeg om te zeggen wie wat wanneer kocht:

Titel, aantal, prijs en valuta zijn niet nodig — Personyze leest die uit de catalogus. Gebruik voor het tijdstip een standaard datum-tijd zoals 2026-07-21 14:30:00 of een Unix-epoch zoals 1751389200. (Controleer bij twijfel het exact geaccepteerde formaat bij je accountmanager.)

📥 Download de template voor transacties

Contentcatalogi en andere feeds

Naast de typen hierboven laadt dezelfde wizard alle tabeldata — affiniteitstabellen, segmentlijsten, sets met eigen attributen. Kies de afleveringsmethode, zorg dat het formaat klopt, koppel een sleutel, koppel de rest.
Een contentcatalogus (artikelen, video’s, gidsen) werkt precies hetzelfde — de sleutelkolommen worden de content-ID en URL, met titel, afbeelding en alle attributen waarop je wilt aanbevelen of targeten. Hetzelfde geldt voor cross-selltabellen, affiniteitsdata en CRM-gebruikerslijsten: kies de afleveringsmethode, zorg dat het formaat klopt, koppel een sleutel, koppel de rest.

De import afronden

De laatste stap van de importwizard van Personyze, klaar om de import te starten
De laatste stap: controleer de koppeling en start de import. Een bestand is een eenmalige lading; een URL-, SFTP- of API-feed blijft vanaf hier volgens zijn schema synchroniseren.

Problemen oplossen

Symptoom Oorzaak Oplossing
“6 bronkolommen gevonden” (2 verwacht) De cel met interesses stond niet tussen aanhalingstekens, of de aanhalingstekens zijn bij het exporteren verwijderd Exporteer opnieuw met de cel tussen aanhalingstekens; controleer dat het ruwe bestand dit toont: "Sneakers,Footwear,..."
De hele rij komt in één kolom terecht Je beoordeelt op een spreadsheet, niet op de importer Ga uit van wat stap 2/3 meldt, niet van Excel of Numbers
“Missing required mapping” (rood) Er is geen Intern ID / URL productpagina gekoppeld Koppel je sleutelkolom aan Intern ID (of URL productpagina)
Interesses worden als één lange tekenreeks geïmporteerd Het scheidingsteken is geen komma Gebruik komma’s tussen interesses, niets anders
Importeert prima, maar matcht met geen enkel product De Id komt niet overeen met de catalogussleutel Gebruik de identifier waarop de catalogus is gesleuteld (vaak SKU)

In plaats daarvan een waarde live van de pagina lezen

Los van het importeren van bestanden kan Personyze ook een waarde live van een productpagina lezen terwijl bezoekers surfen — handig als de data niet in een feed staan. Die route gebruikt een CSS-selector of JavaScript in plaats van een bestand, en wordt behandeld in Data van je site vastleggen. Twee praktijknotities die het meenemen waard zijn:

De korte versie

Kommagescheiden bestand; zet elke cel met een komma tussen aanhalingstekens; koppel één sleutelkolom (Intern ID of URL productpagina) die overeenkomt met hoe je catalogus is gesleuteld; koppel de rest. Upload een bestand voor eenmalig gebruik, of wijs Personyze op een URL-, SFTP- of API-feed om het gesynchroniseerd te houden.

Gerelateerd

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