Spis treści
- Czym jest Event Match Quality i gdzie go sprawdzić
- Jakie parametry podnoszą Event Match Quality
- Normalizacja i haszowanie danych krok po kroku
- Jak podnieść Event Match Quality: plan działania
- Jakie wartości Event Match Quality są realne dla różnych zdarzeń
- Event Match Quality a RODO i zgody
- Najczęstsze błędy obniżające Event Match Quality
- 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 |
|---|---|---|---|---|
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.
- Zrób audyt. Dla każdego kluczowego zdarzenia zapisz obecny wynik i listę parametrów z odsetkiem pokrycia. To punkt odniesienia dla dalszych zmian.
- 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.
- Wysyłaj external_id dla zalogowanych. Identyfikator konta klienta, zahaszowany, dodawaj do wszystkich zdarzeń zalogowanych użytkowników, nie tylko do zakupu.
- Zadbaj o fbc. Zapisuj
fbclidze strony docelowej i przekazujfbcw kolejnych zdarzeniach sesji, zamiast budować go od nowa na każdej podstronie. - Przekazuj prawdziwy IP i user agent. Sprawdź, czy kontener serwerowy lub backend nie wysyła adresu własnego serwera, load balancera albo CDN.
- Włącz automatyczne rozszerzone dopasowanie w ustawieniach zbioru danych, jeśli Twoja ocena prawna na to pozwala.
- 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.
- 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.