Advertentieplatforms en webshops

Conversietracking bij betaling bij levering en externe checkouts

Conversietracking bij betaling bij levering: waarom pixels COD-bestellingen en bestellingen via een externe checkout missen, wanneer je de aankoop verstuurt en hoe je geweigerde bestellingen afhandelt.

·Bijgewerkt op ·11 min leestijd·Door het ROASaurus-team

Belangrijkste punten
  • Browserpixels missen bestellingen die buiten de normale checkout worden afgerond, zoals formulieren voor betaling bij levering, externe checkouts, bestelformulieren en funnels.
  • Een bestelling met betaling bij levering blijft onbetaald tot de koerier het geld int, dus een opzet die aankopen verstuurt bij betaling meldt hem te laat of nooit.
  • Meta wijst events af met een eventtijd van meer dan 7 dagen in het verleden, dus de meeste webshops met betaling bij levering moeten de aankoop versturen als de bestelling wordt aangemaakt of bevestigd.
  • Geweigerde bestellingen blijven in Ads Manager staan, dus deel je break-even-ROAS door het aandeel bestellingen dat wordt betaald.
  • Kies in ROASaurus onder Store settings voor External / COD checkout om Shopify-aankopen te versturen zodra de bestelling wordt aangemaakt.

Conversietracking bij betaling bij levering betekent dat je elke aankoop vanuit de bestelling zelf, op de server, naar je advertentieplatforms verstuurt, in plaats van te vertrouwen op een browserpixel op een bedankpagina. Bestellingen van apps voor betaling bij levering, externe checkouts, bestelformulieren en funnels worden vaak buiten de normale checkout afgerond, waardoor de pixel ze mist of op het verkeerde moment meldt.

Deze gids legt uit waarom die bestellingen verdwijnen en waarom de betaalstatus ertoe doet. Hij vergelijkt drie momenten om de aankoop te versturen: wanneer de bestelling is aangemaakt, wanneer hij is bevestigd en wanneer hij is betaald. Ook komen geweigerde bestellingen en terugbetalingen aan bod, en hoe ROASaurus omgaat met externe checkouts.

Waarom missen pixels bestellingen met betaling bij levering?

Een browserpixel meldt een aankoop wanneer de koper een pagina bereikt waarop hij draait. Dat is meestal de bedankpagina van je checkout. Elk bestelpad dat deze pagina overslaat, of haar op een ander domein laat draaien, verliest het aankoopevent of de advertentieklik die erbij hoort.

BestelpadWaar de bestelling wordt afgerondWat er misgaat met een browserpixel
App met formulier voor betaling bij leveringEen formulier op de productpagina; de app maakt de bestelling aanDe checkout van de webshop draait nooit, dus het aankoopevent wordt nooit afgevuurd
Externe checkoutEen checkout die door een andere app wordt beheerd, vaak op een ander domeinJe pixel wordt daar mogelijk niet geladen en de cookies met de advertentieklik blijven op het domein van je webshop
Bestelformulier of handmatige bestellingEen formulier, een chat of een telefoongesprek; medewerkers voeren de bestelling inEr is geen browsersessie die een pixel kan zien
Funnel met een eigen checkoutEen landingspagina-builder op een eigen domeinDe advertentieklik vindt plaats op het ene domein en de aankoop op het andere
Elk pad maakt een echte bestelling aan, maar geen enkel pad draait de normale bedankpagina met de advertentieklik eraan gekoppeld.

De bestelling zelf gaat nooit verloren. Hij belandt in je webshop of je funneltool met een bestel-id, een bedrag, een e-mailadres en vaak een telefoonnummer. Daarom is de betrouwbare oplossing om de aankoop server-side uit de bestelgegevens te versturen en de advertentieklik mee te geven aan de bestelling. Server-side tracking op Shopify legt de algemene methode uit. Dit artikel behandelt de bestellingen die extra zorg vragen.

Sommige apps voor betaling bij levering vuren ook hun eigen pixelevents af. Als ze dezelfde pixel gebruiken als je server-side tracking maar met een ander event-id, telt het platform de bestelling twee keer. Zet die app-events uit, of volg de stappen om dubbeltelling te voorkomen.

Waarom de betaalstatus ertoe doet

Een kaartbetaling wordt in de checkout afgeschreven, dus de bestelling is betaald zodra hij bestaat. Een bestelling met betaling bij levering is anders. Shopify noemt betaling bij levering een handmatige betaalmethode, en deze bestellingen blijven op Payment pending staan tot je ze als betaald markeert. In de praktijk gebeurt dat nadat de koerier het geld heeft geïnd, wat dagen kan duren. Sommige bestellingen worden helemaal nooit betaald, omdat de koper het pakket weigert of niet thuis is.

