Przejdź do treści

Event Match Quality: jak podnieść jakość dopasowania zdarzeń w Meta

Wynik Event Match Quality pokazuje, jak często Meta potrafi połączyć Twoje zdarzenie serwerowe z konkretnym kontem. Wyjaśniamy, od czego zależy, i pokazujemy, jak go podnieść bez łamania zasad prywatności.

Redakcja Pixel Insider9 min czytaniaPoziom: średni

  • Meta CAPI
  • sGTM
  • Node.js
Spis treści
  1. Czym jest Event Match Quality i gdzie go sprawdzić
  2. Jakie parametry podnoszą Event Match Quality
  3. Normalizacja i haszowanie danych krok po kroku
  4. Jak podnieść Event Match Quality: plan działania
  5. Jakie wartości Event Match Quality są realne dla różnych zdarzeń
  6. Event Match Quality a RODO i zgody
  7. Najczęstsze błędy obniżające Event Match Quality
  8. Najczęściej zadawane pytania

Event Match Quality (EMQ) to ocena w skali od 0 do 10, którą Meta przypisuje zdarzeniom wysyłanym przez Conversions API w Menedżerze zdarzeń. Pokazuje, na ile przesłane dane o kliencie – adres e-mail, numer telefonu, identyfikator klienta, parametry fbc i fbp, adres IP i user agent – pozwalają dopasować zdarzenie do konta na Facebooku lub Instagramie. Im wyższy wynik, tym więcej konwersji Meta może przypisać reklamom i wykorzystać w optymalizacji. Event Match Quality podnosisz, dodając brakujące parametry, poprawiając ich normalizację i dbając o spójność danych między pikselem a serwerem.

Najważniejsze w skrócie

  • Event Match Quality to wynik 0–10 liczony osobno dla każdego zdarzenia serwerowego, np. osobno dla Purchase i dla AddToCart.
  • Największy wpływ na wynik mają e-mail, telefon, external_id, fbc, fbp oraz adres IP i user agent z oryginalnego żądania przeglądarki.
  • E-mail, telefon, imię, nazwisko i inne dane kontaktowe wysyłasz po normalizacji i haszowaniu SHA-256, a fbc, fbp, IP i user agent – bez haszowania.
  • Zdarzenia z lejka bez danych kontaktowych, np. PageView, mają naturalnie niższy wynik niż Purchase czy Lead.
  • Haszowanie nie zwalnia z obowiązków wynikających z RODO – przesyłanie danych klientów do Meta wymaga podstawy prawnej i informacji w polityce prywatności.

Czym jest Event Match Quality i gdzie go sprawdzić

Event Match Quality to wskaźnik jakości danych, a nie wskaźnik skuteczności kampanii. Mówi, jak dobrze parametry klienta przesłane w zdarzeniach Conversions API pozwalają Meta odnaleźć osobę, która wykonała akcję.

Wynik sprawdzisz w Menedżerze zdarzeń: wybierz zbiór danych, przejdź do przeglądu zdarzeń i kliknij konkretne zdarzenie, np. Purchase. W szczegółach zobaczysz ocenę liczbową z opisem słownym, listę przesyłanych parametrów klienta z odsetkiem zdarzeń, które je zawierają, oraz rekomendacje, które parametry dodać. Wynik zmienia się z opóźnieniem, więc efekt poprawek ocenisz po kilku dniach, a nie godzinach.

EMQ dotyczy zdarzeń serwerowych. Jeśli dopiero wdrażasz Conversions API, najpierw skonfiguruj kanał serwerowy i deduplikację – poradnik Meta Conversions API przez server-side GTM prowadzi przez cały proces.

Jakie parametry podnoszą Event Match Quality

Na wynik wpływa to, jakie parametry wysyłasz, jak często pojawiają się w zdarzeniach i czy są poprawnie sformatowane. Poniższa tabela zbiera parametry klienta obsługiwane przez Conversions API z zasadami przygotowania.

