Advertentieplatforms en webshops

Meta Event Match Quality: zo verhoog je je score

Event Match Quality geeft aan hoe goed je Conversions API-events overeenkomen met Meta-accounts. Lees welke parameters de score verhogen, hoe je ze hasht en waar je op moet mikken.

·Bijgewerkt op ·8 min lezen·Door het ROASaurus-team

Belangrijkste punten
  • Event Match Quality (EMQ) is een score op 10 die Meta geeft aan elk websiteevent dat via de Conversions API wordt verstuurd.
  • E-mail en de click-id (fbc) hebben de hoogste prioriteit in de lijst van Meta; daarna komen telefoonnummer, external_id, fbp en land.
  • Normaliseer contactgegevens voordat je ze hasht met SHA-256, en hash nooit fbp, fbc, het IP-adres of de user agent.
  • De ontwikkelaarsdocumentatie van Meta raadt aan om 6.0 of hoger na te streven; een Purchase die uit bestelgegevens is opgebouwd bevat de meeste identifiers, terwijl PageView meestal weinig bevat.
  • Controleer de score per event onder View details in Events Manager en geef hem twee dagen na een wijziging, want hij gebruikt de events van de laatste 48 uur.

Event Match Quality (EMQ) is een score op 10 die Meta geeft aan elk websiteevent dat je via de Conversions API verstuurt. Het laat zien hoe goed de klantinformatie bij dat event het kan koppelen aan een Meta-account. Je verhoogt de score door meer van de juiste identifiers te versturen, opgemaakt en gehasht zoals Meta het verwacht.

Deze gids legt uit wat de score meet, welke parameters met klantinformatie het zwaarst wegen, de regels voor hashing en normalisatie, waarom aankopen uit bestelgegevens meer identifiers bevatten dan paginaweergaven, welke score je kunt nastreven en waar je hem controleert.

Wat meet Event Match Quality?

Meta berekent de score uit twee dingen: de kwaliteit van de klantinformatie die je met een serverevent meestuurt, en het aandeel van die events dat Meta aan een account koppelt. Een gekoppeld event vertelt Meta welke persoon heeft gekocht. Meta kan de aankoop dan toeschrijven aan de advertentie die die persoon zag of aanklikte, en je advertenties tonen aan mensen die waarschijnlijker kopen.

Een paar feiten uit de documentatie van Meta bepalen hoe je de score leest:

  • Hij geldt per event. Purchase, AddToCart en PageView krijgen elk hun eigen score, voor standaard- en custom events.
  • Het geldt alleen voor serverevents. De score is beschikbaar voor websiteevents die via de Conversions API worden verstuurd met action_source op website. Events die alleen door de browserpixel worden verstuurd, hebben geen score.
  • Het gebruikt de laatste 48 uur. Verstuur events gestaag, anders raakt de score verouderd.
Voorbeeld: Purchase-event, Event Match Quality8.3
Onder 6.0
6.0 of hoger
010
Een voorbeeldscore voor Purchase. De ontwikkelaarsdocumentatie van Meta raadt aan om 6.0 of hoger na te streven.

Meta merkt ook op dat betere matching de extra conversies kan verhogen die het rapporteert voor je Conversions API-opzet. Een aankoop die Meta niet kan koppelen, is een aankoop waarvoor je advertenties geen eer krijgen.

Welke parameters met klantinformatie verhogen de score?

Meta publiceert een prioriteit voor elk type klantinformatie. Verstuur elke parameter die je voor een event hebt, en begin met die met hoge prioriteit.

ParameterSleutelPrioriteit bij MetaWaar een webshop het vandaan haalt
E-mailemHoogCheckout, account of een aanmeldformulier
Click-idfbcHoogDe fbclid in de URL van de landingspagina na een advertentieklik
TelefoonnummerphGemiddeldCheckout, als het veld is ingevuld
Extern idexternal_idGemiddeldJe klant-id of een bezoeker-id
Browser-idfbpGemiddeldDe cookie _fbp
LandcountryGemiddeldFactuur- of verzendadres
GeboortedatumdbGemiddeldZelden beschikbaar in een webshop
Voor- en achternaamfn, lnLaagCheckout
Plaats en postcodect, zpLaagFactuur- of verzendadres
Prioriteiten uit het helpartikel van Meta over Event Match Quality. E-mail en click-id tellen het zwaarst.

