Meta

Meta-CAPI-Match-Quality: warum "Poor" und wie du auf "Good" kommst

Match-Quality ist Metas Diagnose dafür, wie gut deine Conversions-API-Events an echte Personen gebunden sind. Sie reicht von Poor bis Great. Vier Stufen, vier verschiedene Fixes. Hier liest du sie und änderst pro Stufe das Richtige.

Lesezeit: ca. 7 MinVeröffentlicht: 2026-05-02

Wo Match-Quality lebt

Events Manager öffnen, deinen Pixel auswählen, Settings → Diagnostics. Unter dem EMQ-Score zeigt Meta einen Match-Quality-Wert pro Event-Typ, berechnet über die letzten 7 Tage CAPI-Events. Mögliche Werte: Poor, OK, Good, Great. Der Score wird täglich aktualisiert. Jede Stufe entspricht einem anderen Engpass.

Stufe 0: Poor

Häufigster Grund für "Poor" ist, dass Events ankommen, aber Meta sie nicht an deine verifizierte Domain binden kann. Entweder ist die Domain nicht in Business Settings verifiziert, oder die Verifikation ist auf der Apex gemacht, aber Events feuern von www. (oder umgekehrt).

Aktion: Business Settings → Brand Safety → Domains. Genau die Origin hinzufügen, von der Events feuern (im Events Manager → Test Events sehen, was Meta sieht). Verifikation per Meta-Tag (am schnellsten) oder DNS-TXT-Record. Nach der Verifikation Domain in die Trusted-Domains-Liste des Pixels eintragen unter Pixel → Settings → Traffic Permissions.

Diese eine Änderung kann dich in 24 Stunden von Poor auf OK bringen, bevor du in Beaconry irgendwas anrührst. Es ist die häufigste Ursache von "Poor", die wir auf Kunden-Setups sehen.

Stufe 1: OK

Domain ist verifiziert, Events landen, Meta sieht nur nicht genug matchbare Felder pro Event. Beaconry sendet sieben gehashte PII-Felder out of the box bei Form-Submissions: E-Mail, Telefon, Vorname, Nachname, Stadt, Bundesland, PLZ. Wenn du "OK" mit Form-getriebenen Leads siehst, fehlt eines oder mehrere dieser Felder im Form-Plugin.

Aktion: Beaconry → Logs öffnen, nach Meta filtern, einen aktuellen generate_lead-Eintrag anklicken. Request-Body anschauen. Jedes fehlende user_data-Feld repräsentiert ein Form-Feld, das deine Besucher nicht ausgefüllt oder nicht gehabt haben. Fehlende Felder zur Form hinzufügen oder akzeptieren, dass die Audience strukturell keine hat (manche B2B-Forms haben E-Mail + Telefon, aber keine PLZ, das ist OK).

Für Purchase-Events aus WooCommerce kommen die sieben Felder aus der Billing-Adresse der Bestellung, die immer komplett ist. WooCommerce-Purchase-Events sollten ohne Zusatzaufwand "Good" oder "Great" erreichen. Wenn sie "OK" sind, prüfen ob du eine alte Beaconry-Version hast, die noch nicht auf das Senden von Stadt/Bundesland aktualisiert ist (ältere Versionen sendeten nur vier Felder).

Stufe 2: Good

Hier stabilisieren sich die meisten B2C-Kunden. Meta hat die gehashte PII, kennt die Domain, kann die Conversion einem Meta-User matchen. Was fehlt, ist ein First-Party-Cookie, das die Browser-Session des Besuchers an den Meta-User bindet, was für die höchste Match-Bandbreite nötig ist.

Aktion: Hybrid-Modus für Meta in Beaconry aktivieren. Browser-Pixel lädt parallel zum Server-Side-Dispatch, beide feuern mit derselben stabilen event_id, Meta merged sie innerhalb eines 48-Stunden-Dedup-Fensters. Browser-Seite fügt fbp + fbc-First-Party-Cookies hinzu. Server-Seite fügt gehashte PII hinzu. Meta nimmt das reichere Signal.

Trade-off: Hybrid-Modus ist +30 KB pro Page-View an zusätzlichem JavaScript, plus der Browser-Pixel wird selbst von Adblockern geblockt (was OK ist, weil der Server-Side-Pfad die ohnehin abfängt). Hybrid für adblock-lastige Audiences (B2B, Dev) ausgeschaltet lassen, für Retail-Mainstream einschalten.

Stufe 3: Great