Parametr Klucz Haszowanie SHA-256 Normalizacja przed haszowaniem Wpływ na dopasowanie
E-mail em tak małe litery, bez spacji na początku i końcu bardzo wysoki
Telefon ph tak same cyfry z kodem kraju, np. 48600123456 bardzo wysoki
Identyfikator klienta external_id zalecane stały identyfikator z Twojego systemu wysoki
Identyfikator kliknięcia fbc nie format fb.1.<znacznik ms>.<fbclid> wysoki dla ruchu z reklam
Identyfikator przeglądarki fbp nie wartość pliku _fbp bez zmian wysoki
Adres IP client_ip_address nie adres użytkownika, nie serwera średni
User agent client_user_agent nie nagłówek z przeglądarki użytkownika średni, wymagany dla zdarzeń ze strony
Imię, nazwisko fn, ln tak małe litery, UTF-8, bez znaków interpunkcyjnych uzupełniający
Miasto ct tak małe litery, bez spacji uzupełniający
Kraj country tak dwuliterowy kod ISO, np. pl uzupełniający
Data urodzenia db tak RRRRMMDD uzupełniający

Kolejność ważności jest prosta: najpierw dane jednoznacznie identyfikujące osobę (e-mail, telefon, identyfikator klienta), potem identyfikatory Meta z przeglądarki (fbc, fbp), na końcu dane pomocnicze. Parametr fbc powstaje z identyfikatora fbclid, który Meta dokleja do linków z reklam. Jeśli w Twoim ruchu z urządzeń Apple brakuje go częściej niż kiedyś, przeczytaj tekst o tym, jak Safari 26 usuwa identyfikatory kliknięć.

Normalizacja i haszowanie danych krok po kroku

Najczęstszą przyczyną niskiego wyniku nie jest brak danych, tylko ich zły format. Hash SHA-256 z „[email protected]” i z „[email protected]” to dwa zupełnie różne ciągi, więc Meta nie dopasuje tego pierwszego.

Przykład przygotowania danych w Node.js, np. w backendzie sklepu wysyłającym zdarzenia Purchase:

const crypto = require('crypto');
const sha256 = (v) => crypto.createHash('sha256').update(v, 'utf8').digest('hex');

function normalizujEmail(email) {
  return email.trim().toLowerCase();
}

function normalizujTelefon(telefon, kodKraju = '48') {
  let cyfry = telefon.replace(/\D/g, '').replace(/^00/, '');
  if (cyfry.length === 9) cyfry = kodKraju + cyfry; // polski numer bez prefiksu
  return cyfry;
}