Veel trackingopzetten versturen de aankoop wanneer de bestelling is betaald, omdat dat bij kaartbestellingen het veiligste moment is. Bij een bestelling met betaling bij levering betekent dezelfde regel dat de aankoop dagen te laat of nooit aankomt. Het log hieronder toont een typisch geval bij een webshop die aankopen bij betaling verstuurt.

14 Oct 10:02 orders/create #4821 $50.00Bestelling geplaatst met betaling bij levering, betaling in afwachting
14 Oct 10:02 PurchaseNiet verstuurd: deze webshop verstuurt aankopen bij betaling
16 Oct 09:40 #4821 shippedPakket aan de koerier overhandigd
22 Oct 15:12 orders/paid #4821Als betaald gemarkeerd nadat de koerier had uitbetaald
22 Oct 15:12 Purchase event_time=14 OctAfgewezen: de eventtijd is meer dan 7 dagen oud
Voorbeeld: een aankoop die op betaling wacht. Tussen de bestelling en de betaalde status zitten acht dagen, en Meta accepteert geen eventtijd van meer dan 7 dagen in het verleden.

WooCommerce werkt andersom. Het zet bestellingen met betaling bij levering op Processing tot de betaling is geïnd, behalve bestellingen met een downloadbaar product, die op On hold komen te staan. Een opzet die bestellingen in Processing verstuurt, verstuurt ze dus zodra ze zijn geplaatst. Controleer welke status je platform aan deze bestellingen geeft voordat je iets anders beslist.

Aangemaakt, bevestigd of betaald: wanneer verstuur je de aankoop?

Je kunt uit drie momenten kiezen. Elk moment ruilt snelheid in tegen nauwkeurigheid.

Verstuur de aankoop wanneer de bestelling isGebruikelijke vertraging na de bestellingBevat bestellingen die nooit worden betaaldBelangrijkste risico
AangemaaktSecondenJa: weigeringen en nepbestellingenAds Manager toont meer omzet dan je ontvangt
Bevestigd door je team, per telefoon of berichtUren tot een dagAlleen weigeringenVraagt om een bevestigingsstap die het event kan activeren
Betaald of bezorgdDagen tot wekenNeeTe laat of verloren: de advertentieklik valt buiten de attributieperiode, of het event wordt afgewezen
Versturen bij aanmaak is snel, maar telt bestellingen mee die nooit worden betaald. Versturen bij betaling is exact, maar laat.

Waarom late aankoopevents een probleem zijn

Advertentieplatforms schrijven een aankoop alleen aan een advertentie toe als die binnen de attributieperiode na de klik plaatsvindt. Bij een klikattributie van 7 dagen op Meta telt een aankoop tot 7 dagen na de klik mee voor een advertentie. De Conversions API van Meta weigert bovendien events waarvan de event_time meer dan 7 dagen in het verleden ligt, en wijst het hele verzoek af als één event te oud is. Een aankoop die bij betaling wordt verstuurd, heeft dus twee slechte opties:

  • Verstuur hem met het tijdstip van de bestelling. Als de betaling meer dan 7 dagen later kwam, wijst Meta hem af.
  • Verstuur hem met het tijdstip van de betaling. Meta accepteert hem, maar de advertentieklik kan dan meer dan 7 dagen oud zijn, dus de aankoop wordt niet aan de advertentie toegeschreven.

Snelheid is ook belangrijk voor optimalisatie. Campagnes die op aankopen optimaliseren, leren van de aankopen die je verstuurt. Een signaal dat een week te laat aankomt, vertelt het algoritme over de doelgroep van vorige week.

Voorbeeldwebshop: aandeel bestellingen met betaling bij levering dat als betaald is gemarkeerd
100%0%
02468101214
Dagen na de bestelling, illustratieve cijfers. Rond dag 4 is ongeveer de helft van de bestellingen betaald. Na 7 dagen is nog 28% onbetaald, inclusief de 18% die nooit wordt betaald.

Welk moment je kiest

Voor de meeste webshops met betaling bij levering is versturen bij aanmaak de betere standaard. Het signaal is direct, de klik valt nog binnen de periode en er wordt niets afgewezen. De prijs is dat geweigerde bestellingen in Ads Manager als aankopen meetellen. Daar corrigeer je voor in je doelen, zoals het volgende gedeelte laat zien.