Het IP-adres en de user agent staan niet in de prioriteitenlijst van Meta, maar de ontwikkelaarsdocumentatie van Meta zegt dat het meesturen van client_ip_address en client_user_agent de matching kan helpen. De user agent is voor websiteevents sowieso verplicht. Beide moeten de waarden van de shopper zijn, niet die van je server.

Hoe hash en normaliseer je klantgegevens?

Meta vereist dat contactgegevens met SHA-256 worden gehasht voordat je ze verstuurt. Hashing werkt alleen als elk systeem dezelfde waarde op dezelfde manier schrijft, dus Meta definieert voor elk veld een normaalvorm. Normaliseer eerst, hash daarna.

VeldRuwe waardeGenormaliseerd, vóór het hashenRegel
E-mail Anna.Berg@Example.com anna.berg@example.comSpaties verwijderen, kleine letters
Telefoon+1 (415) 555-013414155550134Alleen cijfers, met landcode
VoornaamAnna-LenaannalenaKleine letters, geen leestekens
PlaatsSan FranciscosanfranciscoKleine letters, geen spaties of leestekens
Staat (VS)CaliforniacaCode van twee letters, kleine letters
Postcode (VS)94107-123494107De eerste vijf cijfers bij Amerikaanse postcodes
LandVerenigde StatenusISO-code van twee letters, in kleine letters
Elke genormaliseerde waarde wordt daarna gehasht met SHA-256. Dezelfde persoon moet altijd dezelfde hash opleveren.

In code gaat het om de volgorde van de stappen:

Eerst normaliseren, dan hashen (Node.js)
import { createHash } from 'node:crypto';
const sha256 = (s) => createHash('sha256').update(s).digest('hex');

// Normalize first, then hash.
const em = sha256(' Anna.Berg@Example.com '.trim().toLowerCase());
// hashes "anna.berg@example.com"

const ph = sha256('+1 (415) 555-0134'.replace(/\D/g, ''));
// hashes "14155550134"

const ct = sha256('San Francisco'.toLowerCase().replace(/[^a-z]/g, ''));
// hashes "sanfrancisco"

// Sent as they are, never hashed:
// fbp, fbc, client_ip_address, client_user_agent

Let op telefoonnummers met een extra nul na de landcode. Een Nederlands nummer dat als +31 (0)6 1234 5678 is geschreven, wordt 310612345678 als je alleen de symbolen verwijdert. De juiste vorm is 31612345678. Placeholderwaarden zijn een andere valkuil: een e-mailadres zoals noemail@example.com dat een webshop bij gastbestellingen invult, wordt door veel klanten gedeeld en kan dus niet één persoon identificeren. Laat het veld in dat geval weg.

Waarom bevatten serverevents uit bestelgegevens meer identifiers?

Een paginaweergave vindt plaats voordat de bezoeker iets over zichzelf heeft verteld. De browser kent een cookie-id, misschien een click-id, een IP-adres en een user agent. Een betaalde bestelling is anders: de shopper heeft een e-mailadres ingevuld, vaak een telefoonnummer, een naam en een adres.

PageView vanuit de browser
  • fbp, browser-id
  • fbc, alleen na een klik op een advertentie
  • IP-adres en user agent
  • E-mailadres alleen als de bezoeker het eerder heeft opgegeven
Purchase op basis van bestelgegevens
  • E-mailadres en telefoonnummer uit de checkout
  • Naam, plaats, staat, postcode en land
  • Je klant-id als external_id
  • IP-adres, user agent, fbp en fbc, gekoppeld vanuit het bezoek
Een aankoop die op basis van de bestelling is opgebouwd, bevat de contactgegevens die een paginaweergave niet heeft.