function normalizujImie(tekst) {
  return tekst.trim().toLowerCase().replace(/[\s.,'-]/g, '');
}

const userData = {
  em: [sha256(normalizujEmail(' [email protected] '))],
  ph: [sha256(normalizujTelefon('+48 600 123 456'))],
  fn: [sha256(normalizujImie('Łukasz'))],
  external_id: [sha256('klient-000123')],
  country: [sha256('pl')],
  client_ip_address: '203.0.113.10',
  client_user_agent: 'Mozilla/5.0 (...)',
  fbp: 'fb.1.1793080000000.1234567890'
};

Polskie znaki zostają w imieniu i nazwisku w kodowaniu UTF-8 – „łukasz” haszujesz w tej postaci, bez zamiany na „lukasz”. Wartości fbc, fbp, adresu IP i user agenta przekazujesz bez haszowania; zahaszowany fbp jest dla Meta bezużyteczny.

Po stronie przeglądarki te same dane możesz przekazać pikselowi przez ręczne rozszerzone dopasowanie. Piksel haszuje je przed wysłaniem:

fbq('init', '123456789012345', {
  em: '[email protected]',
  ph: '48600123456',
  external_id: 'klient-000123'
});

Ten sam external_id w pikselu i na serwerze pomaga Meta powiązać zdarzenia z obu kanałów, a przy okazji ułatwia deduplikację, opisaną w artykule o deduplikacji zdarzeń piksela i Conversions API.

Jak podnieść Event Match Quality: plan działania

Poprawa wyniku to zwykle kilka niewielkich zmian w różnych miejscach: w formularzach, w warstwie danych, w kontenerze serwerowym i w backendzie. Najlepiej przejść przez nie w stałej kolejności.

  1. Zrób audyt. Dla każdego kluczowego zdarzenia zapisz obecny wynik i listę parametrów z odsetkiem pokrycia. To punkt odniesienia dla dalszych zmian.
  2. Dodaj e-mail i telefon tam, gdzie je masz. Na stronie podziękowania i po wysłaniu formularza dane kontaktowe są już znane – przekaż je do warstwy danych i dalej do zdarzenia serwerowego.
  3. Wysyłaj external_id dla zalogowanych. Identyfikator konta klienta, zahaszowany, dodawaj do wszystkich zdarzeń zalogowanych użytkowników, nie tylko do zakupu.
  4. Zadbaj o fbc. Zapisuj fbclid ze strony docelowej i przekazuj fbc w kolejnych zdarzeniach sesji, zamiast budować go od nowa na każdej podstronie.
  5. Przekazuj prawdziwy IP i user agent. Sprawdź, czy kontener serwerowy lub backend nie wysyła adresu własnego serwera, load balancera albo CDN.
  6. Włącz automatyczne rozszerzone dopasowanie w ustawieniach zbioru danych, jeśli Twoja ocena prawna na to pozwala.
  7. Sprawdź format. Porównaj kilka zdarzeń w narzędziu testowania zdarzeń: hash e-maila powinien mieć 64 znaki szesnastkowe, a telefon zaczynać się od kodu kraju przed haszowaniem.
  8. Oceń efekt po kilku dniach i powtórz audyt dla każdego zdarzenia.

Jeżeli korzystasz z serwera do wzbogacania zdarzeń, możesz tam też dołączyć brakujące dane klienta z CRM, np. telefon do zdarzenia, które w przeglądarce miało tylko e-mail. Ten scenariusz opisujemy w tekście o wzbogacaniu zdarzeń po stronie serwera.

Jakie wartości Event Match Quality są realne dla różnych zdarzeń

Nie każde zdarzenie może osiągnąć wysoki wynik i nie ma potrzeby gonić maksimum wszędzie. O realnym poziomie decyduje to, jakie dane masz w danym momencie ścieżki zakupowej.

Zdarzenia z górnej części lejka, takie jak PageView czy ViewContent, dotyczą zwykle anonimowych użytkowników. Masz dla nich IP, user agenta, fbp, czasem fbc, ale nie masz e-maila, więc ich wynik będzie niższy. Zdarzenia Purchase, Lead i CompleteRegistration powstają w chwili, gdy klient podaje dane kontaktowe, dlatego to one powinny mieć najwyższą jakość dopasowania. Najwięcej uwagi poświęć zdarzeniom, pod które optymalizujesz kampanie.

W kampaniach leadowych jakość dopasowania jest szczególnie istotna, bo zdarzenia z CRM o zakwalifikowanych leadach wysyłane są z serwera, często z opóźnieniem. Jak połączyć je z kampaniami, opisujemy w artykule o kampaniach leadowych w Meta Ads.

Event Match Quality a RODO i zgody

Haszowanie SHA-256 to pseudonimizacja, a nie anonimizacja. Meta porównuje hash z hashami danych swoich użytkowników, więc dane nadal pozwalają zidentyfikować osobę i podlegają RODO. Przesyłanie ich do Meta wymaga podstawy prawnej, informacji w polityce prywatności i – w przypadku danych z przeglądarki – zgody zgodnej z Prawem komunikacji elektronicznej.

W praktyce oznacza to, że zdarzenia z danymi klienta wysyłasz tylko dla użytkowników, którzy zgodzili się na marketing. Podobną logikę stosuje Google przy konwersjach rozszerzonych, uzależniając je od sygnału ad_user_data – konfigurację opisujemy w poradniku Enhanced Conversions przez GTM. Strategię zbierania i wykorzystywania danych klientów, czyli danych first-party, omawiamy w tekście o danych first-party w reklamie. Zakres podstawy prawnej skonsultuj z prawnikiem.

Najczęstsze błędy obniżające Event Match Quality

Większość błędów da się wykryć w narzędziu testowania zdarzeń, porównując wysłane wartości z oczekiwanym formatem.

Błąd Objaw Rozwiązanie
Podwójne haszowanie hash ma poprawną długość, ale dopasowanie nie rośnie haszuj tylko raz, w jednym miejscu
Haszowanie fbp, fbc lub IP parametry widoczne, ale bez wpływu na wynik wysyłaj je w postaci jawnej
Telefon bez kodu kraju niski udział dopasowań dla ph dodawaj 48 przed haszowaniem
Wielkie litery w e-mailu e-mail obecny, a wynik niski normalizuj przed haszowaniem
IP serwera zamiast użytkownika wszystkie zdarzenia z jednego adresu przekaż IP z oryginalnego żądania
fbc tworzony na każdej podstronie zmienny znacznik czasu dla jednej sesji zapisuj fbc raz i używaj ponownie
Fikcyjne e-maile, np. przy zakupie bez konta wysoki udział e-maila, słabe dopasowanie nie wysyłaj wartości zastępczych

Te same zasady normalizacji obowiązują na innych platformach. Pola haszowane w OpenAI Pixel i Conversions API oraz w TikTok Events API wymagają takiego samego przygotowania e-maila i telefonu. Pozostałe poradniki znajdziesz w podtemacie Meta Pixel i Conversions API, a podsumowanie ustawień – na stronie Meta Conversions API.

Najczęściej zadawane pytania

Jaki wynik Event Match Quality jest dobry?

Meta opisuje wynik słownie obok liczby, a rekomendacje w Menedżerze zdarzeń pokazują, czy warto dodać kolejne parametry. W praktyce najważniejsze jest, by zdarzenia, pod które optymalizujesz kampanie, np. Purchase lub Lead, miały wynik wyraźnie wyższy niż zdarzenia z górnej części lejka. Wysoki wynik dla PageView zwykle nie jest możliwy bez danych kontaktowych.

Czy muszę haszować dane przed wysłaniem do Conversions API?

Tak, w przypadku danych kontaktowych: e-maila, telefonu, imienia, nazwiska, miasta, kraju i daty urodzenia. Haszujesz je SHA-256 po normalizacji. Bez haszowania przesyłasz natomiast fbc, fbp, adres IP i user agent. Identyfikator klienta external_id Meta zaleca haszować. Piksel w przeglądarce haszuje dane rozszerzonego dopasowania sam.

Dlaczego Event Match Quality nie rośnie po dodaniu e-maila?

Najczęściej przyczyną jest format: wielkie litery lub spacje przed haszowaniem, podwójne haszowanie albo wysyłanie e-maila tylko w niewielkiej części zdarzeń. Sprawdź w narzędziu testowania zdarzeń, czy hash ma 64 znaki i pojawia się w każdym zdarzeniu. Pamiętaj też, że wynik aktualizuje się z opóźnieniem, więc efekt ocenisz po kilku dniach.

Czy Event Match Quality wpływa na wyniki kampanii?

Pośrednio tak. Lepsze dopasowanie pozwala Meta przypisać więcej konwersji reklamom i przekazać algorytmowi więcej sygnałów do optymalizacji. Nie oznacza to automatycznie niższego kosztu pozyskania, ale słabe dopasowanie zaniża liczbę raportowanych konwersji i utrudnia algorytmowi naukę, szczególnie przy kampaniach z niewielką liczbą zdarzeń.

Czy wysyłanie danych klientów do Meta jest zgodne z RODO?

Może być, jeśli masz podstawę prawną, informujesz o tym w polityce prywatności i respektujesz decyzje użytkowników w banerze. Haszowanie to pseudonimizacja, więc dane nadal podlegają RODO. Dlatego zdarzenia z danymi klienta wysyłaj tylko przy zgodzie na marketing, a zakres przetwarzania skonsultuj z prawnikiem.