Als je team elke bestelling vóór verzending per telefoon of bericht bevestigt, is de bevestiging een goede middenweg. Ze haalt nepbestellingen eruit en gebeurt meestal binnen een dag. Gebruik haar als je eigen systeem de aankoop op dat moment kan versturen, bijvoorbeeld via een API. Nepbestellingen zijn belangrijker dan ze lijken: als het advertentieplatform ervan leert, zoekt het naar meer mensen die bestellingen plaatsen en niet betalen.

Zo ga je om met geweigerde bestellingen, annuleringen en terugbetalingen

Zodra een aankoop is verstuurd, blijft hij in Ads Manager staan. Een pakket dat aan de deur wordt geweigerd, haalt hem er niet uit. ROASaurus stuurt ook geen terugbetalingen of annuleringen naar Meta, TikTok en de meeste andere advertentieplatforms, dus de omzet die zij rapporteren bevat bestellingen die je nooit hebt ontvangen. Alleen waarden in Google Ads en Microsoft Advertising kunnen na een terugbetaling worden gecorrigeerd, als waardecorrecties aan staan. De oplossing is om je weigeringspercentage te meten en de cijfers waartegen je vergelijkt aan te passen.

Hier is een uitgewerkt voorbeeld voor één maand. Om het simpel te houden, zijn de prijzen zonder btw.

RegelBedrag
Bij aanmaak naar Meta verstuurde bestellingen200 bestellingen × $50 = $10,000
Aan de deur geweigerd (18%)36 bestellingen, $1,800
Bezorgd en betaald164 bestellingen, $8,200
Productkosten van bezorgde bestellingen (30%)−$2,460
Verzending voor alle 200 pakketten à $6−$1,200
Retourverzending voor 36 geweigerde pakketten à $6−$216
Kosten voor het innen van contant geld, $1.50 per betaalde bestelling−$246
Afhandeling, $1 per bestelling−$200
Brutowinst$3,878
Geweigerde pakketten leveren geen omzet op, maar kosten wel verzendkosten heen en terug. De geweigerde producten gaan terug in de voorraad, dus hun productkosten gaan niet verloren.

Met $3,000 aan advertentiekosten ziet dezelfde maand er heel anders uit, afhankelijk van welke omzet je gebruikt:

3.33ROAS in Ads Manager: $10,000 ÷ $3,000
2.73ROAS op bezorgde bestellingen: $8,200 ÷ $3,000
1.29POAS: $3,878 brutowinst ÷ $3,000

Het brutomargepercentage op bezorgde omzet is $3,878 ÷ $8,200 = 47.3%, dus de break-even-ROAS is 1 ÷ 0.473 = 2.11. Die break-even geldt voor bezorgde omzet. Ads Manager telt ook de geweigerde bestellingen mee, dus je moet hem omrekenen voordat je vergelijkt. Break-even-ROAS legt de basisformule uit.

Break-even in Ads Manager=break-even-ROAS ÷ betalingspercentage
Break-even-ROAS
1 ÷ brutomargepercentage, alleen berekend op betaalde bestellingen.
Betalingspercentage
Het aandeel bestellingen dat wordt betaald, bijvoorbeeld 82% als 18% wordt geweigerd.

2.114 ÷ 0.82 = 2.58. Een campagne die in Ads Manager minder dan 2.58 toont, verliest geld, ook al lijkt hij ruim boven 2.11 te zitten.

Je kunt het resultaat direct controleren. De advertenties draaien break-even als de advertentiekosten gelijk zijn aan de brutowinst van $3,878, en $10,000 aan gerapporteerde omzet ÷ $3,878 = 2.58.

Weigeringspercentages verschillen vaak per regio, product en campagne. Bereken ze per campagne als je genoeg bestellingen hebt, en gebruik de POAS-calculator om het resultaat op brutowinst te controleren.

Terugbetalingen en annuleringen in je eigen cijfers

Op Shopify bereiken annuleringen en terugbetalingen ROASaurus via een webhook, dus winstanalyse telt terugbetalingen af van de omzet. Je kiest zelf of geannuleerde bestellingen die nooit zijn verzonden meetellen, en standaard blijven ze buiten beschouwing. Een geannuleerde bestelling die al was verzonden blijft meetellen, omdat de verzending je nog steeds geld heeft gekost. Voor recente bestellingen die nog kunnen terugkomen, houdt de instelling Predicted returns een verwacht deel van de verkopen achter totdat echte terugbetalingen binnenkomen.

