Hoe het werkt
Omdat Zonos Checkout in een iframe op een andere origin draait, kan het
niet rechtstreeks toegang krijgen tot de fbq-functie van uw pagina. Het relay-systeem lost dit op
met een tweestaps-handshake (stappen 1-2) gevolgd door event forwarding (stap 3):
- Checkout pingt de parent -- Wanneer de checkout in het iframe laadt, stuurt deze een bericht naar het parentvenster dat aangeeft dat events kunnen worden doorgestuurd, inclusief de Pixel-ID.
- Parent bevestigt -- Het relay-script op uw pagina ontvangt de ping, detecteert (of injecteert) uw Meta Pixel-basiscode en signaleert terug dat het klaar is om events te ontvangen.
- Events worden doorgestuurd -- Terwijl shoppers door checkout gaan, wordt elk
analytics-event via
postMessagenaar uw pagina gestuurd, waar het relay-script het doorstuurt naarfbqmet de juistetrack/trackCustom-modus.
Alle berichten worden alleen via HTTPS gevalideerd tegen vertrouwde Zonos-origins (zonos.com en
iglobalstores.com).
Vereisten
- Een Meta Pixel met een Pixel-ID (een numerieke string, doorgaans 15-16 cijfers). U kunt er een aanmaken in Meta Events Manager.
- Een legacy Checkout-integratie die Zonos Checkout in een iframe op uw pagina laadt.
- Facebook Pixel ingeschakeld in uw Zonos Checkout-instellingen (in het Zonos Dashboard, onder Checkout settings -> Tracking).
Setup
Stap 1: Voeg de Meta Pixel-basiscode toe aan uw pagina
Als Meta Pixel nog niet op uw site is geïnstalleerd, voeg dan de standaard
Pixel-basiscode toe aan de <head> van de pagina die het Checkout-iframe host.
Vervang YOUR_PIXEL_ID door uw eigen numerieke Pixel-ID.
<!-- Meta Pixel Code --> <script> !(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'); fbq('track', 'PageView');</script>Opmerking: Als uw site Meta Pixel al heeft geïnstalleerd (bijv. via Google Tag Manager, de native Shopify-integratie of een direct snippet), kunt u deze stap overslaan. Het relay-script gebruikt uw bestaande
fbq-functie.
U vindt dit snippet in uw Meta Events Manager onder uw Pixel Settings -> Continue Pixel Setup -> Install code manually.
Stap 2: Geef uw Pixel-ID door aan Zonos Checkout
Geef Zonos Checkout door welke Pixel-ID moet worden gebruikt door window.Zonos.facebookPixelId
in te stellen in de customHTML van uw Checkout. Het Zonos Dashboard biedt een
customHTML-editor onder Checkout settings -- voeg een <script>-tag toe zoals deze:
<script> window.Zonos.facebookPixelId = 'YOUR_PIXEL_ID';</script>Deze waarde wordt tijdens de relay-handshake naar de parent gestuurd. Als uw parentpagina
nog geen fbq heeft geladen, injecteert het relay-script de Meta
Pixel-basiscode voor u met dit ID.
Stap 3: Voeg het Zonos analytics relay-script toe
Voeg de volgende script-tag toe aan dezelfde pagina die het Checkout-iframe laadt, na de Meta Pixel-basiscode. Dit is hetzelfde script dat wordt gebruikt voor Google Analytics 4 -- één relay verwerkt beide providers, dus als u het al voor GA4 hebt toegevoegd, sla deze stap over.
<script async src="https://cdn.jsdelivr.net/npm/@zonos/elements/dist/scripts/analyticsRelayOnInit.js"></script>Volledig voorbeeld
Zo ziet de volledige setup eruit in de <head> van uw pagina:
<head> <!-- ... your existing head tags ... --> <!-- Meta Pixel Code --> <script> !(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'); fbq('track', 'PageView'); </script> <!-- Zonos analytics relay for iframe checkout --> <script async src="https://cdn.jsdelivr.net/npm/@zonos/elements/dist/scripts/analyticsRelayOnInit.js" ></script></head>Dat is alles. Zodra beide scripts op uw pagina staan, Facebook Pixel is ingeschakeld in uw
Zonos Dashboard en customHTML het Pixel-ID instelt, stuurt de relay automatisch
alle checkout funnel-events door naar Meta.
Meta Pixel events-referentie
Voor elke stap in de funnel verstuurt Zonos Checkout zowel een custom event (zodat u
precieze audiences kunt opbouwen) als het bijbehorende Meta standaardevent (zodat het verschijnt
in de optimalisatie- en conversierapportage van Meta). Alle events bevatten een
isTestMode-flag en de checkoutSessionId.
| Trigger↕ | Custom event (fbq('trackCustom', ...))↕ | Standard event (fbq('track', ...))↕ | Additional metadata↕ |
|---|---|---|---|
| Checkout opent | zonos-checkout-start | InitiateCheckout | -- |
| Shopper voert klantgegevens in | zonos-checkout-customer-info | none | -- |
| Shopper selecteert verzendmethode | zonos-checkout-shipping-info | none | serviceLevelId |
| Shopper voert betalingsgegevens in | zonos-checkout-payment-info | AddPaymentInfo | paymentMethod |
| Betalingspoging mislukt | zonos-checkout-payment-fail | none | -- |
| Order voltooid | zonos-checkout-success | none | order_id, currency, value, contents, content_ids |
| Order voltooid (e-commerce event) | purchase | Purchase | order_id, currency, value, contents, content_ids |
| Shopper sluit checkout | zonos-checkout-close | none | -- |
Stappen zonder Meta standaard equivalent (bijv. klantgegevens, verzendinfo) versturen alleen het custom
zonos-checkout-...-event. U kunt deze targeten in Meta Ads Manager via custom audiences met "Event =zonos-checkout-customer-info", enz.
Purchase event-metadata
Het Purchase standaardevent volgt het
Meta Pixel Purchase event-schema.
Winkelwagenitems worden gemapt vanuit de GA-style items-array naar Meta's
contents-array:
| Field↕ | Description↕ |
|---|---|
value | Totaal orderbedrag |
currency | Valutacode van drie letters (bijv. USD) |
order_id | Zonos order-ID of checkout session-ID |
contents | Array van winkelwagenitems, elk met id, quantity en item_price |
content_ids | Array van item-ID's (SKU, product-ID of fallback productnaam) |
content_type | Altijd "product" |
num_items | Totale hoeveelheid over alle items |
Debuggen
Schakel debug logging voor het relay-script in door de queryparameter zonosDebug=1 toe te voegen
aan uw pagina-URL:
https://www.yourstore.com/checkout?zonosDebug=1Open de developer console van uw browser om gedetailleerde logs te zien van de relay- handshake en doorgestuurde events. Dit is nuttig om te verifiëren dat:
- Het relay-script de ping van het checkout-iframe ontvangt.
- Meta Pixel is geconfigureerd met de juiste Pixel-ID.
- Events worden doorgestuurd naar
fbqmet de verwachtetrack/trackCustom-modus.
De Meta Pixel Helper Chrome-extensie is ook nuttig om Pixel-aanroepen in realtime te inspecteren.
Veelgestelde vragen
Waarom worden twee events verzonden voor dezelfde stap (bijv. zonos-checkout-start en InitiateCheckout)?
Meta's standaardevents ondersteunen conversie-optimalisatie, advertentierapportage en lookalike-
audiences out of the box. De custom zonos-checkout-...-events laten u
granulaire custom audiences opbouwen op de exacte funnelstap, zelfs wanneer geen Meta-
standaard equivalent bestaat (bijv. klantgegevens, verzendinfo). Beide versturen
geeft u het beste van beide werelden zonder signaalverlies.
Wat als ik zowel Google Analytics als Facebook Pixel gebruik?
U hebt geen twee relay-scripts nodig -- hetzelfde analyticsRelayOnInit.js verwerkt
beide providers in één handshake. Voeg de GA4-basis tag en de Meta Pixel-
basiscode toe aan uw <head>, stel zowel window.Zonos.googleAnalyticId als
window.Zonos.facebookPixelId in in customHTML en schakel beide providers in
in uw Zonos Dashboard. Elk event wordt doorgestuurd naar welke providers ook
ingeschakeld zijn.
Wat als mijn parentpagina Meta Pixel niet heeft geïnstalleerd?
Als uw customHTML window.Zonos.facebookPixelId instelt en het relay-script
geen fbq op de pagina detecteert, injecteert het de Meta Pixel-basiscode voor u
tijdens de handshake met het Pixel-ID dat u hebt opgegeven. U kunt de Meta Pixel-
basiscode ook zelf vooraf installeren als u PageView en andere
events buiten de checkout funnel wilt versturen.
Worden testorders gevolgd?
Alle events bevatten een isTestMode-veld. Wanneer Checkout in testmodus staat, worden events
nog steeds doorgestuurd naar Meta maar gemarkeerd met isTestMode: true. U kunt deze
uitfilteren in Meta Ads Manager of uitsluiten met custom conversion rules.
Vervangt Conversions API (CAPI) dit?
Nee -- dit is een browser-side Pixel-integratie die in de browsers van uw shoppers draait. De Meta Conversions API is een apart server-to-server-kanaal dat sommige merchants naast de Pixel gebruiken voor redundantie. Beide vullen elkaar aan en de relay van Zonos verwerkt alleen de browser-side Pixel.
Facebook Pixel voor iframe Checkout
Volg de volledige checkout funnel met Meta (Facebook) Pixel bij een iframe-gebaseerde legacy Checkout-integratie.Merchants die de legacy Checkout-integratie gebruiken (iframe gehost op
iglobalstores.com) kunnen Meta Pixel-events volgen door de volledige checkout funnel. Zonos Checkout stuurt analytics-events automatisch door vanuit het iframe naar de parentpagina met hetzelfde lichtgewicht relay-script dat wordt gebruikt voor Google Analytics 4, zodat events in uw Meta Events Manager verschijnen alsof ze vanaf uw eigen site afkomstig zijn.Voor elke funnelstap worden twee events verzonden:
zonos-checkout-...(viafbq('trackCustom', ...)) voor full-funnel custom audiences.fbq('track', ...)) voor ingebouwde optimalisatie, bijv.InitiateCheckout,AddPaymentInfoenPurchase.