{"id":8833,"date":"2026-08-18T10:43:00","date_gmt":"2026-08-18T08:43:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/?p=8833"},"modified":"2026-10-24T01:42:42","modified_gmt":"2026-10-23T23:42:42","slug":"meta-conversions-api-maksymalizacja-event-match-quality-emq-i-deduplikacja","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/meta-conversions-api-maksymalizacja-event-match-quality-emq-i-deduplikacja\/","title":{"rendered":"Meta Conversions API: Maksymalizacja Event Match Quality (EMQ) i deduplikacja"},"content":{"rendered":"<h2>Co mierzy EMQ<\/h2>\n<p>Meta Pixel wysy\u0142a zdarzenia z przegl\u0105darki, a Conversions API (CAPI) z serwera. Przy dw\u00f3ch zg\u0142oszeniach tego samego zakupu dopasowanie s\u0142u\u017cy znalezieniu mo\u017cliwego konta Meta. Deduplikacja rozpoznaje natomiast powt\u00f3rzone zdarzenie. To dwa odr\u0119bne zadania.<\/p>\n<p>Event Match Quality (EMQ) ocenia informacje o klientach przekazane w zdarzeniach internetowych w skali do 10. Wynik opisuje mo\u017cliw\u0105 przydatno\u015b\u0107 danych do dopasowania. EMQ 8 nie oznacza dopasowania 80% zakup\u00f3w. Wysoki wynik nie potwierdza poprawno\u015bci atrybucji, dodatkowej sprzeda\u017cy ani zgodno\u015bci przetwarzania z prawem.<\/p>\n<h2>Normalizacja zale\u017cy od pola<\/h2>\n<p>SHA-256 tworzy skr\u00f3t o sta\u0142ej d\u0142ugo\u015bci. Dodatkowa spacja zmienia wynik, dlatego Meta okre\u015bla zasady przygotowania poszczeg\u00f3lnych p\u00f3l:<\/p>\n<ul>\n<li><code>em<\/code>: usuni\u0119cie bia\u0142ych znak\u00f3w z pocz\u0105tku i ko\u0144ca oraz zamiana adresu e-mail na ma\u0142e litery. Podejrzane znaki steruj\u0105ce lub niewidoczne znaki formatowania wymagaj\u0105 kontroli zamiast cichej zmiany adresu.<\/li>\n<li><code>ph<\/code>: najpierw ustalenie numeru mi\u0119dzynarodowego z potwierdzonym kodem kraju, nast\u0119pnie usuni\u0119cie formatowania. Samo usuni\u0119cie znak\u00f3w innych ni\u017c cyfry nie dodaje kodu kraju i nie rozwi\u0105zuje kwestii krajowego prefiksu.<\/li>\n<li>Imiona i dane adresowe: obowi\u0105zuj\u0105 regu\u0142y konkretnego parametru. Usuwanie wszystkich znak\u00f3w diakrytycznych jest b\u0142\u0119dem; przyk\u0142ad Meta zachowuje akcent w imieniu <code>val\u00e9ry<\/code>.<\/li>\n<\/ul>\n<p>Adresy e-mail, telefony oraz oznaczone pola imienia i adresu wymagaj\u0105 SHA-256. Adres IP klienta, user agent, <code>fbp<\/code> i <code>fbc<\/code> s\u0105 przekazywane bez haszowania. Dla <code>external_id<\/code> Meta zaleca haszowanie, ale API nie ustanawia og\u00f3lnego obowi\u0105zku haszowania tego parametru. Haszowanie nie anonimizuje danych nadal umo\u017cliwiaj\u0105cych powi\u0105zanie z klientem.<\/p>\n<h3>Przyk\u0142ad Node.js o ograniczonym zakresie<\/h3>\n<p>Poni\u017cszy modu\u0142 ES haszuje adres e-mail albo wcze\u015bniej zweryfikowany mi\u0119dzynarodowy numer telefonu. Kontrola e-maila jest podstawowym sprawdzeniem formatu, a nie pe\u0142n\u0105 walidacj\u0105 adresu. Rozpoznanie numeru i potwierdzenie kraju musz\u0105 nast\u0105pi\u0107 wcze\u015bniej. Wyra\u017cenie regularne sprawdza tylko akceptowan\u0105 posta\u0107. Numery krajowe lub nadal zawieraj\u0105ce formatowanie s\u0105 odrzucane zamiast zgadywane. Zero nale\u017c\u0105ce do numeru po kodzie kraju pozostaje bez zmian.<\/p>\n<pre class=\"wp-block-code-beautifier-block-code\"><code>import { createHash } from 'node:crypto';\nconst sha256 = value =&gt; createHash('sha256').update(value, 'utf8').digest('hex');\nexport function hashEmail(raw) {\n  if (typeof raw !== 'string') return null;\n  const email = raw.trim().toLowerCase();\n  if (\/[\\p{Cc}\\p{Cf}]\/u.test(email) || !\/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/u.test(email)) return null;\n  return sha256(email);\n}\nexport function hashCanonicalPhone(e164) {\n  if (typeof e164 !== 'string' || !\/^\\+[1-9][0-9]{6,14}$\/.test(e164)) return null;\n  return sha256(e164.slice(1));\n}\n<\/code><\/pre>\n<p>Nieprawid\u0142owe dane daj\u0105 wynik <code>null<\/code> i musz\u0105 zosta\u0107 pomini\u0119te w \u017c\u0105daniu. SDK lub szablon tagu mo\u017ce ju\u017c wykonywa\u0107 normalizacj\u0119 i haszowanie. Podw\u00f3jne haszowanie tworzy b\u0142\u0119dny identyfikator, dlatego znaczenie ma format wej\u015bciowy wymagany przez konkretn\u0105 integracj\u0119.<\/p>\n<figure class=\"lw-diagram\">\n<img loading=\"lazy\" decoding=\"async\" alt=\"\u0141a\u0144cuch normalizacji od warto\u015bci surowej przez normalizacj\u0119 po SHA-256 oraz dwaj nadawcy, kt\u00f3rych wsp\u00f3lne event_id sprawia, \u017ce Meta liczy jedno zdarzenie\" height=\"750\" src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/quality-8833-20261024.png\" width=\"1120\"\/><figcaption>Normalizacja w\u0142a\u015bciwa dla pola poprzedza haszowanie. Deduplikacja wymaga tak\u017ce zgodnej nazwy zdarzenia, Pixel ID i okna odbioru.<\/figcaption><\/figure>\n<h2>Jedno zdarzenie, wsp\u00f3lny identyfikator<\/h2>\n<p>Zalecane parowanie wymaga tej samej nazwy zdarzenia i identyfikatora dla tego samego Pixel ID. W przegl\u0105darce parametr nazywa si\u0119 <code>eventID<\/code>, a w CAPI <code>event_id<\/code>. Dla zakupu oba zdarzenia maj\u0105 nazw\u0119 <code>Purchase<\/code>. Meta dokumentuje okno odbioru 48 godzin od pierwszego zdarzenia z dan\u0105 identyfikacj\u0105.<\/p>\n<p>Identyfikator mo\u017ce powsta\u0107 w backendzie albo przegl\u0105darce. Raz utworzona, stabilna identyfikacja zdarzenia zakupu trafia do obu kana\u0142\u00f3w. Ponowienia tego samego zdarzenia zachowuj\u0105 warto\u015b\u0107; kolejny zakup otrzymuje now\u0105. Wsp\u00f3lny identyfikator wszystkich zakup\u00f3w prowadzi\u0142by do \u0142\u0105czenia r\u00f3\u017cnych zdarze\u0144.<\/p>\n<p>Szybka wysy\u0142ka ogranicza problemy z kolejkami, ale nie gwarantuje natychmiastowej aktualizacji raport\u00f3w. Dane serwerowe nie zawsze pozostaj\u0105 zachowane w ca\u0142o\u015bci. Meta opisuje kilka strategii i przy braku istotnych r\u00f3\u017cnic zwykle preferuje zdarzenie odebrane jako pierwsze.<\/p>\n<h2>Cookies, identyfikatory klient\u00f3w i zgoda<\/h2>\n<p><code>_fbp<\/code> i <code>_fbc<\/code> to cookies pierwszej strony. Istniej\u0105ce warto\u015bci mog\u0105 zasila\u0107 parametry <code>fbp<\/code> i <code>fbc<\/code>. Utworzenie <code>fbc<\/code> wymaga rzeczywi\u015bcie zaobserwowanego <code>fbclid<\/code>. Wielko\u015b\u0107 liter w identyfikatorze klikni\u0119cia pozostaje bez zmian. Zmy\u015blone warto\u015bci nie poprawiaj\u0105 pomiaru.<\/p>\n<p><code>external_id<\/code> to identyfikator klienta nadany przez reklamodawc\u0119. Po dopasowaniu na podstawie innych informacji Meta mo\u017ce powi\u0105za\u0107 identyfikator z kontem i ponownie wykorzysta\u0107 powi\u0105zanie przy kolejnych zdarzeniach. Powi\u0105zania okresowo wygasaj\u0105. Sp\u00f3jne identyfikatory mog\u0105 wspiera\u0107 ci\u0105g\u0142o\u015b\u0107 pomiaru, ale nie gwarantuj\u0105 atrybucji mi\u0119dzy urz\u0105dzeniami po wielu tygodniach ani nie wyd\u0142u\u017caj\u0105 okna atrybucji.<\/p>\n<p>Integracja reklamowa oparta na zgodzie wymaga odpowiedniej kontroli zar\u00f3wno w przegl\u0105darce, jak i na serwerze. Google Consent Mode nie blokuje automatycznie serwerowego tagu Meta: sygna\u0142 CMP wymaga jawnego mapowania i egzekwowania. Wycofanie zgody musi r\u00f3wnie\u017c zatrzyma\u0107 oczekuj\u0105ce wysy\u0142ki, je\u017celi przetwarzanie przestaje by\u0107 dozwolone. Haszowanie i transport serwerowy nie zast\u0119puj\u0105 tych mechanizm\u00f3w.<\/p>\n<h2>Kontrola przed ocen\u0105 raport\u00f3w<\/h2>\n<p>Kontrolowany zakup testowy powinien utworzy\u0107 zdarzenie przegl\u0105darkowe i serwerowe z identyczn\u0105 nazw\u0105 oraz identyfikatorem, a nast\u0119pnie oczekiwany wynik deduplikacji. Osobne pr\u00f3by obejmuj\u0105 brak zgody, wycofanie zgody, ponowienia, op\u00f3\u017anienia i brak identyfikator\u00f3w. Trend EMQ uzupe\u0142nia liczb\u0119 zdarze\u0144 oraz b\u0142\u0119dy przetwarzania; pojedynczy wynik nie stanowi certyfikatu jako\u015bci.<\/p>\n<p>\u015acie\u017ck\u0119 integracji przedstawia <span class=\"lw-artikel-geplant\">Meta Conversions API przez Server-Side GTM<\/span>.<\/p>\n<div class=\"lw-faq\">\n<h2>Pytania i odpowiedzi<\/h2>\n<h3>Czy mo\u017cna dopisa\u0107 kod kraju do numeru krajowego?<\/h3>\n<p>Tylko przy wiarygodnie ustalonym kraju danego numeru i poprawnym rozpoznaniu krajowego prefiksu. J\u0119zyk strony lub kraj sklepu nie wystarcza. Dla niejednoznacznych danych historycznych bezpieczniejszym technicznie rozwi\u0105zaniem jest pomini\u0119cie pola i poprawa danych \u017ar\u00f3d\u0142owych. Brak numeru nie obni\u017ca dopasowania o sta\u0142\u0105, znan\u0105 warto\u015b\u0107: wynik zale\u017cy r\u00f3wnie\u017c od pozosta\u0142ych identyfikator\u00f3w.<\/p>\n<\/div>\n<div class=\"lw-quellen\">\n<h2>\u0179r\u00f3d\u0142a<\/h2>\n<ul>\n<li><a href=\"https:\/\/developers.facebook.com\/documentation\/ads-commerce\/conversions-api\" rel=\"noopener noreferrer\" target=\"_blank\">Conversions API documentation<\/a><\/li>\n<li><a href=\"https:\/\/developers.facebook.com\/documentation\/ads-commerce\/conversions-api\/deduplicate-pixel-and-server-events\" rel=\"noopener noreferrer\" target=\"_blank\">Conversions API deduplication<\/a><\/li>\n<li><a href=\"https:\/\/developers.facebook.com\/documentation\/ads-commerce\/conversions-api\/parameters\/customer-information-parameters\">Customer information parameters<\/a><\/li>\n<li><a href=\"https:\/\/developers.facebook.com\/documentation\/ads-commerce\/conversions-api\/parameters\/external-id\">External ID<\/a><\/li>\n<li><a href=\"https:\/\/developers.facebook.com\/documentation\/ads-commerce\/conversions-api\/parameters\/fbp-and-fbc\">FBP and FBC<\/a><\/li>\n<li><a href=\"https:\/\/developers.facebook.com\/documentation\/ads-commerce\/conversions-api\/best-practices\">Conversions API best practices<\/a><\/li>\n<li><a href=\"https:\/\/developers.google.com\/tag-platform\/security\/concepts\/consent-mode\">Google Consent Mode<\/a><\/li>\n<li><a href=\"https:\/\/eur-lex.europa.eu\/legal-content\/EN\/TXT\/?uri=CELEX%3A32016R0679\">GDPR: Article 4 and Recital 26<\/a><\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Przewodnik techniczny po maksymalizacji Event Match Quality (EMQ) w Meta CAPI poprzez serwerow\u0105 normalizacj\u0119 PII, haszowanie SHA-256, deduplikacj\u0119 event_id i zgodno\u015b\u0107 z RODO.<\/p>\n","protected":false},"author":1,"featured_media":14093,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[92035,92151,92247,92250,92412,92136,92044],"class_list":["post-8833","post","type-post","status-publish","format-standard","hentry","category-digital-analytics-pl","tag-conversion-tracking-pl","tag-prywatnosc-danych-pl-pl","tag-gdpr-pl","tag-meta-conversions-api-pl","tag-pii-protection-pl","tag-server-side-gtm-pl","tag-tracking-pl"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Meta Conversions API: Maksymalizacja Event Match Quality (EMQ) i deduplikacja | Lukas Wojcik<\/title>\n<meta name=\"description\" content=\"Konfiguracja Meta CAPI: normalizacja danych, hashe SHA-256 i deduplikacja zdarze\u0144 przegl\u0105darki i serwera przez event_id.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/meta-conversions-api-maksymalizacja-event-match-quality-emq-i-deduplikacja\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Meta Conversions API: Maksymalizacja Event Match Quality (EMQ) i deduplikacja | Lukas Wojcik\" \/>\n<meta property=\"og:description\" content=\"Konfiguracja Meta CAPI: normalizacja danych, hashe SHA-256 i deduplikacja zdarze\u0144 przegl\u0105darki i serwera przez event_id.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/meta-conversions-api-maksymalizacja-event-match-quality-emq-i-deduplikacja\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-18T08:43:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-23T23:42:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-8833-meta-conversions-api-maksymalizacja--g.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Lukas Wojcik\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Lukas Wojcik\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/meta-conversions-api-maksymalizacja-event-match-quality-emq-i-deduplikacja\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/meta-conversions-api-maksymalizacja-event-match-quality-emq-i-deduplikacja\\\/\"},\"author\":{\"name\":\"Lukas Wojcik\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"Meta Conversions API: Maksymalizacja Event Match Quality (EMQ) i deduplikacja\",\"datePublished\":\"2026-08-18T08:43:00+00:00\",\"dateModified\":\"2026-10-23T23:42:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/meta-conversions-api-maksymalizacja-event-match-quality-emq-i-deduplikacja\\\/\"},\"wordCount\":854,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/meta-conversions-api-maksymalizacja-event-match-quality-emq-i-deduplikacja\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-8833-meta-conversions-api-maksymalizacja--g.png\",\"keywords\":[\"Conversion Tracking\",\"Data Privacy\",\"GDPR\",\"Meta Conversions API\",\"PII Protection\",\"Server-Side GTM\",\"Tracking\"],\"articleSection\":[\"Digital Analytics\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/meta-conversions-api-maksymalizacja-event-match-quality-emq-i-deduplikacja\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/meta-conversions-api-maksymalizacja-event-match-quality-emq-i-deduplikacja\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/meta-conversions-api-maksymalizacja-event-match-quality-emq-i-deduplikacja\\\/\",\"name\":\"Meta Conversions API: Maksymalizacja Event Match Quality (EMQ) i deduplikacja | Lukas Wojcik\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/meta-conversions-api-maksymalizacja-event-match-quality-emq-i-deduplikacja\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/meta-conversions-api-maksymalizacja-event-match-quality-emq-i-deduplikacja\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-8833-meta-conversions-api-maksymalizacja--g.png\",\"datePublished\":\"2026-08-18T08:43:00+00:00\",\"dateModified\":\"2026-10-23T23:42:42+00:00\",\"description\":\"Konfiguracja Meta CAPI: normalizacja danych, hashe SHA-256 i deduplikacja zdarze\u0144 przegl\u0105darki i serwera przez event_id.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/meta-conversions-api-maksymalizacja-event-match-quality-emq-i-deduplikacja\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/meta-conversions-api-maksymalizacja-event-match-quality-emq-i-deduplikacja\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/meta-conversions-api-maksymalizacja-event-match-quality-emq-i-deduplikacja\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-8833-meta-conversions-api-maksymalizacja--g.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-8833-meta-conversions-api-maksymalizacja--g.png\",\"width\":1200,\"height\":630,\"caption\":\"Meta Conversions API: Maksymalizacja Event Match Quality (EMQ) i deduplikacja\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/meta-conversions-api-maksymalizacja-event-match-quality-emq-i-deduplikacja\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Meta Conversions API: Maksymalizacja Event Match Quality (EMQ) i deduplikacja\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\",\"name\":\"Lukas Wojcik - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\",\"name\":\"Lukas Wojcik\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"width\":424,\"height\":636,\"caption\":\"Lukas Wojcik\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Meta Conversions API: Maksymalizacja Event Match Quality (EMQ) i deduplikacja | Lukas Wojcik","description":"Konfiguracja Meta CAPI: normalizacja danych, hashe SHA-256 i deduplikacja zdarze\u0144 przegl\u0105darki i serwera przez event_id.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/meta-conversions-api-maksymalizacja-event-match-quality-emq-i-deduplikacja\/","og_locale":"en_US","og_type":"article","og_title":"Meta Conversions API: Maksymalizacja Event Match Quality (EMQ) i deduplikacja | Lukas Wojcik","og_description":"Konfiguracja Meta CAPI: normalizacja danych, hashe SHA-256 i deduplikacja zdarze\u0144 przegl\u0105darki i serwera przez event_id.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/meta-conversions-api-maksymalizacja-event-match-quality-emq-i-deduplikacja\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-08-18T08:43:00+00:00","article_modified_time":"2026-10-23T23:42:42+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-8833-meta-conversions-api-maksymalizacja--g.png","type":"image\/png"}],"author":"Lukas Wojcik","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Lukas Wojcik","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/meta-conversions-api-maksymalizacja-event-match-quality-emq-i-deduplikacja\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/meta-conversions-api-maksymalizacja-event-match-quality-emq-i-deduplikacja\/"},"author":{"name":"Lukas Wojcik","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"Meta Conversions API: Maksymalizacja Event Match Quality (EMQ) i deduplikacja","datePublished":"2026-08-18T08:43:00+00:00","dateModified":"2026-10-23T23:42:42+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/meta-conversions-api-maksymalizacja-event-match-quality-emq-i-deduplikacja\/"},"wordCount":854,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/meta-conversions-api-maksymalizacja-event-match-quality-emq-i-deduplikacja\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-8833-meta-conversions-api-maksymalizacja--g.png","keywords":["Conversion Tracking","Data Privacy","GDPR","Meta Conversions API","PII Protection","Server-Side GTM","Tracking"],"articleSection":["Digital Analytics"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/meta-conversions-api-maksymalizacja-event-match-quality-emq-i-deduplikacja\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/meta-conversions-api-maksymalizacja-event-match-quality-emq-i-deduplikacja\/","url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/meta-conversions-api-maksymalizacja-event-match-quality-emq-i-deduplikacja\/","name":"Meta Conversions API: Maksymalizacja Event Match Quality (EMQ) i deduplikacja | Lukas Wojcik","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/meta-conversions-api-maksymalizacja-event-match-quality-emq-i-deduplikacja\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/meta-conversions-api-maksymalizacja-event-match-quality-emq-i-deduplikacja\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-8833-meta-conversions-api-maksymalizacja--g.png","datePublished":"2026-08-18T08:43:00+00:00","dateModified":"2026-10-23T23:42:42+00:00","description":"Konfiguracja Meta CAPI: normalizacja danych, hashe SHA-256 i deduplikacja zdarze\u0144 przegl\u0105darki i serwera przez event_id.","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/meta-conversions-api-maksymalizacja-event-match-quality-emq-i-deduplikacja\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/meta-conversions-api-maksymalizacja-event-match-quality-emq-i-deduplikacja\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/meta-conversions-api-maksymalizacja-event-match-quality-emq-i-deduplikacja\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-8833-meta-conversions-api-maksymalizacja--g.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-8833-meta-conversions-api-maksymalizacja--g.png","width":1200,"height":630,"caption":"Meta Conversions API: Maksymalizacja Event Match Quality (EMQ) i deduplikacja"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/meta-conversions-api-maksymalizacja-event-match-quality-emq-i-deduplikacja\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Meta Conversions API: Maksymalizacja Event Match Quality (EMQ) i deduplikacja"}]},{"@type":"WebSite","@id":"https:\/\/www.lukaswojcik.com\/blog\/#website","url":"https:\/\/www.lukaswojcik.com\/blog\/","name":"Lukas Wojcik - Blog","description":"","publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lukaswojcik.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9","name":"Lukas Wojcik","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","width":424,"height":636,"caption":"Lukas Wojcik"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"]}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/8833","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/comments?post=8833"}],"version-history":[{"count":6,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/8833\/revisions"}],"predecessor-version":[{"id":23041,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/8833\/revisions\/23041"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/14093"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=8833"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=8833"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=8833"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}