Personyze Wiki Personyze Wiki docs
Nederlands
Open Personyze
Docs/ Aan de slag/ Shopify-integratie (koppelen via API)
Aan de slag

Shopify-integratie (koppelen via API)

Koppel de gegevens van je Shopify-winkel via de API van Shopify aan Personyze, met een eigen app: producten in de catalogus, bestellingen als aankoopgeschiedenis en de Shopify-gegevens van klanten op hun bezoekersprofielen.

10 min read Updated 8 hours ago

Koppel de gegevens van je Shopify-winkel via de API van Shopify aan Personyze, met een app die je zelf in Shopify maakt, en houd Personyze gelijk met je winkel: je producten in de catalogus waaruit aanbevelingen putten, je bestellingen als aankoopgeschiedenis op het profiel van elke koper, en de Shopify-gegevens van je klanten op hun bezoekersprofielen.

Dit is niet de Personyze-app uit de Shopify App Store. Deze koppeling haalt alleen de gegevens van je winkel — producten, bestellingen en klanten — naar Personyze. Ze installeert niets in je webwinkel en voegt de trackingcode niet toe. Om je bezoekers personalisatie te tonen, installeer je daarnaast de Personyze-trackingcode, of de Personyze-app uit de Shopify App Store, een lichtere installatie dan de volledige trackingcode. Hoe je het ook doet, deze koppeling werkt ernaast.

Wat het doet

Drie synchronisaties, die je elk apart aanzet:

  • Producten naar uw catalogus. Elk actief product dat in je Online Store is gepubliceerd, elke 6 uur: titel, beschrijving, hoofdafbeelding, prijs en actieprijs, leverancier (als merk), collecties en producttype (als categorieën), tags, en of het op voorraad is — met het aantal stuks wanneer de voorraad wordt bijgehouden. Aanbevelingen, productwidgets en targeting op basis van de catalogus gebruiken ze meteen. Een product dat uit je winkel verdwijnt, raakt in de catalogus uitverkocht.
  • Bestellingen naar aankoopgeschiedenis. De producten van elke bestelling worden aankopen op het bezoekersprofiel van de koper, gematcht op e-mailadres (voor een koper die Personyze nog niet kent, wordt een profiel aangemaakt), met de eigen datum en het eigen bedrag van de bestelling. De eerste ronde leest de bestellingen van de laatste 60 dagen; daarna komen nieuwe bestellingen elke 15 minuten binnen. Aanbevelingen weten dan wat elke klant al gekocht heeft, en targeting op gekochte producten ziet de bestellingen in de winkel, niet alleen de aankopen die gedaan zijn terwijl de Personyze-tag meekeek.
  • Klanten naar bezoekersprofielen. De naam, tags, het aantal bestellingen, het totaal besteed bedrag en de datum waarop iemand klant werd, op het profiel van elke klant, gematcht op e-mailadres, elk uur. Ze verschijnen als bezoekersattributen waarop je kunt targeten met targetingregels: Shopify customer tags, Shopify orders, Shopify total spent, Shopify customer since en Shopify customer ID. Bijvoorbeeld: toon een VIP-aanbieding aan bezoekers bij wie Shopify customer tags “VIP” bevat.

Wat je nodig hebt

  • Toegang als winkeleigenaar tot het Dev Dashboard van Shopify (dev.shopify.com) — ongeveer vijf minuten.
  • Elk Shopify-abonnement.

Stap 1: Maak de app in Shopify

Sinds januari 2026 laat Shopify winkeleigenaren geen custom apps meer maken in de winkeladmin; apps worden gemaakt in het Dev Dashboard. Maak de app als winkeleigenaar: Shopify geeft Personyze alleen toegang tot een app die in dezelfde Shopify-organisatie is gemaakt als de winkel.

  1. Log als winkeleigenaar in op dev.shopify.com. Ga naar Apps → Create app → Create app manually en geef de app een naam (bijvoorbeeld “Personyze”).
  2. Vul onder Scopes in: read_products, read_inventory, read_orders, read_customers. Laat de scope weg van elke synchronisatie die je niet wilt. Klik op Create app en daarna op Release.
  3. Open in de lijst Apps het menu van de app → Install app, kies je winkel en klik op Install. Shopify toont wat de app mag lezen; bevestig dat.
  4. Kies in Overview → Distribution van de app voor Custom distribution, vul het adres van je winkel in en klik op Generate link.
Sla de distributiestap niet over. Shopify geeft een app de namen en e-mailadressen van de klanten pas als de app een distributiemethode heeft. Zonder die stap kunnen klanten niet worden gesynchroniseerd en kunnen bestellingen aan niemand worden gematcht.