Hoe ROASaurus omgaat met betaling bij levering en externe checkouts

Shopify

Elke Shopify-webshop heeft in Store settings een Checkout type met twee opties:

  • Shopify checkout: de aankoop wordt verstuurd zodra Shopify de bestelling als betaald meldt, via de orders/paid-webhook.
  • External / COD checkout: de aankoop wordt verstuurd zodra de bestelling wordt aangemaakt, via de orders/create-webhook. Gebruik dit voor betaling bij levering en voor externe checkouts, zoals CheckoutChamp of Checkify, die zelf de Shopify-bestelling aanmaken.

De instelling geldt voor elke bestelling in de webshop. Kaartbestellingen die in de checkout worden betaald, worden bijna op hetzelfde moment aangemaakt en betaald, dus de keuze verandert vooral wanneer onbetaalde bestellingen worden verstuurd. Elke bestelling wordt één keer verstuurd. Als de betaalde update voor een bestelling met betaling bij levering later binnenkomt, wordt er geen tweede aankoop verstuurd.

De aankoop gebruikt de eigen gegevens van de bestelling: het bedrag, de valuta, de producten en het e-mailadres, telefoonnummer en adres van de koper, die gehasht worden voordat ze vertrekken. ROASaurus koppelt de bestelling aan de advertentieklik via het bezoeker-id dat het script op de winkelwagen opslaat. Als een bestelling dat niet bevat, probeert ROASaurus in deze volgorde: de tokens van winkelwagen en checkout, het aankoopevent uit de checkout, een e-mailadres dat de bezoeker eerder op je site heeft opgegeven, en hetzelfde IP-adres en dezelfde browser kort vóór de bestelling, als precies één bezoeker past. De pagina Shopify-integratie bevat de volledige installatie.

WooCommerce en andere webshops

De WooCommerce-plugin verstuurt een bestelling zodra die Processing of Completed bereikt. Bestellingen met betaling bij levering bereiken Processing wanneer ze worden geplaatst, dus ze worden direct verstuurd. Bestellingen met bankoverschrijving worden verstuurd wanneer ze naar Processing gaan. De andere webshopconnectors versturen een bestelling op deze momenten:

  • Wix, Squarespace, Ecwid, Lightspeed, CCV Shop en Shopware: wanneer de betaalstatus van de bestelling betaald is.
  • BigCommerce: wanneer de bestelling een status bereikt zoals Awaiting Fulfillment, Awaiting Shipment, Shipped of Completed.
  • Magento: wanneer de bestelstatus Processing of Complete is.
  • PrestaShop: wanneer de bestelling als geldig is gemarkeerd.
  • Eigen webhook en orders-API: wanneer je eigen systeem de bestelling verstuurt.

Controleer hoe je platform bestellingen met betaling bij levering markeert. Als ze onbetaald blijven tot de koerier uitbetaalt, komen hun aankopen te laat aan.

Funnels en je eigen checkout

  1. Voeg het script toe aan de funnelpagina's

    Gebruik dezelfde winkelsleutel als voor je webshop, zodat een bezoeker op beide domeinen één bezoeker-id houdt.

  2. Zet je domeinen op een rij

    Voeg in Store settings de funnel- en webshopdomeinen toe onder Linked domains. Links tussen die domeinen nemen dan het bezoeker-id en de click-id's mee.

  3. Verstuur de bestellingen via de orders-API

    Als de funnel de bestelling zelf opneemt, post je elke bestelling naar /api/v1/orders met de _tl-cookie als visitor_id. Je systeem bepaalt het moment: bij aanmaak, bij bevestiging of bij betaling.

  4. Controleer de Event log

    Open de Event log zodra de eerste echte bestellingen binnenkomen en controleer of elke bestelling naar elk gekoppeld platform is verstuurd.

Een bestelling uit een funnelcheckout, verstuurd naar de orders-API
POST /api/v1/orders
X-Roasaurus-Key: <store key>
Authorization: Bearer <API key>
Content-Type: application/json

{
  "order_id": "F-20931",
  "created_at": "2026-10-20T14:05:00Z",
  "total": 50.00,
  "currency": "USD",
  "email": "buyer@example.com",
  "phone": "+15555550123",
  "country": "US",
  "visitor_id": "<value of the _tl cookie>",
  "click_ids": { "fbc": "<_fbc cookie>", "fbp": "<_fbp cookie>" },
  "client_ip": "203.0.113.7",
  "user_agent": "Mozilla/5.0 ...",
  "items": [{ "variant_id": "SKU1", "quantity": 1, "price": 50.00 }]
}

