{"id":8824,"date":"2026-08-15T11:12:00","date_gmt":"2026-08-15T09:12:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/?p=8822"},"modified":"2026-08-13T14:29:55","modified_gmt":"2026-08-13T12:29:55","slug":"optymalizacja-kosztow-bigquery-ga4-surowy-eksport","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/optymalizacja-kosztow-bigquery-ga4-surowy-eksport\/","title":{"rendered":"Optymalizacja koszt\u00f3w BigQuery w GA4: Jak przesta\u0107 przepala\u0107 bud\u017cet na surowym eksporcie"},"content":{"rendered":"\r\n<h2 class=\"wp-block-heading\">Optymalizacja koszt\u00f3w BigQuery w GA4: Jak przesta\u0107 przepala\u0107 bud\u017cet na surowym eksporcie<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Praca z natywnym eksportem zdarze\u0144 Google Analytics 4 (GA4) w Google Cloud BigQuery zapewnia nieograniczon\u0105 elastyczno\u015b\u0107 analityczn\u0105. Jednak nieoptymalne zapytania kierowane bezpo\u015brednio do surowych tabel potrafi\u0105 b\u0142yskawicznie wygenerowa\u0107 ogromne koszty infrastrukturowe. Poniewa\u017c model rozliczeniowy BigQuery opiera si\u0119 na ilo\u015bci danych przetworzonych podczas wykonywania zapytania, zrozumienie kolumnowej architektury przechowywania danych stanowi absolutn\u0105 podstaw\u0119 profesjonalnej in\u017cynierii danych.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">1. Architektoniczna pu\u0142apka zapyta\u0144 SELECT * na tabelach events_*<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">BigQuery oddziela wykonywanie zapyta\u0144 od przechowywania danych: Dremel to rozproszony silnik zapyta\u0144, a same dane zapisywane s\u0105 w kolumnowym formacie Capacitor. W tradycyjnych bazach wierszowych odczyt rekordu oznacza pobranie ca\u0142ej wierszowej struktury. W bazie kolumnowej ka\u017cda kolumna jest zapisywana niezale\u017cnie w rozproszonych blokach pami\u0119ci. Koszt zapytania zale\u017cy zatem wy\u0142\u0105cznie od ca\u0142kowitego rozmiaru bajt\u00f3w tych kolumn, kt\u00f3re zosta\u0142y wprost wskazane w instrukcji SQL.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Wykonanie og\u00f3lnego zapytania <code>SELECT * FROM `project.analytics_12345.events_*`<\/code> zmusza silnik do przeskanowania absolutnie wszystkich kolumn we wszystkich dost\u0119pnych shardach \u2013 wliczaj\u0105c w to ogromne, zagnie\u017cd\u017cone tablice RECORD, takie jak <code>event_params<\/code>, <code>user_properties<\/code> czy <code>items<\/code>. Jedna taka kwerenda obejmuj\u0105ca kilkumiesi\u0119czn\u0105 histori\u0119 potrafi przeskanowa\u0107 terabajty danych, generuj\u0105c znaczne straty finansowe.<\/p>\r\n\r\n\r\n\r\n<figure class=\"lw-diagram\">\n<img loading=\"lazy\" src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/hand-bqkosten-pl.png\" width=\"1120\" height=\"700\" decoding=\"async\"\n     alt=\"Trzy opadaj\u0105ce stopnie od surowego zapytania z symbolem wieloznacznym przez zapytanie ograniczone do tabeli wst\u0119pnie zagregowanej, poni\u017cej trzy czynniki kosztowe\">\n<figcaption>Ka\u017cdy stopie\u0144 zmniejsza to, co zapytanie musi przeczyta\u0107: najpierw okno czasu i kolumny, potem sam\u0105 tabel\u0119 surow\u0105, kt\u00f3rej panel ju\u017c w og\u00f3le nie dotyka.<\/figcaption>\n<\/figure>\n\n<h2 class=\"wp-block-heading\">2. Partycjonowanie po datach i filtrowanie przez sufiksy tabel<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">GA4 eksportuje dane w formie dziennych tabel shardowanych o strukturze <code>events_YYYYMMDD<\/code>. Podstawowym mechanizmem redukcji skanowanych bajt\u00f3w jest rygorystyczne partycjonowanie z wykorzystaniem pseudokolumny <code>_TABLE_SUFFIX<\/code>. Brak tego filtra sprawia, \u017ce silnik odczytuje ca\u0142\u0105 dost\u0119pn\u0105 histori\u0119 zbioru przed zastosowaniem jakichkolwiek warunk\u00f3w WHERE.<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>-- KOSZTOWNE (Skanuje ca\u0142\u0105 histori\u0119 zbioru danych):\r\nSELECT event_name, user_pseudo_id \r\nFROM `project.analytics_12345.events_*`\r\nWHERE event_name = 'purchase';\r\n\r\n-- ZOPTYMALIZOWANE (Ogranicza scan do 7-dniowego okna):\r\nSELECT event_name, user_pseudo_id \r\nFROM `project.analytics_12345.events_*`\r\nWHERE _TABLE_SUFFIX BETWEEN '20260801' AND '20260807'\r\n  AND event_name = 'purchase';<\/code><\/pre>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">3. Klastrowanie po event_name oraz user_pseudo_id<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">O ile partycjonowanie oddziela dane na poziomie pojedynczych tabel dziennych, o tyle klastrowanie fizycznie porz\u0105dkuje bloki pami\u0119ci wewn\u0105trz nich na podstawie okre\u015blonych kolumn. Gdy procesy analityczne regularnie filtruj\u0105 zbi\u00f3r po nazwach zdarze\u0144 lub identyfikatorach u\u017cytkownik\u00f3w, wdro\u017cenie klastrowania na tabelach stagingowych znacz\u0105co ogranicza zu\u017cycie zasob\u00f3w.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Przy zapytaniu uwzgl\u0119dniaj\u0105cym kolumn\u0119 klastrowan\u0105 BigQuery automatycznie pomija nieistotne bloki pami\u0119ci (tzw. block pruning). W analityce internetowej najwy\u017csz\u0105 efektywno\u015b\u0107 osi\u0105ga si\u0119 poprzez klastrowanie wed\u0142ug kardynalno\u015bci \u2013 rozpoczynaj\u0105c od <code>event_name<\/code>, a ko\u0144cz\u0105c na <code>user_pseudo_id<\/code>.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">4. Budowanie tabel po\u015brednich (Incremental Scheduled Queries)<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Bezpo\u015brednie pod\u0142\u0105czanie narz\u0119dzi BI czy system\u00f3w raportowych do surowych, zagnie\u017cd\u017conych tabel GA4 jest b\u0142\u0119dem architektonicznym. Z\u0142otym standardem jest wdro\u017cenie procesu ETL (Extract, Transform, Load) z u\u017cyciem <strong>przyrostowych zapyta\u0144 harmonogramowanych (Scheduled Queries)<\/strong>. Codzienne przetwarzanie wy\u0142\u0105cznie danych z minionej doby i zapisywanie ich do p\u0142askiej, sklastrowanej tabeli agregacyjnej redukuje koszty ci\u0105g\u0142ego raportowania nawet o 95%.<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>-- Konfiguracja jednorazowa: utworzenie tabeli docelowej (uruchamiane raz)\r\nCREATE TABLE IF NOT EXISTS `project.analytics_12345.daily_user_metrics`\r\n(\r\n  event_date DATE,\r\n  event_name STRING,\r\n  user_pseudo_id STRING,\r\n  total_events INT64,\r\n  sessions INT64\r\n)\r\nPARTITION BY event_date\r\nCLUSTER BY event_name, user_pseudo_id;\r\n\r\n-- Dzienna kwerenda przyrostowa (w\u0142a\u015bciwe zadanie harmonogramowane)\r\nDELETE FROM `project.analytics_12345.daily_user_metrics`\r\nWHERE event_date = DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY);\r\n\r\nINSERT INTO `project.analytics_12345.daily_user_metrics`\r\nSELECT\r\n  PARSE_DATE('%Y%m%d', event_date) AS event_date,\r\n  event_name,\r\n  user_pseudo_id,\r\n  COUNT(1) AS total_events,\r\n  COUNT(DISTINCT (SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'ga_session_id')) AS sessions\r\nFROM `project.analytics_12345.events_*`\r\nWHERE _TABLE_SUFFIX = FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY))\r\nGROUP BY 1, 2, 3;<\/code><\/pre>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Podsumowanie<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Efektywna kosztowo architektura GA4 w BigQuery opiera si\u0119 na trzech filarach: wyeliminowaniu zapyta\u0144 z symbolem wieloznacznym SELECT *, \u015bcis\u0142ej kontroli skanowanego zakresu dat przez <code>_TABLE_SUFFIX<\/code> oraz przeniesieniu obci\u0105\u017ce\u0144 raportowych na p\u0142askie, sklastrowane tabele po\u015brednie zasilane przez nocne procesy przyrostowe.<\/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>Przewodnik techniczny po redukcji koszt\u00f3w BigQuery w GA4: eliminacja zapyta\u0144 SELECT *, partycjonowanie datami, klastrowanie danych i harmonogramowanie tabel po\u015brednich.<\/p>\n","protected":false},"author":1,"featured_media":9238,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[92084,92100,92103,92238,92116],"class_list":["post-8824","post","type-post","status-publish","format-standard","hentry","category-digital-analytics-pl","tag-bigquery-pl","tag-google-analytics-4-pl","tag-google-cloud-pl","tag-tutorial-pl","tag-web-analytics-pl"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Optymalizacja koszt\u00f3w BigQuery w GA4: Jak przesta\u0107 przepala\u0107 bud\u017cet na surowym eksporcie - 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\/optymalizacja-kosztow-bigquery-ga4-surowy-eksport\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Optymalizacja koszt\u00f3w BigQuery w GA4: Jak przesta\u0107 przepala\u0107 bud\u017cet na surowym eksporcie - Lukas Wojcik - Blog\" \/>\n<meta property=\"og:description\" content=\"Przewodnik techniczny po redukcji koszt\u00f3w BigQuery w GA4: eliminacja zapyta\u0144 SELECT *, partycjonowanie datami, klastrowanie danych i harmonogramowanie tabel po\u015brednich.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/optymalizacja-kosztow-bigquery-ga4-surowy-eksport\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-15T09:12:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/fi-8824-optymalizacja-kosztow-bigquery-w-ga4-jak-przestac-pr.jpg\" \/>\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\/jpeg\" \/>\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=\"4 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\\\/optymalizacja-kosztow-bigquery-ga4-surowy-eksport\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/optymalizacja-kosztow-bigquery-ga4-surowy-eksport\\\/\"},\"author\":{\"name\":\"luky\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"Optymalizacja koszt\u00f3w BigQuery w GA4: Jak przesta\u0107 przepala\u0107 bud\u017cet na surowym eksporcie\",\"datePublished\":\"2026-08-15T09:12:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/optymalizacja-kosztow-bigquery-ga4-surowy-eksport\\\/\"},\"wordCount\":515,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/optymalizacja-kosztow-bigquery-ga4-surowy-eksport\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/fi-8824-optymalizacja-kosztow-bigquery-w-ga4-jak-przestac-pr.jpg\",\"keywords\":[\"BigQuery\",\"Google Analytics 4\",\"Google Cloud\",\"Tutorial\",\"Web Analytics\"],\"articleSection\":[\"Digital Analytics\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/optymalizacja-kosztow-bigquery-ga4-surowy-eksport\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/optymalizacja-kosztow-bigquery-ga4-surowy-eksport\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/optymalizacja-kosztow-bigquery-ga4-surowy-eksport\\\/\",\"name\":\"Optymalizacja koszt\u00f3w BigQuery w GA4: Jak przesta\u0107 przepala\u0107 bud\u017cet na surowym eksporcie - Lukas Wojcik - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/optymalizacja-kosztow-bigquery-ga4-surowy-eksport\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/optymalizacja-kosztow-bigquery-ga4-surowy-eksport\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/fi-8824-optymalizacja-kosztow-bigquery-w-ga4-jak-przestac-pr.jpg\",\"datePublished\":\"2026-08-15T09:12:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/optymalizacja-kosztow-bigquery-ga4-surowy-eksport\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/optymalizacja-kosztow-bigquery-ga4-surowy-eksport\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/optymalizacja-kosztow-bigquery-ga4-surowy-eksport\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/fi-8824-optymalizacja-kosztow-bigquery-w-ga4-jak-przestac-pr.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/fi-8824-optymalizacja-kosztow-bigquery-w-ga4-jak-przestac-pr.jpg\",\"width\":1200,\"height\":630,\"caption\":\"Optymalizacja koszt\u00f3w BigQuery w GA4: Jak przesta\u0107 przepala\u0107 bud\u017cet na surowym eksporcie\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/optymalizacja-kosztow-bigquery-ga4-surowy-eksport\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Optymalizacja koszt\u00f3w BigQuery w GA4: Jak przesta\u0107 przepala\u0107 bud\u017cet na surowym eksporcie\"}]},{\"@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":"Optymalizacja koszt\u00f3w BigQuery w GA4: Jak przesta\u0107 przepala\u0107 bud\u017cet na surowym eksporcie - 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\/optymalizacja-kosztow-bigquery-ga4-surowy-eksport\/","og_locale":"en_US","og_type":"article","og_title":"Optymalizacja koszt\u00f3w BigQuery w GA4: Jak przesta\u0107 przepala\u0107 bud\u017cet na surowym eksporcie - Lukas Wojcik - Blog","og_description":"Przewodnik techniczny po redukcji koszt\u00f3w BigQuery w GA4: eliminacja zapyta\u0144 SELECT *, partycjonowanie datami, klastrowanie danych i harmonogramowanie tabel po\u015brednich.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/optymalizacja-kosztow-bigquery-ga4-surowy-eksport\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-08-15T09:12:00+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/fi-8824-optymalizacja-kosztow-bigquery-w-ga4-jak-przestac-pr.jpg","type":"image\/jpeg"}],"author":"luky","twitter_card":"summary_large_image","twitter_misc":{"Written by":"luky","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/optymalizacja-kosztow-bigquery-ga4-surowy-eksport\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/optymalizacja-kosztow-bigquery-ga4-surowy-eksport\/"},"author":{"name":"luky","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"Optymalizacja koszt\u00f3w BigQuery w GA4: Jak przesta\u0107 przepala\u0107 bud\u017cet na surowym eksporcie","datePublished":"2026-08-15T09:12:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/optymalizacja-kosztow-bigquery-ga4-surowy-eksport\/"},"wordCount":515,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/optymalizacja-kosztow-bigquery-ga4-surowy-eksport\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/fi-8824-optymalizacja-kosztow-bigquery-w-ga4-jak-przestac-pr.jpg","keywords":["BigQuery","Google Analytics 4","Google Cloud","Tutorial","Web Analytics"],"articleSection":["Digital Analytics"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/optymalizacja-kosztow-bigquery-ga4-surowy-eksport\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/optymalizacja-kosztow-bigquery-ga4-surowy-eksport\/","url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/optymalizacja-kosztow-bigquery-ga4-surowy-eksport\/","name":"Optymalizacja koszt\u00f3w BigQuery w GA4: Jak przesta\u0107 przepala\u0107 bud\u017cet na surowym eksporcie - Lukas Wojcik - Blog","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/optymalizacja-kosztow-bigquery-ga4-surowy-eksport\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/optymalizacja-kosztow-bigquery-ga4-surowy-eksport\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/fi-8824-optymalizacja-kosztow-bigquery-w-ga4-jak-przestac-pr.jpg","datePublished":"2026-08-15T09:12:00+00:00","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/optymalizacja-kosztow-bigquery-ga4-surowy-eksport\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/optymalizacja-kosztow-bigquery-ga4-surowy-eksport\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/optymalizacja-kosztow-bigquery-ga4-surowy-eksport\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/fi-8824-optymalizacja-kosztow-bigquery-w-ga4-jak-przestac-pr.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/fi-8824-optymalizacja-kosztow-bigquery-w-ga4-jak-przestac-pr.jpg","width":1200,"height":630,"caption":"Optymalizacja koszt\u00f3w BigQuery w GA4: Jak przesta\u0107 przepala\u0107 bud\u017cet na surowym eksporcie"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/optymalizacja-kosztow-bigquery-ga4-surowy-eksport\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Optymalizacja koszt\u00f3w BigQuery w GA4: Jak przesta\u0107 przepala\u0107 bud\u017cet na surowym eksporcie"}]},{"@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\/8824","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=8824"}],"version-history":[{"count":4,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/8824\/revisions"}],"predecessor-version":[{"id":10011,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/8824\/revisions\/10011"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/9238"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=8824"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=8824"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=8824"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}