De lade in Personyze bevat dezelfde stappen onder Zo maakt u de app in Shopify.

Stap 2: Verbind de app in Personyze

  1. Zoek in de App settings van de app in het Dev Dashboard de Client ID en het Client secret. Bewaar het secret veilig.
  2. Ga in Personyze naar Instellingen → Integraties en open Shopify (onder Platform en ontwikkelaars).
  3. Vul in:
    • Winkeladres — het myshopify.com-adres van je winkel, bijvoorbeeld your-store.myshopify.com (Shopify toont het onder Settings → Domains). Het eigen domein van je winkel wordt hier niet geaccepteerd.
    • Client ID en Client secret van de app.
  4. Klik op Verbinden.

Personyze controleert de sleutels bij Shopify voordat ze worden opgeslagen. Daarna staat in de lade Verbonden met de naam van je winkel. Het Client secret wordt versleuteld bewaard en nooit meer getoond — vanaf dan staat in het veld “(ongewijzigd)”. Wil je de koppeling later wijzigen, pas dan de velden aan en klik op Controleren en opslaan; laat het secret leeg om het al opgeslagen secret te houden.

Een oudere custom app? Een winkel die vóór 2026 een custom app in de Shopify-admin heeft gemaakt, kan in plaats daarvan het Admin API access token van die app gebruiken (het begint met shpat_): klik in de lade op Een toegangstoken van een oudere custom app en vul het daar in, samen met het winkeladres. Net als het secret wordt het nooit meer getoond.

Stap 3: Zet aan wat je wilt synchroniseren

Zet onder Wat er wordt gesynchroniseerd elke synchronisatie aan die je wilt: Producten naar uw catalogus, Bestellingen naar aankoopgeschiedenis en Klanten naar bezoekersprofielen. Elke rij toont de Shopify-scope die ze nodig heeft — groen als je app die heeft, rood met “Niet aan de app toegekend” als dat niet zo is, en dan kan de synchronisatie niet worden aangezet. De eerste ronde start binnen 5 minuten; tot dan staat in de rij “Start binnen 5 minuten”.

Na een ronde zegt elke rij wat ze heeft gedaan: “13 producten · 1 okt.”, “4 aankopen sinds 1 okt.”, “4 profielen · 1 okt.”. Nu synchroniseren voert een synchronisatie uit bij de volgende ronde (binnen 5 minuten), zonder op het schema te wachten. Mislukt een synchronisatie, dan toont de rij in het rood waarom; de andere synchronisaties lopen gewoon door.

De Shopify-lade in Personyze zodra een winkel is verbonden: Verbonden met de winkel, de drie synchronisaties met hun scopes en laatste resultaten, en de verbindingsvelden
Instellingen → Integraties → Shopify met een verbonden winkel: Verbonden met de winkel, de drie synchronisaties onder Wat er wordt gesynchroniseerd — elk met de scope die ze nodig heeft, wat de laatste ronde deed en Nu synchroniseren — en daaronder de velden van de koppeling. De Client ID is vervaagd. Klik om te vergroten.

Hoe de gegevens worden gebruikt

Producten

Elk product is één catalogusitem, herkend aan zijn Shopify-product-ID. De link is de productpagina op het eigen domein van je winkel — zo herkent de Personyze-tag een productpagina wanneer een bezoeker die bekijkt. Geeft Shopify geen paginaadres (bijvoorbeeld zolang je webwinkel vóór de lancering met een wachtwoord is beveiligd), dan gebruikt Personyze het domein van je winkel en de handle van het product (/products/<handle>), het adres dat de thema’s van Shopify gebruiken.

  • Een product in de aanbieding (met een vergelijkingsprijs boven de prijs) krijgt de vergelijkingsprijs als gewone prijs en de huidige prijs als actieprijs. Een product met meerdere varianten neemt de prijzen van zijn goedkoopste variant over, net zoals de productlijst in je winkel.
  • Een product is op voorraad als een van zijn varianten te koop is. Het aantal stuks komt alleen mee via read_inventory als scope, en alleen voor producten waarvan Shopify de voorraad bijhoudt.
  • Producten die concepten zijn, gearchiveerd zijn, nooit in de Online Store zijn gepubliceerd, of cadeaubonnen zijn, worden niet gesynchroniseerd.

Aankopen

Een bestelling met hetzelfde product op twee regels telt als één aankoop van de totale hoeveelheid. Een bestelling opnieuw lezen voegt nooit een tweede aankoop toe. Testbestellingen en geannuleerde bestellingen worden weggelaten. Een bestelling zonder e-mailadres kan aan niemand worden gematcht en wordt ook weggelaten. De geschiedenis van een grote winkel wordt over meerdere rondes gelezen.

