Naar inhoud springen

We plannen nu Shopify-projecten voor Q4 2026.

Bekijk beschikbaarheid

Meta CAPI instellen op Shopify (gids voor 2026)

Drie manieren om de Meta Conversions API op Shopify in te stellen in 2026, met deduplicatie, Event Match Quality en testen. De realiteit na checkout.liquid.

How to Set Up Meta CAPI on Shopify (2026 Guide)

Draai je Meta-advertenties op Shopify met alleen browser-pixeltracking, dan laat je het algoritme van Meta ruwweg tweederde van je echte conversies zien. Adblockers, Safari ITP, iOS-privacystandaarden en geweigerde consent halen er elk een stuk af. Het gezamenlijke verlies ligt tussen 20% en 60%, afhankelijk van je verkeersmix, en elke ontbrekende conversie is een signaal waar de biedstrategie van Meta nooit van leert.

De Conversions API lost dit op door events vanaf een server te sturen in plaats van vanuit een browser. Deze gids behandelt de drie manieren om dit in 2026 op Shopify op te zetten, de deduplicatiestap die de meeste implementaties fout doen, hoe je je Event Match Quality echt omhoog krijgt, en hoe je het geheel verifieert voordat je erop vertrouwt.

Wat CAPI daadwerkelijk doet

De Meta Pixel is JavaScript in de browser van de shopper. Als hij vuurt, stuurt hij eventdata naar Meta vanaf het apparaat van de shopper. Alles wat browsertracking blokkeert, blokkeert de Pixel: uBlock Origin, Safari's Intelligent Tracking Prevention, iOS App Tracking Transparency, Firefox's Enhanced Tracking Protection en geweigerde cookietoestemming.

CAPI stuurt dezelfde events vanaf een server. Jouw server (of een dienst die als jouw server optreedt) doet een directe API-aanroep naar Meta. Geen browser, geen cookie, geen blokkade.

Meta's eigen aanbeveling is om beide te draaien. De Pixel vangt realtime browsercontext; CAPI biedt redundantie voor alles wat de browser mist. Samen geven ze bijna volledige dekking, maar alleen als je correct dedupliceert.

Randvoorwaarden

  • Toegang tot Meta Business Manager met rechten om de dataset te beheren (voorheen "pixel").
  • Je Pixel-ID uit Events Manager. Eén site hoort precies één pixel te hebben. Meerdere pixels op hetzelfde domein veroorzaken dubbele events, EMQ-chaos en event_id-conflicten.
  • Een CAPI-toegangstoken. Events Manager > je dataset > Instellingen > Conversions API > Toegangstoken genereren.
  • Shopify-admintoegang met rechten voor Klantgebeurtenissen en verkoopkanalen.
  • Een testbestelling die je echt kunt plaatsen en terugbetalen. Previewmodi valideren CAPI niet goed.

De realiteit van de Shopify-checkout in 2026

Begrijp eerst wat er veranderde voordat je een methode kiest. Shopify liet checkout.liquid op 28 augustus 2025 vervallen voor Plus-merchants en op 26 augustus 2026 voor alle andere abonnementen. Het veld "Additional Scripts" onder Instellingen > Checkout verdween daarmee.

De vervanger is Custom Pixels onder Instellingen > Klantgebeurtenissen. Die draaien in een afgeschermde iframe. Elke CAPI-implementatie op Shopify in 2026 moet mét die sandbox werken, niet eromheen. Gidsen van vóór deze wijziging sturen je naar routes die niet meer bestaan.

Drie methodes, vergeleken

Methode Opzettijd Kosten per maand Gebruikelijke EMQ Het best voor
1. Shopify Facebook & Instagram-kanaal 30 minuten $0 5-7 Onder ~$20k/mnd Meta-budget, alleen de vier kernevents
2. Custom Pixel + directe CAPI 4-8 uur $0-$30 6-8 Behoefte aan custom events, focus op één platform
3. Server-side GTM (Stape of self-hosted) 4-8 uur $20-$300 8-9,5 $50k+/mnd budget, routering naar meerdere platforms, verrijking

Wees eerlijk over welke categorie je zit. Een winkel die $8k per maand aan Meta uitgeeft, heeft geen stack van $200 per maand nodig. Een winkel die $150k per maand uitgeeft, laat echt geld liggen door alleen het native kanaal te draaien.

Methode 1: het native Facebook- en Instagram-kanaal van Shopify