Daarom kan een Purchase-event dat vanaf je server wordt verstuurd hoger scoren dan PageView of ViewContent. Een aankoopevent dat alleen van de bedankpagina komt, bevat de browser-id's, maar niet altijd het e-mailadres en telefoonnummer uit de bestelling.

Niet elke parameter kan bij 100% van de events aanwezig zijn, en dat is normaal. In het voorbeeld hieronder zit het click-id bij 38% van de aankopen, omdat alleen kopers die via een klik op een Meta-advertentie kwamen er een hebben.

Voorbeeldwebshop: aandeel Purchase-events met elke parameter
IP-adres
100%
User agent
100%
Extern id
100%
E-mail
99%
Browser-id (fbp)
91%
Telefoon
64%
Click-id (fbc)
38%
Illustratieve cijfers. Volg deze dekking in de tijd: een plotselinge daling bij één parameter is het teken van een probleem, niet een laag aandeel click-id's.

Wat is een realistisch doel voor Event Match Quality?

Volgens de ontwikkelaarsdocumentatie van Meta wordt doorgaans een score van 6.0 of hoger aanbevolen, waar mogelijk. Beschouw dat als de doelstelling voor de events die contactgegevens bevatten, vooral Purchase. Een Purchase die uit bestelgegevens is opgebouwd, bevat het e-mailadres, een van de twee parameters met hoge prioriteit, en de meeste parameters met gemiddelde prioriteit. Daarom is dit het event waarbij de doelstelling het meest haalbaar is. Meet het liever dan dat je ervan uitgaat: de score hangt ook af van je klanten.

Verwacht niet op elk event dezelfde score. PageView, ViewContent en AddToCart hebben vaak geen contactgegevens, omdat de meeste bezoekers tot aan de checkout anoniem zijn. Een lagere score is daar normaal, en geen reden om e-mailadressen eerder te verzamelen dan je bezoekers ze willen geven.

Jaag ook niet op een 10. De score hangt ook af van het aandeel events dat Meta kan koppelen, en een deel daarvan heb je niet in de hand: sommige van je kopers hebben geen Meta-account of gebruikten daar een ander e-mailadres. Ook toestemming speelt mee. Als in ROASaurus Respect visitor consent aan staat, heeft een bezoeker die marketingcookies weigert geen opgeslagen click-id of bezoeker-id. De betaalde bestelling wordt dan verstuurd met gehashte bestelgegevens en het IP-adres en de user agent van de bestelling, maar zonder fbc en fbp. Meer weigeringen betekenen minder id's per event. Onze helppagina over toestemming legt de instelling uit.

De nuttige vraag is niet of je score hoog is, maar of die is veranderd. Vergelijk elk event met zijn eigen verloop na elke wijziging aan je thema, checkout of tracking.

Hoe controleer je Event Match Quality in Events Manager?

  1. Open je dataset

    Ga naar Events Manager en selecteer de naam en het id van je pixel of dataset.

  2. Open de eventdetails

    Zoek het event, bijvoorbeeld Purchase, en klik op View details.

  3. Lees het tabblad Event matching

    Daar zie je de score, het aandeel events met klantgegevens en tips om de matching te verbeteren.

  4. Controleer Diagnostics

    Het tabblad Diagnostics in Events Manager toont problemen met je events en aanbevelingen om ze op te lossen.

  5. Controleer na twee dagen opnieuw

    De score gebruikt de events van de laatste 48 uur, dus een oplossing is pas na ongeveer twee dagen volledig zichtbaar.

De andere tabbladen op dezelfde pagina helpen ook. Event coverage vergelijkt je serverevents met je pixelevents, Event deduplication toont het aandeel events met een ontdubbelingssleutel zoals het event-id, en Data freshness laat zien hoe snel je serverevents binnenkomen. Als je de serverkant nog aan het inrichten bent, begin dan met onze gids over de Meta Conversions API.

Waarom is mijn Event Match Quality laag?

