{"id":461,"date":"2026-09-11T17:15:00","date_gmt":"2026-09-11T15:15:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/?p=461"},"modified":"2026-09-10T10:51:15","modified_gmt":"2026-09-10T08:51:15","slug":"automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-bigquery","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-bigquery\/","title":{"rendered":"Automatyczne alerty jako\u015bci danych GA4 w Looker Studio i BigQuery"},"content":{"rendered":"\r\n<p class=\"wp-block-paragraph\">Niezauwa\u017cona utrata danych stanowi jedno z najbardziej krytycznych zagro\u017ce\u0144 operacyjnych w analityce cyfrowej. Kiedy skrypty \u015bledz\u0105ce Google Analytics 4 (GA4) ulegn\u0105 awarii z powodu wdro\u017ce\u0144 na stronie, b\u0142\u0119dnej konfiguracji platformy zarz\u0105dzania zgodami (CMP) lub problem\u00f3w z serwerowymi punktami ko\u0144cowymi, potoki danych mog\u0105 przesta\u0107 rejestrowa\u0107 kluczowe konwersje bez generowania widocznych b\u0142\u0119d\u00f3w aplikacji. Wdro\u017cenie zautomatyzowanego systemu alert\u00f3w jako\u015bci danych w Google BigQuery i Looker Studio pozwala zespo\u0142om in\u017cynierii danych na ci\u0105g\u0142e monitorowanie wolumen\u00f3w konwersji, trend\u00f3w ruchu oraz sp\u00f3jno\u015bci parametr\u00f3w \u2013 uruchamiaj\u0105c natychmiastowe powiadomienia, gdy wska\u017aniki odchylaj\u0105 si\u0119 od norm statystycznych.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">1. Architektura rozwi\u0105zania: Statystyczne wykrywanie anomalii<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Tradycyjne alerty oparte na sztywnych progach zawodz\u0105 w \u015brodowiskach e-commerce, poniewa\u017c ruch naturalnie waha si\u0119 mi\u0119dzy dniami roboczymi a weekendami. Stabilna architektura ostrzegawcza opiera si\u0119 na modelowaniu statystycznym:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li><strong>Historyczna baza odniesienia w BigQuery:<\/strong> Zaplanowane zapytanie SQL oblicza 14-dniow\u0105 \u015bredni\u0105 ruchom\u0105 oraz odchylenie standardowe dla kluczowych zdarze\u0144 (takich jak <code>purchase<\/code>, <code>add_to_cart<\/code> i sesje og\u00f3\u0142em).<\/li>\r\n<li><strong>Punktacja anomalii Z-Score:<\/strong> System wylicza wska\u017anik Z-score dla bie\u017c\u0105cego wolumenu dziennego. Warto\u015b\u0107 Z-score poni\u017cej <code>-2.0<\/code> lub powy\u017cej <code>+3.0<\/code> oznacza statystycznie istotn\u0105 anomali\u0119 (np. nieoczekiwany spadek liczby transakcji o 60%).<\/li>\r\n<li><strong>Dystrybucja przez Looker Studio Pro i Cloud Monitoring:<\/strong> Tabele wynikowe s\u0105 wizualizowane na pulpitach Looker Studio i powi\u0105zane z automatycznymi harmonogramami powiadomie\u0144 lub webhookami PagerDuty \/ Slack za po\u015brednictwem Google Cloud Monitoring.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<figure class=\"lw-diagram\">\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-b-pl.png\" width=\"1120\" height=\"378\" alt=\"Diagram do artyku\u0142u: Historyczna baza odniesienia w BigQuery, Punktacja anomalii Z-Score, Dystrybucja przez Looker Studio Pro i Cloud\u2026 \u2026\">\n<figcaption>6 element\u00f3w artyku\u0142u w skr\u00f3cie: Historyczna baza odniesienia w BigQuery, Punktacja anomalii Z-Score, Dystrybucja przez Looker Studio Pro i Cloud\u2026, Utworzenie zestawu danych roboczych \u2026.<\/figcaption>\n<\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">2. Skrypt SQL do wykrywania anomalii w BigQuery krok po kroku<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Aby automatycznie wykrywa\u0107 awarie \u015bledzenia, poni\u017cszy produkcyjny skrypt SQL musi by\u0107 wykonywany codziennie w Google BigQuery w celu weryfikacji strumieni zdarze\u0144 GA4 wzgl\u0119dem norm statystycznych:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code class=\"language-sql\">WITH daily_event_volumes AS (\n    SELECT\n        PARSE_DATE('%Y%m%d', event_date) AS metric_date,\n        event_name,\n        COUNT(*) AS event_count\n    FROM\n        `project_id.analytics_XXXXXXXXX.events_*`\n    WHERE\n        _TABLE_SUFFIX BETWEEN FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 16 DAY))\n                          AND FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY))\n        AND event_name IN ('purchase', 'add_to_cart', 'begin_checkout', 'session_start')\n    GROUP BY\n        metric_date,\n        event_name\n),\nbaseline_stats AS (\n    SELECT\n        metric_date,\n        event_name,\n        event_count,\n        AVG(event_count) OVER(\n            PARTITION BY event_name \n            ORDER BY metric_date \n            ROWS BETWEEN 14 PRECEDING AND 1 PRECEDING\n        ) AS rolling_avg_14d,\n        STDDEV(event_count) OVER(\n            PARTITION BY event_name \n            ORDER BY metric_date \n            ROWS BETWEEN 14 PRECEDING AND 1 PRECEDING\n        ) AS rolling_stddev_14d\n    FROM\n        daily_event_volumes\n)\nSELECT\n    metric_date,\n    event_name,\n    event_count,\n    ROUND(rolling_avg_14d, 1) AS expected_avg,\n    ROUND(\n        CASE \n            WHEN rolling_stddev_14d = 0 THEN 0 \n            ELSE (event_count - rolling_avg_14d) \/ rolling_stddev_14d \n        END, 2\n    ) AS z_score,\n    CASE\n        WHEN rolling_stddev_14d &gt; 0 AND ((event_count - rolling_avg_14d) \/ rolling_stddev_14d) &lt; -2.0 THEN 'CRITICAL_DROP'\n        WHEN rolling_stddev_14d &gt; 0 AND ((event_count - rolling_avg_14d) \/ rolling_stddev_14d) &gt; 3.0 THEN 'UNEXPECTED_SPIKE'\n        ELSE 'NORMAL'\n    END AS quality_status\nFROM\n    baseline_stats\nWHERE\n    metric_date = DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY)\nORDER BY\n    z_score ASC;<\/code><\/pre>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">3. Konfiguracja harmonogramu i tabeli roboczej krok po kroku<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Aby nadz\u00f3r funkcjonowa\u0142 w spos\u00f3b ci\u0105g\u0142y bez r\u0119cznego uruchamiania zapyta\u0144, nale\u017cy skonfigurowa\u0107 automatyczn\u0105 harmonogramacj\u0119:<\/p>\r\n\r\n\r\n\r\n<ol class=\"wp-block-list\">\r\n<li><strong>Utworzenie zestawu danych roboczych:<\/strong> W BigQuery nale\u017cy utworzy\u0107 dedykowany zestaw danych o nazwie <code>analytics_monitoring<\/code>.<\/li>\r\n<li><strong>Konfiguracja zapytania zaplanowanego (Scheduled Query):<\/strong> Wklei\u0107 kod SQL wykrywania anomalii i wybra\u0107 opcj\u0119 <code>Schedule &gt; Create Scheduled Query<\/code>.<\/li>\r\n<li><strong>Ustawienie czasu egzekucji:<\/strong> Zaplanowa\u0107 codzienne wywo\u0142anie na godzin\u0119 05:30 UTC, co gwarantuje pe\u0142ne zako\u0144czenie nocnego przetwarzania danych GA4.<\/li>\r\n<li><strong>Mapowanie tabeli docelowej:<\/strong> Ustawi\u0107 tabel\u0119 docelow\u0105 jako <code>analytics_monitoring.ga4_data_quality_alerts<\/code> i wybra\u0107 tryb zapisu <code>WRITE_APPEND<\/code>, aby gromadzi\u0107 trwa\u0142\u0105 histori\u0119 audytow\u0105 wynik\u00f3w kontroli jako\u015bci.<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">4. Konfiguracja pulpitu Looker Studio i alert\u00f3w krok po kroku<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Po uruchomieniu tabeli roboczej w BigQuery nale\u017cy skonfigurowa\u0107 wizualizacj\u0119 i zasady powiadamiania:<\/p>\r\n\r\n\r\n\r\n<ol class=\"wp-block-list\">\r\n<li><strong>Po\u0142\u0105czenie BigQuery z Looker Studio:<\/strong> Doda\u0107 tabel\u0119 <code>analytics_monitoring.ga4_data_quality_alerts<\/code> jako g\u0142\u00f3wne \u017ar\u00f3d\u0142o danych w nowym raporcie Looker Studio.<\/li>\r\n<li><strong>Budowa karty kontroli jako\u015bci:<\/strong> Doda\u0107 wykres szereg\u00f3w czasowych prezentuj\u0105cy <code>event_count<\/code> na tle <code>expected_avg<\/code>, uzupe\u0142niony o formatowanie warunkowe dla wymiaru <code>quality_status<\/code> (czerwone wyr\u00f3\u017cnienie dla statusu <code>CRITICAL_DROP<\/code>).<\/li>\r\n<li><strong>Konfiguracja alert\u00f3w Looker Studio Pro:<\/strong> W przypadku dost\u0119pno\u015bci Looker Studio Pro nale\u017cy utworzy\u0107 warunkowy harmonogram, kt\u00f3ry automatycznie wysy\u0142a wiadomo\u015b\u0107 e-mail lub powiadomienie na Google Chat, gdy w tabeli pojawi si\u0119 wiersz <code>quality_status = 'CRITICAL_DROP'<\/code>.<\/li>\r\n<li><strong>Alternatywna wysy\u0142ka przez Cloud Monitoring:<\/strong> W standardowej wersji Looker Studio nale\u017cy po\u0142\u0105czy\u0107 us\u0142ug\u0119 Google Cloud Monitoring z metryk\u0105 log\u00f3w zapytania zaplanowanego. Konieczne jest utworzenie polityki alarmowej wysy\u0142aj\u0105cej powiadomienie PagerDuty lub Slack, gdy warto\u015b\u0107 Z-score spadnie poni\u017cej <code>-2.0<\/code>.<\/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 statystycznego wykrywania anomalii w Google BigQuery i Looker Studio, monitoruj\u0105cego wolumeny zdarze\u0144 GA4 na podstawie 14-dniowych norm Z-score.<\/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 cyfrowego uzyskuj\u0105 pe\u0142n\u0105 obserwowalno\u015b\u0107 infrastruktury zbierania danych. Ciche awarie \u015bledzenia wywo\u0142ane b\u0142\u0119dnymi wdro\u017ceniami kodu na stronie, b\u0142\u0119dami w GTM lub blokadami baner\u00f3w zg\u00f3d s\u0105 wykrywane w ci\u0105gu kilku godzin, a nie dni. W efekcie alokacja bud\u017cet\u00f3w marketingowych oraz algorytmiczna optymalizacja konwersji s\u0105 w pe\u0142ni chronione przed zniekszta\u0142conymi i niekompletnymi danymi analitycznymi.<\/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.google.com\/analytics\/bigquery\/basic-queries\" target=\"_blank\" rel=\"noopener noreferrer\">BigQuery Export schema for GA4<\/a><\/li>\n<\/ul>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Techniczny przewodnik krok po kroku po budowie zautomatyzowanego systemu wykrywania anomalii statystycznych dla GA4 w Google BigQuery i Looker Studio.<\/p>\n","protected":false},"author":1,"featured_media":14021,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[117],"tags":[92084,92097,92100,92511,92064,92238],"class_list":["post-461","post","type-post","status-publish","format-standard","hentry","category-tutorials-pl","tag-bigquery-pl","tag-data-quality-pl","tag-google-analytics-4-pl","tag-looker-studio-pl","tag-monitoring-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>Automatyczne alerty jako\u015bci danych GA4 w Looker Studio i 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\/automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-bigquery\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Automatyczne alerty jako\u015bci danych GA4 w Looker Studio i BigQuery - Lukas Wojcik - Blog\" \/>\n<meta property=\"og:description\" content=\"Techniczny przewodnik krok po kroku po budowie zautomatyzowanego systemu wykrywania anomalii statystycznych dla GA4 w Google BigQuery i Looker Studio.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-bigquery\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-11T15:15:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-461-automatyczne-alerty-jakosci-danych-g-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\\\/automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-bigquery\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-bigquery\\\/\"},\"author\":{\"name\":\"luky\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"Automatyczne alerty jako\u015bci danych GA4 w Looker Studio i BigQuery\",\"datePublished\":\"2026-09-11T15:15:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-bigquery\\\/\"},\"wordCount\":674,\"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\\\/automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-bigquery\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-461-automatyczne-alerty-jakosci-danych-g-g.png\",\"keywords\":[\"BigQuery\",\"Data Quality\",\"Google Analytics 4\",\"Looker Studio\",\"Monitoring\",\"Tutorial\"],\"articleSection\":[\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-bigquery\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-bigquery\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-bigquery\\\/\",\"name\":\"Automatyczne alerty jako\u015bci danych GA4 w Looker Studio i 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\\\/automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-bigquery\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-bigquery\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-461-automatyczne-alerty-jakosci-danych-g-g.png\",\"datePublished\":\"2026-09-11T15:15:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-bigquery\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-bigquery\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-bigquery\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-461-automatyczne-alerty-jakosci-danych-g-g.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-461-automatyczne-alerty-jakosci-danych-g-g.png\",\"width\":1200,\"height\":630,\"caption\":\"Automatyczne alerty jako\u015bci danych GA4 w Looker Studio i BigQuery\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-bigquery\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Automatyczne alerty jako\u015bci danych GA4 w Looker Studio i 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":"Automatyczne alerty jako\u015bci danych GA4 w Looker Studio i 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\/automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-bigquery\/","og_locale":"en_US","og_type":"article","og_title":"Automatyczne alerty jako\u015bci danych GA4 w Looker Studio i BigQuery - Lukas Wojcik - Blog","og_description":"Techniczny przewodnik krok po kroku po budowie zautomatyzowanego systemu wykrywania anomalii statystycznych dla GA4 w Google BigQuery i Looker Studio.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-bigquery\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-09-11T15:15:00+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-461-automatyczne-alerty-jakosci-danych-g-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\/automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-bigquery\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-bigquery\/"},"author":{"name":"luky","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"Automatyczne alerty jako\u015bci danych GA4 w Looker Studio i BigQuery","datePublished":"2026-09-11T15:15:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-bigquery\/"},"wordCount":674,"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\/automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-bigquery\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-461-automatyczne-alerty-jakosci-danych-g-g.png","keywords":["BigQuery","Data Quality","Google Analytics 4","Looker Studio","Monitoring","Tutorial"],"articleSection":["Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-bigquery\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-bigquery\/","url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-bigquery\/","name":"Automatyczne alerty jako\u015bci danych GA4 w Looker Studio i 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\/automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-bigquery\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-bigquery\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-461-automatyczne-alerty-jakosci-danych-g-g.png","datePublished":"2026-09-11T15:15:00+00:00","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-bigquery\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-bigquery\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-bigquery\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-461-automatyczne-alerty-jakosci-danych-g-g.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-461-automatyczne-alerty-jakosci-danych-g-g.png","width":1200,"height":630,"caption":"Automatyczne alerty jako\u015bci danych GA4 w Looker Studio i BigQuery"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/automatyczne-alerty-jakosci-danych-ga4-w-looker-studio-i-bigquery\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Automatyczne alerty jako\u015bci danych GA4 w Looker Studio i 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\/461","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=461"}],"version-history":[{"count":5,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/461\/revisions"}],"predecessor-version":[{"id":17927,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/461\/revisions\/17927"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/14021"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=461"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=461"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=461"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}