{"id":452,"date":"2026-09-08T20:15:00","date_gmt":"2026-09-08T18:15:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/?p=452"},"modified":"2026-08-31T14:46:26","modified_gmt":"2026-08-31T12:46:26","slug":"automatyzacja-walidacji-zdarzen-ga4-meta-capi-bigquery-pl","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/automatyzacja-walidacji-zdarzen-ga4-meta-capi-bigquery-pl\/","title":{"rendered":"Automatyzacja walidacji zdarze\u0144 GA4 i Meta CAPI w BigQuery"},"content":{"rendered":"\r\n<p class=\"wp-block-paragraph\">Precyzyjna atrybucja konwersji w nowoczesnym marketingu cyfrowym wymaga r\u00f3wnoleg\u0142ego przesy\u0142ania zdarze\u0144: po stronie klienta (w przegl\u0105darce) za pomoc\u0105 Google Analytics 4 (GA4) oraz po stronie serwera za pomoc\u0105 Meta Conversions API (CAPI). Ograniczenia przegl\u0105darek, mechanizmy Intelligent Tracking Prevention (ITP), blokerom reklam oraz wahania sieciowe cz\u0119sto powoduj\u0105 jednak rozbie\u017cno\u015bci pomi\u0119dzy strumieniami danych z przegl\u0105darki i serwera. Wdro\u017cenie zautomatyzowanego potoku walidacji zdarze\u0144 w Google BigQuery pozwala zespo\u0142om in\u017cynierii danych na ci\u0105g\u0142e monitorowanie sp\u00f3jno\u015bci konwersji, wykrywanie utraconych transakcji oraz weryfikacj\u0119 prawid\u0142owej deduplikacji w czasie niemal rzeczywistym.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">1. Architektura rozwi\u0105zania: Dwustrumieniowe \u015bledzenie zdarze\u0144<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Uzgodnienie strumieni danych GA4 i Meta CAPI wymaga zastosowania wsp\u00f3lnego, niezmiennego identyfikatora kryptograficznego w obu systemach. Model walidacji opiera si\u0119 na trzech kluczowych elementach:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li><strong>Klucz deduplikacji (<code>event_id<\/code> \/ <code>transaction_id<\/code>):<\/strong> Ka\u017cde zdarzenie konwersji wygenerowane w aplikacji internetowej musi otrzymywa\u0107 unikalny ci\u0105g UUIDv4. Ci\u0105g ten jest przesy\u0142any r\u00f3wnocze\u015bnie jako parametr niestandardowy w GA4 (<code>event_id<\/code>) oraz jako natywny parametr <code>event_id<\/code> w \u0142adunku danych Meta CAPI.<\/li>\r\n<li><strong>Codzienny eksport GA4 do BigQuery:<\/strong> Surowe strumienie zdarze\u0144 s\u0105 automatycznie eksportowane do zestawu danych <code>analytics_XXXXXXXXX.events_YYYYMMDD<\/code>.<\/li>\r\n<li><strong>Serwerowa tabela log\u00f3w Meta CAPI:<\/strong> Dedykowana tabela w BigQuery (zasilana np. przez tagi loguj\u0105ce po stronie serwerowego Google Tag Managera lub w\u0142asne punkty ko\u0144cowe webhook), w kt\u00f3rej zapisywane s\u0105 wszystkie wychodz\u0105ce \u017c\u0105dania CAPI oraz kody odpowiedzi HTTP.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">2. Przygotowanie schematu BigQuery krok po kroku<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Aby umo\u017cliwi\u0107 dok\u0142adne z\u0142\u0105czenie danych w j\u0119zyku SQL, oba strumienie musz\u0105 zosta\u0107 znormalizowane do postaci widok\u00f3w przej\u015bciowych (staging views):<\/p>\r\n\r\n\r\n\r\n<ol class=\"wp-block-list\">\r\n<li><strong>Ekstrakcja konwersji GA4:<\/strong> Utworzenie w BigQuery dedykowanego widoku, kt\u00f3ry rozk\u0142ada zagnie\u017cd\u017cone zdarzenia konwersji GA4 (takie jak <code>purchase<\/code> lub <code>generate_lead<\/code>) i wyodr\u0119bnia parametr <code>event_id<\/code> z tablicy <code>event_params<\/code>.<\/li>\r\n<li><strong>Ekstrakcja log\u00f3w serwerowych Meta CAPI:<\/strong> Utworzenie odpowiedniego widoku na podstawie tabeli log\u00f3w serwerowych, filtrowanego pod k\u0105tem udanych odpowiedzi HTTP 200 z Meta Graph API, ze standaryzacj\u0105 znacznika czasu do strefy UTC.<\/li>\r\n<li><strong>Partycjonowanie okna czasowego:<\/strong> Poniewa\u017c ponowne pr\u00f3by wysy\u0142ki po stronie serwera lub nocne importy wsadowe mog\u0105 op\u00f3\u017ani\u0107 dotarcie danych CAPI, zapytania weryfikuj\u0105ce musz\u0105 analizowa\u0107 ruchome, 48-godzinne okno czasowe, co eliminuje fa\u0142szywe alarmy o brakuj\u0105cych konwersjach.<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">3. Budowa zapytania waliduj\u0105cego SQL krok po kroku<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Poni\u017csze produkcyjne zapytanie SQL wykonuje operacj\u0119 <code>FULL OUTER JOIN<\/code> pomi\u0119dzy znormalizowanymi strumieniami konwersji GA4 i Meta CAPI, kategoryzuj\u0105c ka\u017cd\u0105 transakcj\u0119 w celu ujawnienia cichej utraty danych:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code class=\"language-sql\">WITH ga4_events AS (\r\n    SELECT\r\n        event_date,\r\n        TIMESTAMP_MICROS(event_timestamp) AS ga4_event_time,\r\n        (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'event_id') AS event_id,\r\n        event_name\r\n    FROM\r\n        `project_id.analytics_XXXXXXXXX.events_*`\r\n    WHERE\r\n        _TABLE_SUFFIX = FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY))\r\n        AND event_name IN ('purchase', 'generate_lead')\r\n),\r\ncapi_events AS (\r\n    SELECT\r\n        DATE(event_timestamp) AS event_date,\r\n        event_timestamp AS capi_event_time,\r\n        event_id,\r\n        event_name AS capi_event_name\r\n    FROM\r\n        `project_id.meta_capi_logs.outbound_events`\r\n    WHERE\r\n        DATE(event_timestamp) = DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY)\r\n        AND http_status_code = 200\r\n)\r\nSELECT\r\n    COALESCE(g.event_id, c.event_id) AS event_id,\r\n    g.event_name AS ga4_name,\r\n    c.capi_event_name AS capi_name,\r\n    CASE\r\n        WHEN g.event_id IS NOT NULL AND c.event_id IS NOT NULL THEN 'MATCHED_BOTH'\r\n        WHEN g.event_id IS NOT NULL AND c.event_id IS NULL THEN 'MISSING_IN_META_CAPI'\r\n        WHEN g.event_id IS NULL AND c.event_id IS NOT NULL THEN 'MISSING_IN_GA4_BROWSER'\r\n    END AS reconciliation_status\r\nFROM\r\n    ga4_events g\r\nFULL OUTER JOIN\r\n    capi_events c\r\n    ON g.event_id = c.event_id;<\/code><\/pre>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">4. Konfiguracja automatycznego powiadamiania krok po kroku<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">W celu pe\u0142nego zautomatyzowania nadzoru operacyjnego bez konieczno\u015bci r\u0119cznego uruchamiania zapyta\u0144 SQL, nale\u017cy skonfigurowa\u0107 harmonogram i alerty:<\/p>\r\n\r\n\r\n\r\n<ol class=\"wp-block-list\">\r\n<li><strong>Zapytanie harmonogramowane (Scheduled Query):<\/strong> W konsoli BigQuery przej\u015b\u0107 do sekcji <code>Schedule &gt; Create Scheduled Query<\/code>. Ustawi\u0107 codzienn\u0105 dawk\u0119 wykonania na godzin\u0119 06:00 UTC (po zako\u0144czeniu nocnego eksportu GA4) i zapisa\u0107 wyniki w tabeli monitoruj\u0105cej <code>analytics_validation.daily_capi_reconciliation<\/code>.<\/li>\r\n<li><strong>Widok kontroli progu b\u0142\u0119du:<\/strong> Utworzenie zapytania agreguj\u0105cego, kt\u00f3re oblicza dzienny procent rozbie\u017cno\u015bci:\r\n    <br><code>SELECT COUNTIF(reconciliation_status != 'MATCHED_BOTH') \/ COUNT(*) * 100 AS error_rate_pct FROM `analytics_validation.daily_capi_reconciliation`;<\/code>\r\n<\/li>\r\n<li><strong>Polityka alarmowa Cloud Monitoring:<\/strong> W us\u0142udze Google Cloud Monitoring utworzy\u0107 wska\u017anik oparty na logach z wykonania zapytania harmonogramowanego. Nale\u017cy skonfigurowa\u0107 polityk\u0119 alarmow\u0105, kt\u00f3ra automatycznie wy\u015ble powiadomienie na webhook Slack lub PagerDuty, je\u015bli wska\u017anik rozbie\u017cno\u015bci przekroczy poziom 5,0% w dowolnym 24-godzinnym oknie.<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">5. Podsumowanie i warto\u015b\u0107 architektoniczna<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Co da si\u0119 osi\u0105gn\u0105\u0107 dzi\u0119ki temu poradnikowi:<\/strong> Wdro\u017cenie w pe\u0142ni zautomatyzowanego potoku walidacji SQL i powiadamiania w BigQuery, kt\u00f3ry stale por\u00f3wnuje zdarzenia przegl\u0105darkowe GA4 z logami serwerowymi Meta Conversions API przy u\u017cyciu unikalnych kluczy deduplikacji.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Wynikaj\u0105ca z tego warto\u015b\u0107:<\/strong> Zespo\u0142y analityki oraz marketingu efektywno\u015bciowego uzyskuj\u0105 pe\u0142n\u0105 przejrzysto\u015b\u0107 i wiarygodno\u015b\u0107 danych o konwersjach. Rozbie\u017cno\u015bci spowodowane b\u0142\u0119dami skrypt\u00f3w, restrykcjami Safari ITP, blokerami reklam lub awariami punkt\u00f3w ko\u0144cowych po stronie serwera s\u0105 natychmiast sygnalizowane. Ponadto weryfikacja sp\u00f3jno\u015bci parametr\u00f3w <code>event_id<\/code> w obu kana\u0142ach zapobiega podw\u00f3jnemu zliczaniu konwersji przez algorytmy Smart Bidding w Meta Ads, co gwarantuje rzetelne raportowanie ROAS i optymalizacj\u0119 bud\u017cet\u00f3w reklamowych.<\/p>\r\n\n\n<div class=\"lw-quellen\">\n<h2>\u0179r\u00f3d\u0142a<\/h2>\n<ul>\n<li><a href=\"https:\/\/docs.cloud.google.com\/bigquery\/docs\" target=\"_blank\" rel=\"noopener noreferrer\">BigQuery documentation<\/a><\/li>\n<li><a href=\"https:\/\/developers.facebook.com\/documentation\/ads-commerce\/conversions-api\" target=\"_blank\" rel=\"noopener noreferrer\">Conversions API documentation<\/a><\/li>\n<\/ul>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Techniczny przewodnik krok po kroku po budowie zautomatyzowanego potoku uzgadniania i walidacji zdarze\u0144 pomi\u0119dzy GA4 a Meta Conversions API w BigQuery.<\/p>\n","protected":false},"author":1,"featured_media":14012,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[117],"tags":[92084,92035,92097,92100,92250,92044,92238],"class_list":["post-452","post","type-post","status-publish","format-standard","hentry","category-tutorials-pl","tag-bigquery-pl","tag-conversion-tracking-pl","tag-data-quality-pl","tag-google-analytics-4-pl","tag-meta-conversions-api-pl","tag-tracking-pl","tag-tutorial-pl"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Automatyzacja walidacji zdarze\u0144 GA4 i Meta CAPI w BigQuery - Lukas Wojcik - Blog<\/title>\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\/tutorials-pl\/automatyzacja-walidacji-zdarzen-ga4-meta-capi-bigquery-pl\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Automatyzacja walidacji zdarze\u0144 GA4 i Meta CAPI w BigQuery - Lukas Wojcik - Blog\" \/>\n<meta property=\"og:description\" content=\"Techniczny przewodnik krok po kroku po budowie zautomatyzowanego potoku uzgadniania i walidacji zdarze\u0144 pomi\u0119dzy GA4 a Meta Conversions API w BigQuery.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/automatyzacja-walidacji-zdarzen-ga4-meta-capi-bigquery-pl\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-08T18:15:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-452-automatyzacja-walidacji-zdarzen-ga4--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=\"luky\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"luky\" \/>\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\\\/tutorials-pl\\\/automatyzacja-walidacji-zdarzen-ga4-meta-capi-bigquery-pl\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/automatyzacja-walidacji-zdarzen-ga4-meta-capi-bigquery-pl\\\/\"},\"author\":{\"name\":\"luky\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"Automatyzacja walidacji zdarze\u0144 GA4 i Meta CAPI w BigQuery\",\"datePublished\":\"2026-09-08T18:15:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/automatyzacja-walidacji-zdarzen-ga4-meta-capi-bigquery-pl\\\/\"},\"wordCount\":660,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/automatyzacja-walidacji-zdarzen-ga4-meta-capi-bigquery-pl\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-452-automatyzacja-walidacji-zdarzen-ga4--g.png\",\"keywords\":[\"BigQuery\",\"Conversion Tracking\",\"Data Quality\",\"Google Analytics 4\",\"Meta Conversions API\",\"Tracking\",\"Tutorial\"],\"articleSection\":[\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/automatyzacja-walidacji-zdarzen-ga4-meta-capi-bigquery-pl\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/automatyzacja-walidacji-zdarzen-ga4-meta-capi-bigquery-pl\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/automatyzacja-walidacji-zdarzen-ga4-meta-capi-bigquery-pl\\\/\",\"name\":\"Automatyzacja walidacji zdarze\u0144 GA4 i Meta CAPI w BigQuery - Lukas Wojcik - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/automatyzacja-walidacji-zdarzen-ga4-meta-capi-bigquery-pl\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/automatyzacja-walidacji-zdarzen-ga4-meta-capi-bigquery-pl\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-452-automatyzacja-walidacji-zdarzen-ga4--g.png\",\"datePublished\":\"2026-09-08T18:15:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/automatyzacja-walidacji-zdarzen-ga4-meta-capi-bigquery-pl\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/automatyzacja-walidacji-zdarzen-ga4-meta-capi-bigquery-pl\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/automatyzacja-walidacji-zdarzen-ga4-meta-capi-bigquery-pl\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-452-automatyzacja-walidacji-zdarzen-ga4--g.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-452-automatyzacja-walidacji-zdarzen-ga4--g.png\",\"width\":1200,\"height\":630,\"caption\":\"Automatyzacja walidacji zdarze\u0144 GA4 i Meta CAPI w BigQuery\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/automatyzacja-walidacji-zdarzen-ga4-meta-capi-bigquery-pl\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Automatyzacja walidacji zdarze\u0144 GA4 i Meta CAPI w BigQuery\"}]},{\"@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\":\"luky\",\"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\":\"luky\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"],\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/author\\\/luky\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Automatyzacja walidacji zdarze\u0144 GA4 i Meta CAPI w BigQuery - Lukas Wojcik - Blog","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\/tutorials-pl\/automatyzacja-walidacji-zdarzen-ga4-meta-capi-bigquery-pl\/","og_locale":"en_US","og_type":"article","og_title":"Automatyzacja walidacji zdarze\u0144 GA4 i Meta CAPI w BigQuery - Lukas Wojcik - Blog","og_description":"Techniczny przewodnik krok po kroku po budowie zautomatyzowanego potoku uzgadniania i walidacji zdarze\u0144 pomi\u0119dzy GA4 a Meta Conversions API w BigQuery.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/automatyzacja-walidacji-zdarzen-ga4-meta-capi-bigquery-pl\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-09-08T18:15:00+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-452-automatyzacja-walidacji-zdarzen-ga4--g.png","type":"image\/png"}],"author":"luky","twitter_card":"summary_large_image","twitter_misc":{"Written by":"luky","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/automatyzacja-walidacji-zdarzen-ga4-meta-capi-bigquery-pl\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/automatyzacja-walidacji-zdarzen-ga4-meta-capi-bigquery-pl\/"},"author":{"name":"luky","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"Automatyzacja walidacji zdarze\u0144 GA4 i Meta CAPI w BigQuery","datePublished":"2026-09-08T18:15:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/automatyzacja-walidacji-zdarzen-ga4-meta-capi-bigquery-pl\/"},"wordCount":660,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/automatyzacja-walidacji-zdarzen-ga4-meta-capi-bigquery-pl\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-452-automatyzacja-walidacji-zdarzen-ga4--g.png","keywords":["BigQuery","Conversion Tracking","Data Quality","Google Analytics 4","Meta Conversions API","Tracking","Tutorial"],"articleSection":["Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/automatyzacja-walidacji-zdarzen-ga4-meta-capi-bigquery-pl\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/automatyzacja-walidacji-zdarzen-ga4-meta-capi-bigquery-pl\/","url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/automatyzacja-walidacji-zdarzen-ga4-meta-capi-bigquery-pl\/","name":"Automatyzacja walidacji zdarze\u0144 GA4 i Meta CAPI w BigQuery - Lukas Wojcik - Blog","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/automatyzacja-walidacji-zdarzen-ga4-meta-capi-bigquery-pl\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/automatyzacja-walidacji-zdarzen-ga4-meta-capi-bigquery-pl\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-452-automatyzacja-walidacji-zdarzen-ga4--g.png","datePublished":"2026-09-08T18:15:00+00:00","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/automatyzacja-walidacji-zdarzen-ga4-meta-capi-bigquery-pl\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/automatyzacja-walidacji-zdarzen-ga4-meta-capi-bigquery-pl\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/automatyzacja-walidacji-zdarzen-ga4-meta-capi-bigquery-pl\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-452-automatyzacja-walidacji-zdarzen-ga4--g.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-452-automatyzacja-walidacji-zdarzen-ga4--g.png","width":1200,"height":630,"caption":"Automatyzacja walidacji zdarze\u0144 GA4 i Meta CAPI w BigQuery"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/automatyzacja-walidacji-zdarzen-ga4-meta-capi-bigquery-pl\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Automatyzacja walidacji zdarze\u0144 GA4 i Meta CAPI w BigQuery"}]},{"@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":"luky","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":"luky"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"],"url":"https:\/\/www.lukaswojcik.com\/blog\/author\/luky\/"}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/452","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=452"}],"version-history":[{"count":3,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/452\/revisions"}],"predecessor-version":[{"id":13335,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/452\/revisions\/13335"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/14012"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=452"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=452"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=452"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}