De orders-API bewaart de eerste kopie van elk bestel-id. Als je systeem hem bij aanmaak en nogmaals bij betaling aanroept, verstuurt alleen de eerste aanroep een aankoop. Meer details staan bij funnels en meerdere domeinen.

Veelgemaakte fouten die je moet vermijden

  • Wachten op de betaalstatus bij een webshop met betaling bij levering. Aankopen komen een week te laat of helemaal niet aan, en late events worden afgewezen of vallen buiten de attributieperiode.
  • De ROAS uit Ads Manager vergelijken met een break-even die voor betaalde bestellingen is gemaakt. Deel de break-even eerst door je betalingspercentage.
  • Twee bronnen voor één aankoop. De eigen pixel van een formulier-app en je serverevents tellen dezelfde bestelling twee keer. Zie dubbele aankoopevents.
  • De klik kwijtraken tussen domeinen. Een funnel op een ander domein heeft het script en gekoppelde domeinen nodig, anders komen de bestellingen zonder advertentieklik binnen.
  • Handmatige bestellingen weglaten. Bestellingen per telefoon en chat hebben geen browsersessie, maar hebben nog wel een e-mailadres of telefoonnummer. Als ze uit de bestelgegevens worden verstuurd, geven ze het advertentieplatform iets om aan te koppelen.

Bronnen

  1. Meta for Developers: Server Event Parameters
  2. Shopify: WebhookSubscriptionTopic (GraphQL Admin API)
  3. Shopify Help Center: Manual payment methods
  4. Shopify Help Center: Understanding your order statuses
  5. WooCommerce: Cash on Delivery documentation

In ROASaurus

Lees verder

Advertentieplatforms en webshopsConversietracking voor CCV Shop: een installatiegidsConversietracking voor CCV Shop: verstuur betaalde bestellingen met een ondertekende webhook naar Meta en TikTok, koppel ze aan advertentieklikken, stel alles in, test het en ga om met late betalingen.Advertentieplatforms en webshopsEnhanced conversions van Google Ads op ShopifyEnhanced conversions voegen gehashte klantgegevens toe aan Google Ads-aankopen op Shopify. Zo werken ze, zo verschillen ze van offline imports en zo stel je ze in.Advertentieplatforms en webshopsConversietracking voor Lightspeed eCom-webshopsConversietracking voor Lightspeed eCom (C-Series): verstuur betaalde bestellingen vanaf de server naar Meta en TikTok, koppel ze aan advertentieklikken, stel het in en test het.
FAQ

Vragen, beantwoord

Kan Meta bestellingen met betaling bij levering tracken?

Ja, als de aankoop op de server uit de bestelgegevens wordt verstuurd. Een browserpixel mist deze bestellingen vaak, omdat veel apps voor betaling bij levering en externe checkouts de normale bedankpagina overslaan.

Moet ik de aankoop versturen wanneer de bestelling wordt aangemaakt of wanneer hij wordt betaald?

Verstuur hem bij de meeste webshops met betaling bij levering zodra de bestelling wordt aangemaakt of bevestigd. Betaling kan meer dan een week duren, en Meta wijst events af met een eventtijd van meer dan 7 dagen in het verleden. Corrigeer in plaats daarvan voor geweigerde bestellingen in je ROAS-doelen.

Tellen geweigerde bestellingen met betaling bij levering mee als aankopen in Ads Manager?

Ja. Een aankoop die is verstuurd, blijft in Ads Manager staan als het pakket wordt geweigerd. Deel je break-even-ROAS door het aandeel bestellingen dat wordt betaald om de break-even in termen van Ads Manager te krijgen.

Welk checkouttype moet ik kiezen in ROASaurus?

Kies op Shopify External / COD checkout voor betaling bij levering en voor externe checkouts, zoals CheckoutChamp of Checkify, die de Shopify-bestelling aanmaken. Aankopen worden dan verstuurd wanneer de bestelling wordt aangemaakt in plaats van wanneer hij wordt betaald.

Hoe track ik bestellingen uit een funnel met een eigen checkout?

Voeg het ROASaurus-script toe aan de funnelpagina's, zet de funnel- en webshopdomeinen onder Linked domains en verstuur de funnelbestellingen met het bezoeker-id naar de orders-API.

Elke verkoop herleid tot de advertentie die hem opleverde

Server-side tracking, winst en lifetime value in één app. 14 dagen gratis proberen, geen creditcard.

Start je gratis proefperiode →