Als één event lager scoort dan je verwacht, zijn dit de gebruikelijke oorzaken:

  • De server stuurt zijn eigen IP-adres mee. Als events via je server of een tagserver lopen, moet die het IP-adres en de user agent doorgeven die hij van de shopper heeft vastgelegd, niet zijn eigen.
  • De fbclid gaat verloren. Het click-id staat alleen in de URL van de landingspagina. Slaat niets het daar op, dan is het er bij de checkout niet meer. Bewaar het precies zoals het binnenkomt, want het is hoofdlettergevoelig.
  • Contactgegevens worden gehasht zonder te normaliseren, of ongehasht verstuurd.
  • De browser-id's worden gehasht. Een gehashte fbp of fbc kan niet worden gekoppeld.
  • Aankopen komen alleen uit de browser. Een event van de bedankpagina mist vaak het e-mailadres en telefoonnummer die de bestelling wel heeft. Als je de aankoop vanuit de bestelling verstuurt, is dat opgelost.

Hoe ROASaurus klantinformatie verstuurt

ROASaurus bouwt het Purchase-event op uit de bestelling in je webshop, dus het bevat de contactgegevens van de bestelling. E-mailadres, telefoonnummer, voor- en achternaam, plaats, staat, postcode en land worden genormaliseerd en gehasht met SHA-256. Het klant-id van de webshop en het bezoeker-id van ROASaurus gaan gehasht mee als external_id. Het IP-adres, de user agent, de pagina-URL en fbp worden gekoppeld vanuit het bezoek van de shopper, en fbc wordt opgebouwd uit de fbclid die het script in je webshop opslaat wanneer de bezoeker landt.

Een event zonder fbc, fbp, e-mailadres, telefoonnummer of IP-adres wordt overgeslagen, omdat Meta het niet kan koppelen. De Meta-integratiepagina toont elk veld dat wordt verstuurd, en server-side tracking legt uit hoe bestellingen aan de advertentieklik worden gekoppeld. Om de score te volgen, leest de pagina Tracking health elke dag de Event Match Quality van elke Meta-pixel en geeft een waarschuwing wanneer de Purchase-score onder je minimum zakt, standaard 6,0.

Bronnen

  1. Meta Business Help Center: About Event Match Quality
  2. Meta for Developers: Customer Information Parameters
  3. Meta for Developers: Verifying Your Setup
  4. Meta Business Help Center: View server event details in Meta Events Manager
  5. Meta for Developers: Best Practices - Conversions API

In ROASaurus

Lees verder

Advertentieplatforms en webshopsConversietracking bij betaling bij levering en externe checkoutsConversietracking 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.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.
FAQ

Vragen, beantwoord

Wat is een goede Event Match Quality-score?

In de ontwikkelaarsdocumentatie van Meta wordt aanbevolen om waar mogelijk 6.0 of hoger na te streven. Purchase-events die uit bestelgegevens zijn opgebouwd, bevatten de meeste id's; events van anonieme bezoekers, zoals PageView, scoren vaak lager.

Waarom is mijn PageView-score lager dan mijn Purchase-score?

De meeste bezoekers zijn anoniem wanneer ze een pagina bekijken, dus een PageView heeft geen e-mailadres of telefoonnummer. Een Purchase die uit de bestelling is opgebouwd, heeft de contactgegevens uit de checkout en kan dus vaker worden gekoppeld.

Moet ik het IP-adres en fbp hashen voor de Conversions API?

Nee. Hash contactgegevens zoals e-mailadres, telefoonnummer, naam en adres met SHA-256 nadat je ze hebt genormaliseerd. Verstuur het IP-adres, de user agent, fbp en fbc ongewijzigd.

Hoe lang duurt het voordat Event Match Quality wordt bijgewerkt?

Meta berekent de score uit de events van de laatste 48 uur. Wacht na een wijziging in je opzet ongeveer twee dagen voordat je het resultaat beoordeelt.

Krijgt de browserpixel een Event Match Quality-score?

Nee. Meta toont de score voor website-events die via de Conversions API worden verstuurd met action_source ingesteld op website.

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 →