{"id":460,"date":"2026-09-11T12:50:00","date_gmt":"2026-09-11T10:50:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/?p=460"},"modified":"2026-10-26T11:59:00","modified_gmt":"2026-10-26T10:59:00","slug":"automatisierte-datenqualitats-alarme-fur-ga4-mit-looker-studio-bigquery","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/automatisierte-datenqualitats-alarme-fur-ga4-mit-looker-studio-bigquery\/","title":{"rendered":"Automatisierte Datenqualit\u00e4ts-Alarme f\u00fcr GA4 mit Looker Studio &amp; BigQuery"},"content":{"rendered":"<p>Ein Trackingfehler kann unbemerkt bleiben, obwohl die Website normal funktioniert. Ein t\u00e4glicher Mengenvergleich liefert daf\u00fcr Hinweise: Wie viele Ereignisse wurden exportiert, und wie stark weicht die Zahl vom \u00fcblichen Wochentag ab? BigQuery berechnet den Vergleich; Looker Studio zeigt die Ergebnisse. Eine Benachrichtigung braucht zus\u00e4tzlich eine eingerichtete Alarmregel.<\/p>\n<p>Das folgende Beispiel pr\u00fcft vier Ereignisnamen. Es kontrolliert weder alle Parameter noch die vollst\u00e4ndige Messkette. Ein auff\u00e4lliger Wert kann auch durch Kampagnen, Feiertage oder ge\u00e4nderte Einwilligungen entstehen.<\/p>\n<h2>1. Erst Datenverf\u00fcgbarkeit, dann Ereigniszahl<\/h2>\n<p>Der Vergleich verwendet den Tag vor vier Tagen und denselben Wochentag der acht vorherigen Wochen. Der Pr\u00fcftag geht nicht in den Referenzmittelwert ein. Der zeitliche Abstand l\u00e4sst Raum f\u00fcr versp\u00e4tete Exporte, beweist aber keine Vollst\u00e4ndigkeit. F\u00fcr GA4 gibt es keinen allgemein garantierten t\u00e4glichen Exportzeitpunkt; insbesondere ist 05:30 UTC keine sichere Grenze.<\/p>\n<p>Eine fehlende Tagestabelle bleibt ein unbekannter Wert. Nur bei vorhandener Tabelle wird ein nicht vorkommendes Ereignis als null gez\u00e4hlt. Auch eine vorhandene Tabelle kann unvollst\u00e4ndig sein. <code>session_start<\/code> bezeichnet hier die Anzahl dieses Ereignisses, keine nachgebildete GA4-Sitzungskennzahl.<\/p>\n<figure class=\"lw-diagram\"><img decoding=\"async\" src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/dia-459-alerts-20261024-de.png\" alt=\"Verf\u00fcgbarkeit, Vergleich und Zustellung sind getrennte Pr\u00fcfungen. Eine Abweichung von bisher immer gleichen Werten muss als \u00c4nderung sichtbar werden.\" width=\"1120\" height=\"580\" loading=\"lazy\"><figcaption>Verf\u00fcgbarkeit, Vergleich und Zustellung sind getrennte Pr\u00fcfungen. Eine Abweichung von bisher immer gleichen Werten muss als \u00c4nderung sichtbar werden.<\/figcaption><\/figure>\n<h2>2. SQL-Beispiel mit getrennten Fehlerzust\u00e4nden<\/h2>\n<p>Projekt, Dataset und alle Vorkommen der Berichtszeitzone sind anzupassen. Die Abfrage erwartet GA4-Tagestabellen mit kompatiblem Schema. Fehlen s\u00e4mtliche passenden Tabellen oder Zugriffsrechte, scheitert der Job; daf\u00fcr ist eine eigene Betriebs\u00fcberwachung erforderlich. Vor der Zeitplanung geh\u00f6ren ein BigQuery-Probelauf und eine Kostenpr\u00fcfung zum Einsatz.<\/p>\n<pre><code class=\"language-sql\">-- GoogleSQL; replace project, dataset and reporting timezone.\nWITH dates AS (\n  SELECT d AS metric_date,\n    DATE_SUB(CURRENT_DATE(&#x27;Europe\/Warsaw&#x27;), INTERVAL 4 DAY) AS target_date\n  FROM UNNEST(GENERATE_DATE_ARRAY(\n    DATE_SUB(CURRENT_DATE(&#x27;Europe\/Warsaw&#x27;), INTERVAL 60 DAY),\n    DATE_SUB(CURRENT_DATE(&#x27;Europe\/Warsaw&#x27;), INTERVAL 4 DAY),\n    INTERVAL 7 DAY)) AS d\n),\navailable AS (\n  SELECT table_name\n  FROM `project_id.analytics_XXXXXXXXX.INFORMATION_SCHEMA.TABLES`\n  WHERE table_type = &#x27;BASE TABLE&#x27;\n),\ncounts AS (\n  SELECT PARSE_DATE(&#x27;%Y%m%d&#x27;, event_date) AS metric_date,\n    event_name, COUNT(*) AS event_count\n  FROM `project_id.analytics_XXXXXXXXX.events_*`\n  WHERE _TABLE_SUFFIX BETWEEN\n    FORMAT_DATE(&#x27;%Y%m%d&#x27;, DATE_SUB(CURRENT_DATE(&#x27;Europe\/Warsaw&#x27;), INTERVAL 60 DAY))\n    AND FORMAT_DATE(&#x27;%Y%m%d&#x27;, DATE_SUB(CURRENT_DATE(&#x27;Europe\/Warsaw&#x27;), INTERVAL 4 DAY))\n    AND event_name IN (&#x27;purchase&#x27;, &#x27;add_to_cart&#x27;, &#x27;begin_checkout&#x27;, &#x27;session_start&#x27;)\n  GROUP BY 1, 2\n),\ngrid AS (\n  SELECT d.metric_date, d.target_date, n AS event_name,\n    IF(a.table_name IS NULL, NULL, COALESCE(c.event_count, 0)) AS event_count\n  FROM dates AS d\n  CROSS JOIN UNNEST([&#x27;purchase&#x27;, &#x27;add_to_cart&#x27;, &#x27;begin_checkout&#x27;, &#x27;session_start&#x27;]) AS n\n  LEFT JOIN available AS a\n    ON a.table_name = CONCAT(&#x27;events_&#x27;, FORMAT_DATE(&#x27;%Y%m%d&#x27;, d.metric_date))\n  LEFT JOIN counts AS c ON c.metric_date = d.metric_date AND c.event_name = n\n),\nstats AS (\n  SELECT target_date AS metric_date, event_name,\n    MAX(IF(metric_date = target_date, event_count, NULL)) AS event_count,\n    COUNT(IF(metric_date &lt; target_date, event_count, NULL)) AS reference_days,\n    AVG(IF(metric_date &lt; target_date, event_count, NULL)) AS expected_avg,\n    STDDEV_SAMP(IF(metric_date &lt; target_date, event_count, NULL)) AS reference_sd\n  FROM grid\n  GROUP BY target_date, event_name\n),\nscored AS (\n  SELECT *,\n    IF(reference_days = 8,\n      SAFE_DIVIDE(event_count - expected_avg, reference_sd), NULL) AS z_score\n  FROM stats\n),\nclassified AS (\n  SELECT *,\n    CASE\n      WHEN event_count IS NULL THEN &#x27;MISSING_EXPORT&#x27;\n      WHEN reference_days != 8 THEN &#x27;INCOMPLETE_BASELINE&#x27;\n      WHEN reference_sd = 0 AND event_count != expected_avg THEN &#x27;CONSTANT_BASELINE_CHANGE&#x27;\n      WHEN reference_sd = 0 THEN &#x27;NO_CHANGE&#x27;\n      WHEN z_score &lt; -2.0 THEN &#x27;DROP&#x27;\n      WHEN z_score &gt; 3.0 THEN &#x27;SPIKE&#x27;\n      ELSE &#x27;WITHIN_RULE&#x27;\n    END AS quality_status\n  FROM scored\n)\nSELECT *, CURRENT_TIMESTAMP() AS evaluated_at,\n  IF(quality_status IN (&#x27;NO_CHANGE&#x27;, &#x27;WITHIN_RULE&#x27;), 0, 1) AS alert_flag\nFROM classified\nORDER BY event_name;\n<\/code><\/pre>\n<p><code>reference_days<\/code> muss acht sein. Bei fehlender Basis entsteht <code>INCOMPLETE_BASELINE<\/code>, bei fehlendem Pr\u00fcftag <code>MISSING_EXPORT<\/code>. Eine konstante Vergleichsbasis erlaubt keine Division durch die Standardabweichung: Achtmal 100 und anschlie\u00dfend null ergibt deshalb <code>CONSTANT_BASELINE_CHANGE<\/code>. Achtmal 100 und erneut 100 ergibt <code>NO_CHANGE<\/code>.<\/p>\n<p>Bei schwankender Basis beschreibt der z-Wert den Abstand zum Mittelwert im Verh\u00e4ltnis zur Streuung der acht Vergleichswerte. Bei einem Mittelwert von 100, einer Stichproben-Standardabweichung von 10 und einem neuen Wert von 70 ergibt sich beispielsweise (70 \u2212 100) \/ 10 = \u22123. Die Standardabweichung beschreibt, wie stark die Vergleichswerte auseinanderliegen. Die Grenzen \u22122 und +3 sind hier Untersuchungsregeln, keine kalibrierten Signifikanztests. Acht Beobachtungen sind wenig; mehrere gleichzeitige Pr\u00fcfungen und geringe Ereigniszahlen erh\u00f6hen das Risiko unpassender Hinweise. <code>WITHIN_RULE<\/code> bedeutet lediglich, dass diese Regel nicht anschl\u00e4gt.<\/p>\n<h2>3. Speicherung und Alarmzustellung<\/h2>\n<ol>\n<li>Ein Monitoring-Dataset in einer passenden BigQuery-Region anlegen. Lese- und Schreibrechte der ausf\u00fchrenden Identit\u00e4t pr\u00fcfen.<\/li>\n<li>Die Abfrage zun\u00e4chst manuell ausf\u00fchren. Erwartet werden vier Zeilen einschlie\u00dflich <code>evaluated_at<\/code> und <code>alert_flag<\/code>. Kostenabsch\u00e4tzung beachten: Der Tabellenbereich umfasst 57 Tage, obwohl nur neun Vergleichstage ben\u00f6tigt werden.<\/li>\n<li>Die Zeitplanung nach beobachteter Exportverf\u00fcgbarkeit w\u00e4hlen. F\u00fcr den aktuellen Pr\u00fcfstand kann die Zieltabelle bei jedem erfolgreichen Lauf ersetzt werden. Eine zus\u00e4tzliche Historie ben\u00f6tigt Laufkennung und eine Regel gegen doppelte Wiederholungen; blindes Anh\u00e4ngen erzeugt sonst Duplikate.<\/li>\n<li>In Looker Studio den aktuellen Pr\u00fcfstand anzeigen: Datum, Ereignis, Anzahl, Referenzmittel, Status und Auswertungszeit. Pro-Diagrammwarnungen unterst\u00fctzen E-Mail-Benachrichtigungen; die Bedingungen gelten f\u00fcr Standardfilter. Eine Report-Zustellung an Google Chat ist nicht dasselbe wie ein bedingter Datenalarm.<\/li>\n<li>F\u00fcr Cloud Monitoring eine gesonderte Abfrage nur mit Alarmzeilen ausf\u00fchren. Die automatisch bereitgestellte Metrik <code>bigquerydatatransfer.googleapis.com\/transfer_config\/last_execution_job_rows<\/code> z\u00e4hlt Ergebniszeilen, keine z-Werte. Auf die passende <code>config_id<\/code> filtern und bei einem Wert \u00fcber null alarmieren.<\/li>\n<\/ol>\n<p>Die Alarmabfrage darf erst nach dem erfolgreichen Berechnungslauf starten und muss Aktualit\u00e4t, erwartetes Pr\u00fcfdatum und die vier Ergebniszeilen kontrollieren. Ein alter fehlerfreier Tabellenstand darf keinen neuen ausgefallenen Lauf verdecken. Auch Jobfehler und ausbleibende L\u00e4ufe brauchen eigene Warnungen: Die zuletzt gemeldete Zeilenzahl kann nach einem Ausfall unver\u00e4ndert bestehen bleiben. Benachrichtigungskan\u00e4le anschlie\u00dfend mit kontrollierten Testf\u00e4llen pr\u00fcfen.<\/p>\n<h2>4. Abnahme vor dem t\u00e4glichen Betrieb<\/h2>\n<ul>\n<li>Konstante Basis mit Totalverlust: \u00c4nderung wird gemeldet, kein falsches Normal.<\/li>\n<li>Fehlende Tagestabelle: fehlender Export, keine erfundene Ereignisnull.<\/li>\n<li>Fehlende Referenzwoche: Vergleich ausgesetzt.<\/li>\n<li>Unver\u00e4nderte konstante Basis: keine \u00c4nderung.<\/li>\n<li>Fehlgeschlagener Job oder alter Ergebnisstand: Betriebswarnung unabh\u00e4ngig vom fachlichen Status.<\/li>\n<\/ul>\n<p>Die Statusentscheidung wurde isoliert mit synthetischen F\u00e4llen gepr\u00fcft. Das ist kein Nachweis einer funktionierenden BigQuery-, Pro- oder Cloud-Monitoring-Installation. Bei t\u00e4glichen Pr\u00fcfungen mit vier Tagen Abstand entstehen ausdr\u00fccklich keine sofortigen Ausfallmeldungen. Ein schnellerer Meldeweg ben\u00f6tigt eine gesonderte Pr\u00fcfung vorl\u00e4ufiger Daten.<\/p>\n<div class=\"lw-faq\">\n<h2>Fragen und Antworten<\/h2>\n<h3>Warum reicht eine Nullauff\u00fcllung nicht?<\/h3>\n<p>Ohne Tagesraster fehlen Tage ohne Ereignis. Eine pauschale Nullauff\u00fcllung verwechselt jedoch einen nicht eingetroffenen Export mit einem beobachteten Nulltag. Das Beispiel pr\u00fcft deshalb zus\u00e4tzlich die Tabelle.<\/p>\n<h3>Ist eine Auff\u00e4lligkeit der Beweis eines Trackingfehlers?<\/h3>\n<p>Nein. Die Untersuchung braucht weitere Informationen: Releases, CMP-\u00c4nderungen, Kampagnen, Serverfehler und Exportzustand. Die Mengenregel lokalisiert die Ursache nicht und pr\u00fcft keine einzelnen Parameterwerte.<\/p>\n<\/div>\n<p><!-- lw-anomaly-weekday:start --><\/p>\n<h2>Praxiskontrolle: Wochentagsbasis ohne den Pr\u00fcftag<\/h2>\n<p>Der <a href=\"https:\/\/www.lukaswojcik.com\/blog\/de\/werkzeuge\/ga4-anomaly-detector\/\">GA4-Anomaliepr\u00fcfer<\/a> vergleicht einen gew\u00e4hlten Berichtstag jetzt mit demselben Wochentag der acht vorherigen Wochen. Ein Donnerstag wird mit acht Donnerstagen verglichen. Der Pr\u00fcftag bleibt aus Referenzmittelwert und Stichproben-Standardabweichung ausgeschlossen. Ein starker Einbruch kann damit nicht seine eigene Vergleichsbasis nach unten ziehen.<\/p>\n<p>Das Werkzeug liest Sitzungen, Nutzer insgesamt, Seiten-\/Bildschirmaufrufe, Key Events, Ereignisanzahl, Gesamtumsatz und Interaktionsrate \u00fcber die lesende Data API. Vorausgew\u00e4hlt ist der Tag vor vier Tagen, um Verarbeitungszeit einzur\u00e4umen. Dieser Abstand best\u00e4tigt jedoch keine vollst\u00e4ndigen Daten. Die Berichtszeitzone der Property und die Antwortmetadaten bleiben ma\u00dfgeblich.<\/p>\n<ol>\n<li>Einen abgeschlossenen Tag w\u00e4hlen und die acht im Ergebnis genannten Referenztage pr\u00fcfen.<\/li>\n<li>Fehlt ein erforderliches Datum in der Antwort, wird der Vergleich ausgesetzt. Fehlende Zeilen werden nicht still durch null ersetzt; eine ausdr\u00fccklich gemeldete null bleibt null.<\/li>\n<li>Den beschreibenden z-Wert anhand der gew\u00e4hlten Schwelle untersuchen. Bei einer konstanten Basis erscheint entweder keine \u00c4nderung oder eine Abweichung von diesem konstanten Wert, ohne Division durch null.<\/li>\n<li>Die neun Vergleichstage als CSV herunterladen und Auff\u00e4lligkeiten mit Releases, Kampagnen, Feiertagen und weiteren Befunden abgleichen.<\/li>\n<\/ol>\n<p>Acht Beobachtungen bilden eine kleine Vergleichsbasis. Die Hinweise sind keine kalibrierten Signifikanztests; sieben gleichzeitige Kennzahlpr\u00fcfungen k\u00f6nnen Zufallstreffer erzeugen. Gleiche Wochentage beseitigen weder Trends und Sonderaktionen noch Einwilligungs\u00e4nderungen oder Verarbeitungsverz\u00f6gerungen. Ein unauff\u00e4lliger Wert belegt keine vollst\u00e4ndige Messung, ein auff\u00e4lliger Wert keine Ursache. Dies ist ein manuelles Untersuchungswerkzeug, kein zeitgesteuerter Alarmdienst.<\/p>\n<p>Quellen: <a href=\"https:\/\/developers.google.com\/analytics\/devguides\/reporting\/data\/v1\/rest\/v1beta\/properties\/runReport\">Google-runReport-Referenz<\/a>, <a href=\"https:\/\/developers.google.com\/analytics\/devguides\/reporting\/data\/v1\/api-schema\">Kennzahldefinitionen<\/a> sowie <a href=\"https:\/\/www.itl.nist.gov\/div898\/handbook\/eda\/section3\/eda35h.htm\">NIST zur Ausrei\u00dfererkennung und ihren Voraussetzungen<\/a>.<\/p>\n<p><!-- lw-anomaly-weekday:end --><\/p>\n<h2>Quellen<\/h2>\n<ul>\n<li><a href=\"https:\/\/support.google.com\/analytics\/answer\/9358801?hl=en\">GA4: Exportzeiten und Grenzen<\/a><\/li>\n<li><a href=\"https:\/\/support.google.com\/analytics\/answer\/7029846\">GA4: Exportschema<\/a><\/li>\n<li><a href=\"https:\/\/docs.cloud.google.com\/bigquery\/docs\/information-schema-tables\">Bestand der Tabellen<\/a><\/li>\n<li><a href=\"https:\/\/docs.cloud.google.com\/bigquery\/docs\/reference\/standard-sql\/statistical_aggregate_functions\">Stichproben-Standardabweichung<\/a><\/li>\n<li><a href=\"https:\/\/docs.cloud.google.com\/bigquery\/docs\/scheduling-queries\">Geplante Abfragen einrichten<\/a><\/li>\n<li><a href=\"https:\/\/docs.cloud.google.com\/bigquery\/docs\/create-alert-scheduled-query\">Alarm anhand der Ergebniszeilenzahl und Betriebsgrenzen<\/a><\/li>\n<li><a href=\"https:\/\/docs.cloud.google.com\/data-studio\/create-alerts-on-a-chart\">Pro-Diagrammwarnungen<\/a><\/li>\n<li><a href=\"https:\/\/www.itl.nist.gov\/div898\/handbook\/eda\/section3\/eda35h.htm\">Ausrei\u00dfer und Annahmen \u00fcber die Datenverteilung<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Ein BigQuery-Beispiel vergleicht GA4-Ereigniszahlen mit acht passenden Wochentagen und trennt fehlende Exporte von null Ereignissen. Looker Studio zeigt die Ergebnisse; automatische Warnungen ben\u00f6tigen zus\u00e4tzliche Einrichtung und Tests.<\/p>\n","protected":false},"author":1,"featured_media":14020,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[115],"tags":[92081,92088,92091,92508,92058,92235],"class_list":["post-460","post","type-post","status-publish","format-standard","hentry","category-tutorials-de","tag-bigquery-de","tag-data-quality-de","tag-google-analytics-4-de","tag-looker-studio-de","tag-monitoring-de","tag-tutorial-de"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Automatisierte Datenqualit\u00e4ts-Alarme f\u00fcr GA4 mit Looker Studio &amp; BigQuery | Lukas Wojcik<\/title>\n<meta name=\"description\" content=\"GA4-Datenqualit\u00e4t \u00fcberwachen: BigQuery-Anomalieabfragen, geplante Pr\u00fcfungen und Looker Studio mit Vergleich nach Wochentagen.\" \/>\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\/de\/digital-analytics-de\/tutorials-de\/automatisierte-datenqualitats-alarme-fur-ga4-mit-looker-studio-bigquery\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Automatisierte Datenqualit\u00e4ts-Alarme f\u00fcr GA4 mit Looker Studio &amp; BigQuery | Lukas Wojcik\" \/>\n<meta property=\"og:description\" content=\"GA4-Datenqualit\u00e4t \u00fcberwachen: BigQuery-Anomalieabfragen, geplante Pr\u00fcfungen und Looker Studio mit Vergleich nach Wochentagen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/automatisierte-datenqualitats-alarme-fur-ga4-mit-looker-studio-bigquery\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-11T10:50:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-26T10:59:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-460-automatisierte-datenqualitaets-alarm-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=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/automatisierte-datenqualitats-alarme-fur-ga4-mit-looker-studio-bigquery\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/automatisierte-datenqualitats-alarme-fur-ga4-mit-looker-studio-bigquery\\\/\"},\"author\":{\"name\":\"Lukas Wojcik\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"Automatisierte Datenqualit\u00e4ts-Alarme f\u00fcr GA4 mit Looker Studio &amp; BigQuery\",\"datePublished\":\"2026-09-11T10:50:00+00:00\",\"dateModified\":\"2026-10-26T10:59:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/automatisierte-datenqualitats-alarme-fur-ga4-mit-looker-studio-bigquery\\\/\"},\"wordCount\":1036,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/automatisierte-datenqualitats-alarme-fur-ga4-mit-looker-studio-bigquery\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-460-automatisierte-datenqualitaets-alarm-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\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/automatisierte-datenqualitats-alarme-fur-ga4-mit-looker-studio-bigquery\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/automatisierte-datenqualitats-alarme-fur-ga4-mit-looker-studio-bigquery\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/automatisierte-datenqualitats-alarme-fur-ga4-mit-looker-studio-bigquery\\\/\",\"name\":\"Automatisierte Datenqualit\u00e4ts-Alarme f\u00fcr GA4 mit Looker Studio &amp; BigQuery | Lukas Wojcik\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/automatisierte-datenqualitats-alarme-fur-ga4-mit-looker-studio-bigquery\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/automatisierte-datenqualitats-alarme-fur-ga4-mit-looker-studio-bigquery\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-460-automatisierte-datenqualitaets-alarm-g.png\",\"datePublished\":\"2026-09-11T10:50:00+00:00\",\"dateModified\":\"2026-10-26T10:59:00+00:00\",\"description\":\"GA4-Datenqualit\u00e4t \u00fcberwachen: BigQuery-Anomalieabfragen, geplante Pr\u00fcfungen und Looker Studio mit Vergleich nach Wochentagen.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/automatisierte-datenqualitats-alarme-fur-ga4-mit-looker-studio-bigquery\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/automatisierte-datenqualitats-alarme-fur-ga4-mit-looker-studio-bigquery\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/automatisierte-datenqualitats-alarme-fur-ga4-mit-looker-studio-bigquery\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-460-automatisierte-datenqualitaets-alarm-g.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-460-automatisierte-datenqualitaets-alarm-g.png\",\"width\":1200,\"height\":630,\"caption\":\"Automatisierte Datenqualit\u00e4ts-Alarme f\u00fcr GA4 mit Looker Studio & BigQuery\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-analytics-de\\\/tutorials-de\\\/automatisierte-datenqualitats-alarme-fur-ga4-mit-looker-studio-bigquery\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Automatisierte Datenqualit\u00e4ts-Alarme f\u00fcr GA4 mit Looker Studio &amp; 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\":\"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":"Automatisierte Datenqualit\u00e4ts-Alarme f\u00fcr GA4 mit Looker Studio &amp; BigQuery | Lukas Wojcik","description":"GA4-Datenqualit\u00e4t \u00fcberwachen: BigQuery-Anomalieabfragen, geplante Pr\u00fcfungen und Looker Studio mit Vergleich nach Wochentagen.","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\/de\/digital-analytics-de\/tutorials-de\/automatisierte-datenqualitats-alarme-fur-ga4-mit-looker-studio-bigquery\/","og_locale":"en_US","og_type":"article","og_title":"Automatisierte Datenqualit\u00e4ts-Alarme f\u00fcr GA4 mit Looker Studio &amp; BigQuery | Lukas Wojcik","og_description":"GA4-Datenqualit\u00e4t \u00fcberwachen: BigQuery-Anomalieabfragen, geplante Pr\u00fcfungen und Looker Studio mit Vergleich nach Wochentagen.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/automatisierte-datenqualitats-alarme-fur-ga4-mit-looker-studio-bigquery\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-09-11T10:50:00+00:00","article_modified_time":"2026-10-26T10:59:00+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-460-automatisierte-datenqualitaets-alarm-g.png","type":"image\/png"}],"author":"Lukas Wojcik","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Lukas Wojcik","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/automatisierte-datenqualitats-alarme-fur-ga4-mit-looker-studio-bigquery\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/automatisierte-datenqualitats-alarme-fur-ga4-mit-looker-studio-bigquery\/"},"author":{"name":"Lukas Wojcik","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"Automatisierte Datenqualit\u00e4ts-Alarme f\u00fcr GA4 mit Looker Studio &amp; BigQuery","datePublished":"2026-09-11T10:50:00+00:00","dateModified":"2026-10-26T10:59:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/automatisierte-datenqualitats-alarme-fur-ga4-mit-looker-studio-bigquery\/"},"wordCount":1036,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/automatisierte-datenqualitats-alarme-fur-ga4-mit-looker-studio-bigquery\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-460-automatisierte-datenqualitaets-alarm-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\/de\/digital-analytics-de\/tutorials-de\/automatisierte-datenqualitats-alarme-fur-ga4-mit-looker-studio-bigquery\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/automatisierte-datenqualitats-alarme-fur-ga4-mit-looker-studio-bigquery\/","url":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/automatisierte-datenqualitats-alarme-fur-ga4-mit-looker-studio-bigquery\/","name":"Automatisierte Datenqualit\u00e4ts-Alarme f\u00fcr GA4 mit Looker Studio &amp; BigQuery | Lukas Wojcik","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/automatisierte-datenqualitats-alarme-fur-ga4-mit-looker-studio-bigquery\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/automatisierte-datenqualitats-alarme-fur-ga4-mit-looker-studio-bigquery\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-460-automatisierte-datenqualitaets-alarm-g.png","datePublished":"2026-09-11T10:50:00+00:00","dateModified":"2026-10-26T10:59:00+00:00","description":"GA4-Datenqualit\u00e4t \u00fcberwachen: BigQuery-Anomalieabfragen, geplante Pr\u00fcfungen und Looker Studio mit Vergleich nach Wochentagen.","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/automatisierte-datenqualitats-alarme-fur-ga4-mit-looker-studio-bigquery\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/automatisierte-datenqualitats-alarme-fur-ga4-mit-looker-studio-bigquery\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/automatisierte-datenqualitats-alarme-fur-ga4-mit-looker-studio-bigquery\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-460-automatisierte-datenqualitaets-alarm-g.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-460-automatisierte-datenqualitaets-alarm-g.png","width":1200,"height":630,"caption":"Automatisierte Datenqualit\u00e4ts-Alarme f\u00fcr GA4 mit Looker Studio & BigQuery"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-analytics-de\/tutorials-de\/automatisierte-datenqualitats-alarme-fur-ga4-mit-looker-studio-bigquery\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Automatisierte Datenqualit\u00e4ts-Alarme f\u00fcr GA4 mit Looker Studio &amp; 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":"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\/460","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=460"}],"version-history":[{"count":9,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/460\/revisions"}],"predecessor-version":[{"id":26737,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/460\/revisions\/26737"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/14020"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=460"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=460"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=460"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}