De snelste route, zonder kosten, en echt voldoende voor kleinere adverteerders.

  1. Shopify-admin > Verkoopkanalen > voeg Facebook & Instagram toe.
  2. Koppel je Facebook-account en Business Manager.
  3. Selecteer de juiste pixel (maak geen nieuwe aan als je er al één hebt).
  4. Kies bij het delen van data voor Maximaal. Dit zet het server-side versturen van events aan naast de browserpixel, waarbij Shopify de deduplicatie automatisch regelt.
  5. Rond de instellingen voor het delen van klantgegevens af voor jouw markten.

Wat je krijgt: PageView, ViewContent, AddToCart, InitiateCheckout en Purchase, zowel client-side als server-side verstuurd en door Shopify gededupliceerd.

Wat je niet krijgt: custom events, custom parameters, verrijking van de payload buiten wat Shopify stuurt, of routering naar andere advertentieplatforms. De EMQ komt doorgaans uit op 5-7, omdat Shopify een standaard, onverrijkte payload stuurt.

Methode 2: Custom Pixel met directe CAPI

Meer controle dan het native kanaal en geen maandelijkse infrastructuurkosten, maar je schrijft en onderhoudt de code zelf.

Stap 1: Maak de Custom Pixel aan

Shopify-admin > Instellingen > Klantgebeurtenissen > Custom pixel toevoegen. Geef hem een duidelijke naam ("Meta CAPI Pixel").

Stap 2: Vuur de browserpixel met een event_id

Het cruciale onderdeel is het genereren van een gedeeld event_id dat zowel het browserevent als het serverevent meedraagt.

// Load Meta Pixel inside the Custom Pixel sandbox
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window,document,'script',
'https://connect.facebook.net/en_US/fbevents.js');

fbq('init', 'YOUR_PIXEL_ID');

analytics.subscribe("checkout_completed", (event) => {
  const checkout = event.data.checkout;
  const eventId = checkout.order.id;  // shared dedup key

  fbq('track', 'Purchase', {
    value: checkout.totalPrice.amount,
    currency: checkout.currencyCode,
    content_ids: checkout.lineItems.map(i => i.variant.product.id),
    content_type: 'product',
    num_items: checkout.lineItems.length
  }, { eventID: eventId });
});

Stap 3: Stuur het server-side event

De serveraanroep moet vanaf een server gebeuren, niet vanuit de pixel-sandbox. Twee praktische routes op Shopify:

  • Shopify Flow of een webhook naar een kleine serverless functie (Cloudflare Worker, Vercel-functie, AWS Lambda) die de order-created webhook ontvangt en naar de Conversions API van Meta post.
  • Meta's Conversions API Gateway, een gehoste dienst van Meta die de serveraanroep afhandelt zonder dat je infrastructuur bouwt. Opzetten kost 2-4 uur.

De serverpayload moet hetzelfde event_id en event_name bevatten als het browserevent, plus gehashte klantparameters:

{
  "data": [{
    "event_name": "Purchase",
    "event_time": 1757000000,
    "event_id": "5432109876543",
    "action_source": "website",
    "event_source_url": "https://yourstore.com/checkouts/thank_you",
    "user_data": {
      "em": ["<sha256 of lowercase trimmed email>"],
      "ph": ["<sha256 of E.164 phone>"],
      "fn": ["<sha256 of lowercase first name>"],
      "ln": ["<sha256 of lowercase last name>"],
      "ct": ["<sha256 of lowercase city>"],
      "st": ["<sha256 of lowercase state>"],
      "zp": ["<sha256 of zip>"],
      "country": ["<sha256 of country code>"],
      "client_ip_address": "203.0.113.45",
      "client_user_agent": "Mozilla/5.0 ...",
      "fbc": "fb.1.1757000000.IwAR...",
      "fbp": "fb.1.1757000000.1234567890"
    },
    "custom_data": {
      "value": 89.00,
      "currency": "USD",
      "content_ids": ["7891234567890"],
      "content_type": "product"
    }
  }]
}

Alle persoonlijke identifiers moeten met SHA-256 gehasht worden, in kleine letters en zonder spaties aan het begin of eind vóór het hashen. Meta weigert ongehashte persoonsgegevens.

Methode 3: server-side GTM

De route met de hoogste EMQ, en degene die naar meerdere platforms schaalt. Opzet in het kort:

  1. Maak een servercontainer aan in Google Tag Manager.
  2. Host hem op Stape (vanaf ruwweg $20-30 per maand), Google Cloud Run of self-hosted Docker.
  3. Voeg een first-party custom subdomein toe via CNAME. Gebruik een neutrale naam als data.jouwwinkel.com, niet tracking. of analytics., die adblockers herkennen.
  4. Stuur de checkout-events vanuit de Shopify Custom Pixel door naar je servercontainer.
  5. Voeg de Meta Conversions API-tag toe in de servercontainer en map de eventdata en gebruikersparameters.
  6. Stuur hetzelfde event_id vanuit zowel de browserpixel als de servertag.

