Waarom de meeste Conversions API-koppelingen dubbele events sturen
· 6 min · Conversions API, webshoptracking, advertentiedata
Je advertentiecijfers zien er misschien beter uit dan de werkelijkheid. Bij Meta-campagnes voor een webshop is dat vaker regel dan uitzondering. De oorzaak zit bijna altijd in de manier waarop conversies worden doorgegeven, en specifiek in een koppeling die dubbele events stuurt zonder dat iemand het merkt. Hieronder lees je waar het misgaat en hoe je het wel goed opzet.
Waarom browser-tracking niet meer genoeg is
De klassieke Meta Pixel draait in de browser van je bezoeker. Dat werkt zolang die browser meewerkt, en dat doet de browser steeds minder. Adblockers, de tracking-bescherming van Safari, de privacy-instellingen op iOS en de standaardinstellingen van Firefox strippen Pixel-events voordat ze Meta bereiken. Een deel van je conversies komt zo simpelweg nooit aan.
Voor het algoritme van Meta betekent dat optimaliseren op halve data. Het kan niet leren van aankopen die het nooit ziet. Je kosten per conversie lijken hoger dan ze zijn, je doelgroepen kleiner, en je budget werkt minder hard. De Conversions API lost dit op door events rechtstreeks vanaf je server naar Meta te sturen, buiten de browser om. Geen adblocker die daar iets aan verandert.
De standaardopzet, en waar het misgaat
De gangbare aanpak is om beide tegelijk te draaien. De Pixel vuurt events vanuit de browser voor bezoekers die niets blokkeren, en de Conversions API vuurt dezelfde events vanaf je server voor iedereen. Meta ontvangt beide en voegt ze samen tot één conversie. In theorie krijg je zo het beste van twee werelden.
In de praktijk gaat het precies hier mis.
Het deduplicatieprobleem
Dit is de fout die ik het vaakst terugzie, en de fout die de meeste schade aanricht. Stuur je hetzelfde aankoopevent vanuit zowel de Pixel als de Conversions API zonder correcte deduplicatie, dan telt Meta het twee keer. Je Events Manager laat het dubbele aantal conversies zien. Je ROAS lijkt fors beter dan hij is. Je kosten per aankoop lijken onmogelijk laag.
In het dashboard ziet alles er uitstekend uit. Dus schaal je je budget op basis van die cijfers, en verlies je geld, omdat de echte prestaties nooit zo goed waren als de data suggereerde. Je optimaliseerde op opgeblazen getallen.
Het probleem is niet dat de cijfers slecht zijn. Het probleem is dat ze te goed zijn.
De oplossing is eenvoudig, maar vraagt zorgvuldige uitvoering: stuur hetzelfde event_id mee vanuit het browser-event en het server-event. Ontvangt Meta twee events met dezelfde naam, hetzelfde id en ongeveer dezelfde tijd, dan voegt het ze samen tot één conversie. Genereer een uniek id op het moment dat het event plaatsvindt en geef het door aan zowel je Pixel-aanroep als je server-aanroep.
Veel webshop-apps die CAPI-ondersteuning beloven, claimen dit automatisch te regelen. Lang niet allemaal doen het goed. Sommige genereren aparte id's voor browser en server, andere sturen vanaf de Pixel helemaal geen event-id mee. De enige manier om het zeker te weten is het zelf controleren in Events Manager, bij het overzicht van gededupliceerde events. Zie je daar geen gezonde deduplicatie, dan zijn je cijfers opgeblazen.
Event match quality: komt je event wel bij de juiste persoon aan
Zelfs met perfecte deduplicatie kan je opzet onderpresteren als Meta de events niet aan echte gebruikers kan koppelen. Elk server-event krijgt een match quality-score van 1 tot 10, afhankelijk van hoeveel klantgegevens je meestuurt. Een lage score betekent dat Meta je conversie wel ontving, maar niet met zekerheid aan een profiel kon koppelen. Wat het niet kan koppelen, kan het niet gebruiken om je advertenties te sturen.
De parameters die het meeste gewicht hebben: het e-mailadres (gehasht met SHA-256), het telefoonnummer (gehasht), een klant-id (external_id, gehasht), het IP-adres, de user agent, en de fbc- en fbp-waarden. Die laatste twee zijn de Meta-klik-id uit de URL en de browser-id uit de cookie. In veel opzetten wordt alleen het e-mailadres meegestuurd. Dan blijft de score laag.
Stuur alles mee wat je hebt. Juist fbc en fbp zijn waardevol, want daarmee koppelt Meta een server-conversie direct aan de advertentieklik die hem veroorzaakte. Mik op een score van zeven of hoger. Alles daaronder is optimalisatiekwaliteit die je op tafel laat liggen.
Fouten die ik steeds terugzie
- Live gaan zonder testevents. Meta heeft daar een aparte Test Events-tool voor. Vuur elk type af, van PageView tot Purchase, en bevestig dat ieder event correct aankomt voordat je je live account aanraakt.
- Verkeerd geschreven eventnamen. Purchase is niet hetzelfde als purchase. De standaardevents van Meta zijn hoofdlettergevoelig. Wijkt de schrijfwijze af, dan herkent Meta het niet als standaardevent en krijgt de campagne die daarop optimaliseert geen data.
- Ontbrekende content_ids bij ViewContent en AddToCart. Die parameter koppelt events aan specifieke producten in je catalogus. Zonder die koppeling werken dynamische productadvertenties niet, precies de retargeting die mensen het product toont dat ze net bekeken.
- CAPI opzetten maar de browser-Pixel dezelfde events laten vuren zonder gedeeld event_id. Dat is het deduplicatieprobleem opnieuw. Beide kanten moeten hetzelfde id delen, anders verdubbel je je conversietelling.
- Nooit meer in Events Manager kijken. Tracking breekt stil. Een theme-update verandert je checkout en je AddToCart stopt met vuren. Een app-update verandert hoe de Pixel laadt en je id's matchen niet meer. Er komt geen waarschuwing.
Hoe je je opzet controleert
- Open in Events Manager de Test Events van je Pixel en start een testsessie.
- Open je winkel in een incognitovenster, zonder extensies en met schone cookies.
- Bekijk een product, leg het in je mandje, start de checkout en rond indien mogelijk een testaankoop af.
- Controleer in Events Manager of elk event precies één keer verschijnt, niet twee keer. Zie je dubbele ViewContent- of AddToCart-events, dan is je deduplicatie stuk.
- Klik elk event open en bekijk de match quality-score. Blijft die onder de zes, dan mis je klantgegevens die je zou moeten meesturen.
- Bekijk het overzicht van gededupliceerde events. Een gezonde deduplicatie bevestigt dat de Pixel en de Conversions API allebei vuren en dat Meta ze samenvoegt.
Doe deze controle na elke theme-wijziging, na elke app-installatie en verder als vast onderdeel van je onderhoud. Tracking is geen systeem dat je één keer instelt en daarna vergeet. Het verschuift met elke verandering aan je winkel en valt stil zonder melding. Wie een bestaande webshop overneemt of onderhoudt, kijkt hier dus vroeg naar: een opzet die er in het dashboard perfect uitziet, kan maandenlang op verdubbelde cijfers hebben gedraaid. Betrouwbare advertentiedata begint niet bij meer budget, maar bij events die kloppen.
Wil je een gratis check van je site?
Vraag een gratis, vrijblijvende check aan. Je weet daarna precies waar je aan toe bent.