Meer dan 60 dagen aan bestellingen

Shopify geeft een app alleen de bestellingen van de laatste 60 dagen met read_orders. Wil je bij de eerste ronde tot een jaar aan geschiedenis, vraag dan de scope read_all_orders aan voor je app (Partner Dashboard → de app → API access requests → Read all orders scope) en voeg hem toe aan de scopes van de app.

Klanten

De voor- en achternaam van de klant komen in de eigen naam van het profiel; de rest als de vijf Shopify-bezoekersattributen hierboven, die de eerste ronde toevoegt aan de bezoekersattributen van je account. De eerste ronde leest al je klanten; latere rondes lezen de klanten die sindsdien zijn bijgewerkt — een bestelling plaatsen werkt een klant bij, dus het aantal bestellingen en het totaal van een koper blijven actueel. Een klant zonder e-mailadres wordt weggelaten.

Productfeeds

Importeert je account ook een productfeed, dan kan een product dat in beide staat twee keer in de catalogus verschijnen. Houd per product één bron aan — de lade waarschuwt je als het account een feed heeft.

Met de add-on Promoties

Dezelfde koppeling bedient ook de add-on Promoties, op de pagina Promoties. Daarvoor heeft je app drie extra scopes nodig (voeg ze in het Dev Dashboard toe aan een nieuwe versie van de app en publiceer die):

  • read_orders — kortingscodes die in je bestellingen zijn gebruikt, tellen als inwisselingen van je promoties.
  • read_discounts — Importeren uit Shopify zet je actieve en geplande Shopify-kortingen om in promoties: kortingscodes als coupons, automatische kortingen als tekstpromoties.
  • write_discounts — Codes maken in Shopify maakt unieke codes voor een codepool, tot 1.000 tegelijk, zodat elke code werkt in je checkout. De pool kan zichzelf aanvullen als hij bijna leeg is.

Loskoppelen

Klik in de lade op het prullenbakpictogram naast “Verbonden met …” en bevestig. Het synchroniseren stopt; de producten, aankopen en profielen die al zijn gesynchroniseerd, blijven staan. De app blijft in je Dev Dashboard — verwijder of deïnstalleer hem daar als je hem niet meer nodig hebt.

Problemen oplossen

Een synchronisatierij is rood en zegt “Niet aan de app toegekend”

De app heeft die scope niet. Open in het Dev Dashboard de app → Versions → Create version, voeg de scope toe, klik op Release en accepteer de update in de admin van je winkel (open de app daar). Klik daarna in de Personyze-lade op Controleren en opslaan.

“Shopify has not approved the app for customer data”

De app heeft geen distributiemethode (stap 1, punt 4). Open in het Dev Dashboard de app → Distribution, kies Custom distribution en je winkel, en klik daarna op Nu synchroniseren bij de synchronisatie die mislukte.

Shopify weigerde de sleutels van de app

Als Shopify de sleutels weigert — bijvoorbeeld omdat de app is gedeïnstalleerd of het secret is vervangen — stopt Personyze meteen met het gebruik van de koppeling in plaats van het opnieuw te proberen, en toont de lade de reden van Shopify in het rood op de plek van “Verbonden met”. Herstel de app, vul het winkeladres, de Client ID en het huidige Client secret in, en klik op Verbinden.

Verbinden wordt geweigerd

  • “Enter the store’s myshopify.com address…” — je hebt het eigen domein van je winkel ingevuld. Vul het myshopify.com-adres in uit Settings → Domains in Shopify.
  • “Shopify issues a token only to an app made in the same Shopify organization as the store.” — maak de app vanuit het Dev Dashboard van de winkeleigenaar en installeer hem op deze winkel.
  • “Shopify did not accept this Client ID and Client secret…” — vul beide opnieuw in vanuit de App settings van de app, en controleer of de app op deze winkel is geïnstalleerd.
  • “No Shopify store answers at …” — controleer het winkeladres.

Minder producten dan in Shopify

Alleen actieve producten die in de Online Store zijn gepubliceerd, worden gesynchroniseerd; concepten, gearchiveerde producten en cadeaubonnen niet. Van een winkel met meer dan 50.000 producten wordt een deel gesynchroniseerd, en de lade meldt dat.

Bestellingen ouder dan 60 dagen ontbreken

Zie Meer dan 60 dagen aan bestellingen.

De aankopen van een klant staan niet op zijn profiel

Aankopen worden gematcht op e-mailadres. Het profiel van een bezoeker toont ze zodra Personyze de bezoeker aan dat e-mailadres herkent — via een aanmelding, een formulier of een link in een e-mail.

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