"Great" ist die Bandbreite, in der dein CAPI-Signal stark genug ist, dass Metas Optimierungs-Algorithmen vertrauensvoll auf ähnliche Audiences bidden können. Die verbleibende Lücke von Good zu Great ist meist eines von:

  • Aggregated-Event-Measurement-Prioritäten. Meta verlangt, dass du bis zu 8 Conversion-Events pro verifizierter Domain in Priority-Reihenfolge rankst. Wenn keine Prioritäten gesetzt sind, wählt Meta Defaults, die oft nicht zu deinem Funnel passen. Setzen: Purchase > SubmitApplication > Lead > ViewContent > AddToCart > InitiateCheckout. Pixel → Settings → Aggregated Event Measurement.
  • Duplikate aus altem Tracking. Wenn du den Meta-Pixel browser-only vor Beaconry genutzt hast und ihn nicht entfernt hast, sendest du jetzt dasselbe Event zweimal. Mit matching event_ids dedupliziert Meta korrekt. Ohne (was der Fall ist, wenn der alte Pixel nicht event_id-aware war), inflatest du das Volumen und degradest die Match-Quality. Aktion: alten Pixel-Snippet von der Site entfernen.
  • External_id-Feld. Wenn du eine stabile Customer-ID über Visits hinweg hast (eingeloggte User), gib sie als external_id im Event-Payload mit. Beaconry tut das automatisch für WooCommerce, wenn der Kunde einen Account hat. Für anonyme Käufer gibt es keine external_id; das ist normal.

Was "Great" tatsächlich für die Kampagnen-Performance heißt

Match-Quality ist ein Proxy dafür, wie selbstsicher Metas Algorithmen deine Audience modellieren können. Konkret:

  • Poor → Meta kann keine zuverlässige Lookalike-Audience aus deinen Conversions bauen. CPA driftet über die Kampagnen-Lebensdauer hoch.
  • OK → Lookalikes funktionieren, aber mit hoher Varianz. Smart-Bidding braucht länger, um sich zu stabilisieren.
  • Good → Standard-B2C-Performance. Lookalikes funktionieren, Retargeting funktioniert, CPC ist berechenbar.
  • Great → Metas Machine-Learning hat hohe Confidence pro Event. Smart-Bidding stabilisiert sich schneller, Lookalike-Audiences performen innerhalb von ~10 % der Seed-Liste-ROAS.

Die Kosten, von Good zu Great zu kommen, sind meist ein Nachmittag Arbeit in Metas UI plus Hybrid-Modus aktivieren. Der Lift auf einer Kampagne mit 5.000 €/Monat sind oft 500-1.500 € an wiedergewonnenen Conversions pro Monat.

Was Match-Quality nicht ist

  • Es ist nicht dasselbe wie Event Match Quality (EMQ), das daneben angezeigt wird. EMQ ist die Legacy-Version, weniger granular, 1-10 bewertet. Match-Quality ist die neuere Per-Event-Type-Metrik. Beide lesen, Match-Quality priorisieren.
  • Es ist nicht iOS-Attributions-Coverage. Match-Quality reflektiert alles, was Meta sieht, inklusive iOS-restricted Conversions. iOS-Coverage wird separat unter SKAd berichtet.
  • Es ist nicht Pixel-Health. Pixel-Health ist "Events sind angekommen". Match-Quality ist "konnte Meta etwas Sinnvolles damit machen, nachdem sie angekommen sind".

Wie lange dauert es, bis sich jede Stufe aktualisiert?

Match-Quality wird über ein rolling 7-Tage-Fenster berechnet. Änderungen, die du heute machst, zeigen sich in der Metrik über 1-3 Tage, wenn alte Events herausfallen. Mach die Änderung nicht um 12 Uhr und erwarte um 13 Uhr eine neue Zahl; komm 48 Stunden später wieder. Wenn du Freitag Nachmittag änderst, ist die sichtbare Verbesserung frühestens Dienstag/Mittwoch.

Fazit

Match-Quality ist die nützlichste einzelne Diagnose, die Meta dir für ein CAPI-Setup gibt. Wöchentlich lesen, jede Stufe als eigenes Problem behandeln, das mit dem höchsten Hebel zuerst fixen (Domain-Verifikation → PII-Coverage → Hybrid-Modus → AEM-Prioritäten). Beaconry handhabt die Daten-Seite; die Konfigurations-Seite lebt in Metas UI und ändert sich zwischen Tracking-Tools nicht.