{"id":8830,"date":"2026-08-17T19:07:00","date_gmt":"2026-08-17T17:07:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/?p=8830"},"modified":"2026-08-13T14:30:01","modified_gmt":"2026-08-13T12:30:01","slug":"server-side-gtm-gcp-cloud-run-architektura-auto-scaling","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/server-side-gtm-gcp-cloud-run-architektura-auto-scaling\/","title":{"rendered":"Server-Side GTM na GCP Cloud Run: Architektura, Auto-Scaling i optymalizacja koszt\u00f3w"},"content":{"rendered":"\r\n<h2 class=\"wp-block-heading\">Server-Side GTM na GCP Cloud Run: Architektura, Auto-Scaling i optymalizacja koszt\u00f3w<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Automatyczne udost\u0119pnianie serwera Server-Side Google Tag Managera (ssGTM) od jesieni 2023 roku tworzy us\u0142ug\u0119 Google Cloud Run \u2013 Google App Engine nie jest ju\u017c \u015brodowiskiem domy\u015blnym. Powstaje przy tym jednak konfiguracja minimalna, przeznaczona do test\u00f3w, a nie do obs\u0142ugi ruchu produkcyjnego. Sam Cloud Run zapewnia w pe\u0142ni zarz\u0105dzane, bezstanowe \u015brodowisko kontenerowe o szybkim skalowaniu automatycznym, precyzyjnej alokacji zasob\u00f3w i przewidywalnym modelu kosztowym; pe\u0142ne wykorzystanie tego potencja\u0142u wymaga \u015bwiadomego utwardzenia wygenerowanego wdro\u017cenia.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">1. Utwardzanie automatycznie utworzonej us\u0142ugi Cloud Run<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Wcze\u015bniejsza konfiguracja App Engine Flexible dla ssGTM nierzadko prowadzi\u0142a do nadmiarowej alokacji zasob\u00f3w przy niskim ruchu i zbyt wolnego skalowania podczas nag\u0142ych skok\u00f3w obci\u0105\u017cenia \u2013 to jeden z powod\u00f3w, dla kt\u00f3rych Cloud Run zast\u0105pi\u0142 j\u0105 jako rozwi\u0105zanie domy\u015blne. Cloud Run operuje na standardowych obrazach Docker OCI (Open Container Initiative), uruchamiaj\u0105c kontener ssGTM (<code>gcr.io\/cloud-tagging-10302018\/gtm-cloud-image:stable<\/code>) w modelu serverless. Automatyczne udost\u0119pnianie pozostawia jednak us\u0142ug\u0119 z ustawieniami wystarczaj\u0105cymi do test\u00f3w, lecz nie do ruchu produkcyjnego. Opisane dalej parametry zamieniaj\u0105 ten punkt wyj\u015bcia we wdro\u017cenie, kt\u00f3re poch\u0142ania skoki obci\u0105\u017cenia w kilka sekund, zamiast gubi\u0107 hity.<\/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\/server-side-gtm-na-gcp-cloud-run-architektura-auto-scaling-pl.png\" width=\"1120\" height=\"378\" decoding=\"async\"\n     alt=\"Diagram do artyku\u0142u: min-instances, max-instances, Alokacja pami\u0119ci i CPU \u2026\">\n<figcaption>5 element\u00f3w artyku\u0142u w skr\u00f3cie: min-instances, max-instances, Alokacja pami\u0119ci i CPU, CPU Throttling \u2026.<\/figcaption>\n<\/figure>\n\n<h2 class=\"wp-block-heading\">2. Konfiguracja min-instances oraz max-instances<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Kluczem do optymalnej wydajno\u015bci w Cloud Run jest precyzyjny dob\u00f3r granic skalowania instancji. B\u0142\u0119dna konfiguracja tych parametr\u00f3w skutkuje albo gubieniem hit\u00f3w e-commerce z powodu op\u00f3\u017anie\u0144, albo gwa\u0142townym wzrostem rachunk\u00f3w chmurowych.<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li><strong>min-instances (Eliminacja \u201ecold start\u00f3w\u201d):<\/strong> W czystym modelu serverless kontener wy\u0142\u0105cza si\u0119 przy braku ruchu. Pierwsze przychodz\u0105ce \u017c\u0105danie wymusza start nowej instancji, co generuje op\u00f3\u017anienie typu \u201ecold start\u201d rz\u0119du 2 do 5 sekund. W \u015brodowiskach produkcyjnych ustawienie parametru <code>--min-instances=1<\/code> (lub wy\u017cej dla ruchu enterprise) gwarantuje sta\u0142\u0105 obecno\u015b\u0107 gotowej instancji, redukuj\u0105c latencj\u0119 do poziomu poni\u017cej 50 milisekund.<\/li>\r\n\r\n\r\n\r\n<li><strong>max-instances (Ochrona bud\u017cetu):<\/strong> Brak g\u00f3rnego limitu skalowania potrafi doprowadzi\u0107 do wyczerpania bud\u017cetu podczas atak\u00f3w DDoS lub p\u0119tli przekierowa\u0144 w systemach analitycznych. Okre\u015blenie sztywnej granicy (np. <code>--max-instances=10<\/code>) zabezpiecza limity Google Cloud Platform (GCP), jednocze\u015bnie swobodnie obs\u0142uguj\u0105c szczyty sprzeda\u017cowe podczas akcji Black Friday.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">3. Zarz\u0105dzanie pami\u0119ci\u0105, CPU Throttling i wsp\u00f3\u0142bie\u017cno\u015b\u0107 (Concurrency)<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Optymalizacja wydajno\u015bci wymaga dopasowania specyfikacji obliczeniowej do asynchronicznej natury \u015brodowiska Node.js, na kt\u00f3rym opiera si\u0119 serwerowy kontener GTM:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code># Rekomendowane polecenie wdro\u017ceniowe Cloud Run dla produkcyjnego ssGTM:\r\ngcloud run deploy sgtm-production \r\n  --image=gcr.io\/cloud-tagging-103020\/gtm-cloud-image:stable \r\n  --region=europe-west1 \r\n  --platform=managed \r\n  --allow-unauthenticated \r\n  --min-instances=2 \r\n  --max-instances=20 \r\n  --memory=512Mi \r\n  --cpu=1 \r\n  --concurrency=80 \r\n  --no-cpu-throttling \r\n  --set-env-vars=\"CONTAINER_CONFIG_BASE64=aW52YWxpZF9iYXNlNjRfZXhhbXBsZQ==\"<\/code><\/pre>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li><strong>Alokacja pami\u0119ci i CPU:<\/strong> Typowa instancja ssGTM obs\u0142uguj\u0105ca GA4, Meta Conversions API i TikTok Events potrzebuje <code>512Mi<\/code> pami\u0119ci RAM oraz <code>1 vCPU<\/code>. Przypisywanie wi\u0119kszej liczby rdzeni do jednego kontenera rzadko przynosi korzy\u015bci, poniewa\u017c skalowanie poziome radzi sobie ze wzrostem wolumenu efektywniej ni\u017c rozbudowa pionowa.<\/li>\r\n\r\n\r\n\r\n<li><strong>CPU Throttling (&#8211;no-cpu-throttling):<\/strong> Domy\u015blnie Cloud Run d\u0142awi\u0107 dost\u0119p do CPU natychmiast po zako\u0144czeniu aktywnej obs\u0142ugi \u017c\u0105dania. Poniewa\u017c ssGTM wykorzystuje operacje w tle i asynchroniczne wysy\u0142anie zapyta\u0144 (np. przekazanie danych do Meta CAPI ju\u017c po odes\u0142aniu kodu 200 OK do przegl\u0105darki), wy\u0142\u0105czenie d\u0142awienia CPU jest warunkiem koniecznym, aby unikn\u0105\u0107 przerywanych po\u0142\u0105cze\u0144 sieciowych.<\/li>\r\n\r\n\r\n\r\n<li><strong>Ustawienia wsp\u00f3\u0142bie\u017cno\u015bci (Concurrency):<\/strong> Cloud Run potrafi obs\u0142ugiwa\u0107 wiele r\u00f3wnoleg\u0142ych zapyta\u0144 w obr\u0119bie jednej instancji kontenera. Warto\u015b\u0107 <code>--concurrency=80<\/code> pozwala instancji z 512Mi pami\u0119ci przetwarza\u0107 do 80 jednoczesnych \u017c\u0105da\u0144 analitycznych przed uruchomieniem kolejnej repliki, co radykalnie obni\u017ca koszty operacyjne.<\/li>\r\n<\/ul>\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\">Wdro\u017cenie Server-Side GTM na platformie GCP Cloud Run tworzy stabiln\u0105 i skalowaln\u0105 bram\u0119 analityczn\u0105. Prawid\u0142owa konfiguracja minimalnych instancji eliminuje op\u00f3\u017anienia zwi\u0105zane z \u201ecold startami\u201d, a wy\u0142\u0105czenie d\u0142awienia procesora oraz optymalizacja wsp\u00f3\u0142bie\u017cno\u015bci zapewniaj\u0105 niezawodne przetwarzanie milion\u00f3w zdarze\u0144 e-commerce przy przewidywalnych kosztach infrastruktury.<\/p>\r\n\n\n<div class=\"lw-quellen\">\n<h2>\u0179r\u00f3d\u0142a<\/h2>\n<ul>\n<li><a href=\"https:\/\/developers.google.com\/tag-platform\/tag-manager\/server-side\" target=\"_blank\" rel=\"noopener noreferrer\">Server-side tagging overview<\/a><\/li>\n<li><a href=\"https:\/\/docs.cloud.google.com\/run\/docs\" target=\"_blank\" rel=\"noopener noreferrer\">Cloud Run documentation<\/a><\/li>\n<\/ul>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Przewodnik techniczny po migracji Server-Side GTM z App Engine do GCP Cloud Run, konfiguracji min\/max instancji, pami\u0119ci, wsp\u00f3\u0142bie\u017cno\u015bci i unikania cold start\u00f3w.<\/p>\n","protected":false},"author":1,"featured_media":10845,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[92103,92133,92136,92044,92238,92116],"class_list":["post-8830","post","type-post","status-publish","format-standard","hentry","category-digital-analytics-pl","tag-google-cloud-pl","tag-google-tag-manager-pl","tag-server-side-gtm-pl","tag-tracking-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>Server-Side GTM na GCP Cloud Run: Architektura, Auto-Scaling i optymalizacja koszt\u00f3w - 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\/server-side-gtm-gcp-cloud-run-architektura-auto-scaling\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Server-Side GTM na GCP Cloud Run: Architektura, Auto-Scaling i optymalizacja koszt\u00f3w - Lukas Wojcik - Blog\" \/>\n<meta property=\"og:description\" content=\"Przewodnik techniczny po migracji Server-Side GTM z App Engine do GCP Cloud Run, konfiguracji min\/max instancji, pami\u0119ci, wsp\u00f3\u0142bie\u017cno\u015bci i unikania cold start\u00f3w.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/server-side-gtm-gcp-cloud-run-architektura-auto-scaling\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-17T17:07:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-8830-server-side-gtm-gcp-cloud-run-architektu.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=\"3 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\\\/server-side-gtm-gcp-cloud-run-architektura-auto-scaling\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/server-side-gtm-gcp-cloud-run-architektura-auto-scaling\\\/\"},\"author\":{\"name\":\"luky\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"Server-Side GTM na GCP Cloud Run: Architektura, Auto-Scaling i optymalizacja koszt\u00f3w\",\"datePublished\":\"2026-08-17T17:07:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/server-side-gtm-gcp-cloud-run-architektura-auto-scaling\\\/\"},\"wordCount\":632,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/server-side-gtm-gcp-cloud-run-architektura-auto-scaling\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/hero-8830-server-side-gtm-gcp-cloud-run-architektu.png\",\"keywords\":[\"Google Cloud\",\"Google Tag Manager\",\"Server-Side GTM\",\"Tracking\",\"Tutorial\",\"Web Analytics\"],\"articleSection\":[\"Digital Analytics\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/server-side-gtm-gcp-cloud-run-architektura-auto-scaling\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/server-side-gtm-gcp-cloud-run-architektura-auto-scaling\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/server-side-gtm-gcp-cloud-run-architektura-auto-scaling\\\/\",\"name\":\"Server-Side GTM na GCP Cloud Run: Architektura, Auto-Scaling i optymalizacja koszt\u00f3w - Lukas Wojcik - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/server-side-gtm-gcp-cloud-run-architektura-auto-scaling\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/server-side-gtm-gcp-cloud-run-architektura-auto-scaling\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/hero-8830-server-side-gtm-gcp-cloud-run-architektu.png\",\"datePublished\":\"2026-08-17T17:07:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/server-side-gtm-gcp-cloud-run-architektura-auto-scaling\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/server-side-gtm-gcp-cloud-run-architektura-auto-scaling\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/server-side-gtm-gcp-cloud-run-architektura-auto-scaling\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/hero-8830-server-side-gtm-gcp-cloud-run-architektu.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/hero-8830-server-side-gtm-gcp-cloud-run-architektu.png\",\"width\":1200,\"height\":630,\"caption\":\"Server-Side GTM na GCP Cloud Run: Architektura, Auto-Scaling i optymalizacja koszt\u00f3w\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/server-side-gtm-gcp-cloud-run-architektura-auto-scaling\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Server-Side GTM na GCP Cloud Run: Architektura, Auto-Scaling i optymalizacja koszt\u00f3w\"}]},{\"@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":"Server-Side GTM na GCP Cloud Run: Architektura, Auto-Scaling i optymalizacja koszt\u00f3w - 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\/server-side-gtm-gcp-cloud-run-architektura-auto-scaling\/","og_locale":"en_US","og_type":"article","og_title":"Server-Side GTM na GCP Cloud Run: Architektura, Auto-Scaling i optymalizacja koszt\u00f3w - Lukas Wojcik - Blog","og_description":"Przewodnik techniczny po migracji Server-Side GTM z App Engine do GCP Cloud Run, konfiguracji min\/max instancji, pami\u0119ci, wsp\u00f3\u0142bie\u017cno\u015bci i unikania cold start\u00f3w.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/server-side-gtm-gcp-cloud-run-architektura-auto-scaling\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-08-17T17:07:00+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-8830-server-side-gtm-gcp-cloud-run-architektu.png","type":"image\/png"}],"author":"luky","twitter_card":"summary_large_image","twitter_misc":{"Written by":"luky","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/server-side-gtm-gcp-cloud-run-architektura-auto-scaling\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/server-side-gtm-gcp-cloud-run-architektura-auto-scaling\/"},"author":{"name":"luky","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"Server-Side GTM na GCP Cloud Run: Architektura, Auto-Scaling i optymalizacja koszt\u00f3w","datePublished":"2026-08-17T17:07:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/server-side-gtm-gcp-cloud-run-architektura-auto-scaling\/"},"wordCount":632,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/server-side-gtm-gcp-cloud-run-architektura-auto-scaling\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-8830-server-side-gtm-gcp-cloud-run-architektu.png","keywords":["Google Cloud","Google Tag Manager","Server-Side GTM","Tracking","Tutorial","Web Analytics"],"articleSection":["Digital Analytics"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/server-side-gtm-gcp-cloud-run-architektura-auto-scaling\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/server-side-gtm-gcp-cloud-run-architektura-auto-scaling\/","url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/server-side-gtm-gcp-cloud-run-architektura-auto-scaling\/","name":"Server-Side GTM na GCP Cloud Run: Architektura, Auto-Scaling i optymalizacja koszt\u00f3w - Lukas Wojcik - Blog","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/server-side-gtm-gcp-cloud-run-architektura-auto-scaling\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/server-side-gtm-gcp-cloud-run-architektura-auto-scaling\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-8830-server-side-gtm-gcp-cloud-run-architektu.png","datePublished":"2026-08-17T17:07:00+00:00","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/server-side-gtm-gcp-cloud-run-architektura-auto-scaling\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/server-side-gtm-gcp-cloud-run-architektura-auto-scaling\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/server-side-gtm-gcp-cloud-run-architektura-auto-scaling\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-8830-server-side-gtm-gcp-cloud-run-architektu.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-8830-server-side-gtm-gcp-cloud-run-architektu.png","width":1200,"height":630,"caption":"Server-Side GTM na GCP Cloud Run: Architektura, Auto-Scaling i optymalizacja koszt\u00f3w"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/server-side-gtm-gcp-cloud-run-architektura-auto-scaling\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Server-Side GTM na GCP Cloud Run: Architektura, Auto-Scaling i optymalizacja koszt\u00f3w"}]},{"@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\/8830","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=8830"}],"version-history":[{"count":3,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/8830\/revisions"}],"predecessor-version":[{"id":10017,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/8830\/revisions\/10017"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/10845"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=8830"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=8830"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=8830"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}