Eén kanttekening is het weten waard: Safari ITP beperkt door de server gezette cookies terug tot zeven dagen zodra het CNAME-cloaking detecteert (een first-party subdomein dat via CNAME naar een externe host wijst). Op winkels met veel Safari-verkeer houdt de beloofde cookieduur van 400 dagen dus niet volledig stand. Controleer je DNS-setup in plaats van dit aan te nemen.

Wil je de volledige server-side GTM-walkthrough inclusief GA4 en Google Ads, dan is dat een project op zich. Deze gids blijft bij de Meta-kant.

Deduplicatie: de stap waar de meeste implementaties op stuklopen

Meta dedupliceert op twee velden die exact moeten overeenkomen tussen het browser- en het serverevent:

  • event_id — een unieke identificatie voor die specifieke conversie. Gebruik het Shopify-order-ID.
  • event_name — moet identiek zijn. Beide moeten Purchase zeggen, niet de ene Purchase en de andere purchase.

Ziet Meta hetzelfde event_id vanuit beide bronnen, dan telt het de conversie één keer en houdt het de rijkste van de twee payloads aan. Werd het browserevent geblokkeerd, dan levert het serverevent alsnog.

Sla deze stap over en je gerapporteerde conversies verdubbelen. Advantage+ Shopping-campagnes gaan jagen op spookomzet, je ROAS ziet er prachtig uit, en die rotzooi ontwarren kost langer dan de juiste setup had gekost.

Verifieer de deduplicatie in Events Manager > je dataset > Events. Zoek het label "Gededupliceerd" bij je Purchase-event. Zie je twee aparte Purchase-tellingen, dan matcht je event_id niet.

Event Match Quality: hoe je die echt verhoogt

EMQ is de score van Meta van 0 tot 10 voor hoe zeker het je event aan een echt Facebook-gebruikersprofiel kon koppelen. Die bepaalt direct hoe zwaar de conversie meeweegt in het bieden.

Parameters, ruwweg gerangschikt op impact op EMQ:

Parameter Veld Impact
Gehasht e-mailadres em Grootste losse hefboom
Gehasht telefoonnummer ph Hoog
Click-ID fbc Hoog (koppelt direct aan de advertentieklik)
Browser-ID fbp Middelhoog
IP-adres client_ip_address Gemiddeld
User agent client_user_agent Gemiddeld
Naam, plaats, provincie, postcode, land fn ln ct st zp country Klein per stuk, maar telt op
Extern ID external_id Nuttig voor terugkerende klanten

Stuur elk veld dat je legitiem hebt bij elk event mee. Onder 6 heeft Meta moeite met matchen. Mik op 7+. Boven 8 is sterk.

Kleine EMQ-winst telt zwaarder dan je zou denken. Eén gedocumenteerd Shopify-geval bracht de EMQ van 8,6 naar 9,3 (minder dan een vol punt) en noteerde 18% lagere CPA, 24% hogere match rate en 22% hogere ROAS, zonder wijzigingen aan advertenties, doelgroepen of budgetten.

Testen voordat je erop vertrouwt

  1. Test Events-tool in Events Manager. Events Manager > je dataset > Test Events. Voeg je testeventcode toe aan de payload en plaats een testbestelling. Je hoort zowel het browser- als het serverevent te zien binnenkomen, en Meta hoort ze als gededupliceerd te markeren.
  2. Plaats een echte testbestelling. Korting naar een laag bedrag, of achteraf terugbetalen. Het gedrag van de Custom Pixel is niet anders volledig te verifiëren.
  3. Controleer de Purchase-telling. In Events Manager hoort één bestelling één Purchase op te leveren, geen twee.
  4. Controleer de EMQ. Events Manager > Events > Purchase > Event Match Quality. Geef het 24-48 uur echt verkeer voordat je oordeelt.
  5. Leg naast Shopify. Vergelijk na een week de Purchase-telling van Meta met je aantal Shopify-bestellingen over dezelfde periode. Binnen 5-10% is gezond. Groter verschil betekent dat er iets wegvalt of dubbel telt.

Veelgemaakte Meta CAPI-fouten op Shopify

  • Het native kanaal én custom CAPI tegelijk draaien. Beide vuren Purchase-events. Zonder overeenkomende event_id's over alle drie de bronnen tel je driedubbel. Kies één server-side route.
  • Meerdere pixels op één domein. Veroorzaakt event_id-conflicten en verslechtert je EMQ. Eén site, één pixel.
  • Ongehashte of verkeerd gehashte persoonsgegevens. E-mail moet in kleine letters en getrimd zijn vóór SHA-256. Telefoonnummers in E.164-formaat. Meta laat onjuist opgemaakte identifiers stilletjes vallen, wat je EMQ ongemerkt afremt.
  • Ontbrekende fbc en fbp. Dit zijn de directe koppeling met de advertentieklik. Vang ze in de browser en geef ze door aan het serverevent.
  • Consent negeren. Voor verkeer uit de EU en het VK moeten CAPI-events de consentstatus respecteren. Stel de rechten op de Custom Pixel in en laat serverevents daarop aansluiten.
  • Resultaten beoordelen in week één. Datakwaliteit verbetert direct; algoritmische prestaties volgen pas na 30-60 dagen.
  • Niet controleren of de bedanktpagina gepubliceerd is. Onder checkout extensibility heeft je Custom Pixel geen pagina om op te vuren als de bedankt- en orderstatuspagina's niet gepubliceerd zijn, en verdwijnen Purchase-events stilletjes.

Wanneer je dit overdraagt

Het native Shopify-kanaal is een klus van 30 minuten die elke winkeleigenaar aankan. Custom CAPI met correcte deduplicatie, hashing, consentafhandeling en EMQ-optimalisatie is werk van een andere orde, en de faalmodi zijn stil: je cijfers zien er prima uit terwijl je biedstrategie maandenlang op slechte data draait.

Geef je serieus uit aan Meta en zit je EMQ onder 7, of lopen je door Meta gerapporteerde aankopen en je Shopify-bestellingen meer dan 10% uiteen, dan kost dat gat je meer dan de oplossing. Bekijk hoe wij Shopify tracking- en analytics-setups bouwen waar het algoritme van Meta daadwerkelijk tegen kan optimaliseren.

Veelgestelde vragen

Wat is het verschil tussen de Meta Pixel en Meta CAPI?

De Pixel is browserzijdige JavaScript die vanaf het apparaat van de shopper vuurt en wordt geblokkeerd door adblockers, Safari ITP en iOS-privacyinstellingen. CAPI stuurt dezelfde events vanaf een server, waar die blokkades niet gelden. Setups met alleen de browser verliezen naar schatting 20-35% van de conversie-events, en sommige metingen komen zelfs op 30-60%. Meta raadt aan beide te draaien met deduplicatie.

Is de native Meta-integratie van Shopify genoeg, of heb ik custom CAPI nodig?

Het Facebook- en Instagram-kanaal van Shopify stuurt server-side events voor de vier kernconversies en is meestal genoeg voor winkels onder ruwweg $20k per maand aan Meta-budget. Daarboven, of wanneer je custom events, verrijking van de payload of routering naar meerdere platforms nodig hebt, geeft een custom CAPI-setup via server-side GTM of een managed service een duidelijk betere Event Match Quality.

Wat is een goede Event Match Quality-score?

EMQ wordt gescoord van 0 tot 10. Onder 6 heeft Meta moeite om je events aan echte gebruikers te koppelen. Mik op 7 of hoger; 8+ is sterk. Zelfs kleine verbeteringen tellen: in één gedocumenteerd geval steeg de EMQ van 8,6 naar 9,3 en leverde dat 18% lagere CPA en 22% hogere ROAS op, zonder wijzigingen aan advertenties of budget.

Hoe voorkom ik dat CAPI conversies dubbel telt?

Stuur vanuit zowel de Pixel als CAPI een identieke event_id en event_name voor dezelfde conversie. Meta matcht ze, telt één conversie en houdt de rijkste payload aan. Doorgaans gebruik je het order-ID als event_id. Sla je dit over, dan verdubbelen je gerapporteerde conversies en jaagt je biedstrategie op spookomzet.

Hoe lang duurt het voordat CAPI de advertentieprestaties verbetert?

De datakwaliteit verbetert direct, maar het algoritme van Meta heeft tijd nodig om die te gebruiken. Reken op 30-60 dagen voordat het betere signaal zichtbaar wordt in levering en kostenefficiency. Beoordeel CAPI niet op de cijfers van week één.

Wil je een echt bedrag voor jouw webshop?

Stuur ons de URL en de omvang van je catalogus. We komen terug met een vaste offerte en de lijst met templates die erin zit, zonder gesprek tenzij je dat wilt.

Vraag een offerte aan
Ritik Verma, oprichter en Managing Director van 7SEA Marketing

Ritik Verma

Oprichter en Managing Director, 7SEA Marketing™

Ritik richtte 7SEA op in 2020 en kijkt nog steeds elke scope na voordat die de deur uitgaat. Hij schrijft hier over de kanten van het runnen van een e-commercebureau die niemand publiceert.