{"id":13069,"date":"2025-03-28T00:00:00","date_gmt":"2025-03-28T00:00:00","guid":{"rendered":"https:\/\/e-dialog.group\/blog\/server-side-gtm-and-first-party-mode-implementation-in-gcp\/"},"modified":"2026-02-26T13:38:32","modified_gmt":"2026-02-26T13:38:32","slug":"server-side-gtm-and-first-party-mode-implementation-in-gcp","status":"publish","type":"post","link":"https:\/\/e-dialog.group\/en\/blog\/server-side-gtm-and-first-party-mode-implementation-in-gcp\/","title":{"rendered":"Server Side Gtm And First Party Mode Implementation In Gcp"},"content":{"rendered":"<p>In my last blog article &ldquo;<a href=\"https:\/\/e-dialog.group\/blog\/digital-analytics\/server-side-gtm-und-first-party-mode-mehr-kontrolle-weniger-restriktionen\/\">Server Side GTM and First Party Mode: More control, fewer restrictions<\/a>&ldquo;I have written theoretically about the topic of Server Side GTM (ssGTM) in combination with First Party Mode (FPM). Now it will be about the practical implementation and how you can set up a quick test setup within GCP.<\/p>\n<h2>Implementation of first party mode with server side GTM in GCP<\/h2>\n<p>This test setup is intended to better understand the advantages and necessary changes for the switch to first party mode. This is a minimal setup within GCP and probably does not need to be expanded or adjusted for productive operation.<\/p>\n<p>The following is needed if you want to recreate this test setup:<\/p>\n<ul>\n<li>A GCP project with active billing and sufficient IAM rights<\/li>\n<li>A registered domain<\/li>\n<li>An ssGTM setup via Cloud Run<\/li>\n<li>A csGTM container<\/li>\n<li>A GA4 property<\/li>\n<\/ul>\n<h3>Step 1: Website Setup<\/h3>\n<p>As a test website we will use cloud storage within GCP. This service allows us to host static websites in a very simple and fast way:<a href=\"https:\/\/cloud.google.com\/storage\/docs\/hosting-static-website\">https:\/\/cloud.google.com\/storage\/docs\/hosting-static-website<\/a>.&nbsp;<\/p>\n<p>If you follow these instructions, the end result within GCP is an HTTP load balancer that routes all traffic to a cloud storage bucket. This bucket in turn contains a static HTML file, which we will customize in the following steps. Last but not least, the external IP of the load balancer was linked to our registered domain using A Record.<\/p>\n<h3>Step 2: Client Side GTM<\/h3>\n<p>For our test, we want to load the Client Side GTM (csGTM) via the ssGTM, as is generally recommended. The code example in the<a href=\"https:\/\/developers.google.com\/tag-platform\/tag-manager\/first-party\/setup-guide?setup=manual#gtm.js\">Google instructions<\/a>Unfortunately it is not entirely correct or the code snippet does not refer to the combination with ssGTM, which we want to implement here.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"264\" src=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/csgtm_code-1024x338.png\" alt=\"\" srcset=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/csgtm_code-1024x338.png 1024w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/csgtm_code-300x99.png 300w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/csgtm_code-768x253.png 768w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/csgtm_code.png 1200w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/csgtm_code.png 1216w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\"><\/p>\n<p>I have as tracking path<strong>\/metrics<\/strong>selected, but any path that has not yet been used can be selected here.<\/p>\n<h3>Step 3: Customize load balancer<\/h3>\n<p>Next, we need to customize the load balancer we created earlier. This must forward all requests that are sent to the tracking path \/metrics to the ssGTM.<\/p>\n<p>To do this, we need to create a new backend service, which in turn points to our ssGTM Cloud Run production service.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"260\" src=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/lb_backend-1024x333.png\" alt=\"\" srcset=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/lb_backend-1024x333.png 1024w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/lb_backend-300x98.png 300w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/lb_backend-768x250.png 768w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/lb_backend.png 1134w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\"><\/p>\n<p>In the code snippet above you can see that the gtm.js file is specified relatively in the csGTM code snippet. If our website has different subdomains, the Google libraries would therefore be loaded via different subdomains, which in turn is problematic for the ssGTM preview mode, as it can only be started for a specific subdomain.<\/p>\n<p>To solve this problem, we can always set the host header to the main domain in the newly created backend service. In this way, with ssGTM everything always arrives under the main domain analytics-test-1.com and subdomains are not taken into account.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"695\" height=\"215\" src=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/custom_request_header.png\" alt=\"\" srcset=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/custom_request_header.png 695w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/custom_request_header-300x93.png 300w\" sizes=\"auto, (max-width: 695px) 100vw, 695px\"><\/p>\n<p>Using developer tools and cloud logging, you can then check whether overwriting the host header actually works. You can see that the subdomain &ldquo;www&rdquo; is no longer included in the third screenshot.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"765\" height=\"482\" src=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/1_client_request.png\" alt=\"\" srcset=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/1_client_request.png 765w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/1_client_request-300x189.png 300w\" sizes=\"auto, (max-width: 765px) 100vw, 765px\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"296\" src=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/2_lb-1024x379.png\" alt=\"\" srcset=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/2_lb-1024x379.png 1024w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/2_lb-300x111.png 300w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/2_lb-768x285.png 768w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/2_lb.png 1190w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"264\" src=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/3_ssgtm-1024x338.png\" alt=\"\" srcset=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/3_ssgtm-1024x338.png 1024w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/3_ssgtm-300x99.png 300w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/3_ssgtm-768x253.png 768w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/3_ssgtm.png 1197w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\"><\/p>\n<p>My guess is (but not yet tested) that you could do without the custom request header if you simply load the csGTM via an absolute path. In our case via: https:\/\/analytics-test-1.com\/metrics\/gtm.js?id= instead of just via: \/metrics\/gtm.js?id=<\/p>\n<p>The last necessary adjustment to the load balancer is to add a new routing rule. This will forward the tracking requests from \/metrics to the ssGTM.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"298\" src=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/routing_rule-1024x382.png\" alt=\"\" srcset=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/routing_rule-1024x382.png 1024w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/routing_rule-300x112.png 300w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/routing_rule-768x287.png 768w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/routing_rule.png 1200w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/routing_rule.png 1217w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\"><\/p>\n<p>The setup can then be tested using these two URLs, both should return &ldquo;ok&rdquo;.<\/p>\n<p>https:\/\/analytics-test-1.com\/metrics\/healthy<\/p>\n<p>https:\/\/analytics-test-1.com\/metrics\/?validate_geo=healthy<\/p>\n<h3>Step 4: Customize GTMs<\/h3>\n<p>In the csGTM, the server URL must now be adjusted in the GA4 Config tag.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"284\" src=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/server_url-1024x363.png\" alt=\"\" srcset=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/server_url-1024x363.png 1024w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/server_url-300x106.png 300w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/server_url-768x272.png 768w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/server_url.png 1159w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\"><\/p>\n<p>The GA4 client in ssGTM must have &ldquo;Default GA4 paths&rdquo; enabled, and the GTM client must allow &ldquo;Automatically serve all dependent Google scripts&rdquo;. Furthermore, the ID of the csGTM must be entered.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"616\" height=\"445\" src=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/ga4_default.png\" alt=\"\" srcset=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/ga4_default.png 616w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/ga4_default-300x217.png 300w\" sizes=\"auto, (max-width: 616px) 100vw, 616px\"><img loading=\"lazy\" decoding=\"async\" width=\"527\" height=\"447\" src=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/gtm_client.png\" alt=\"\" srcset=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/gtm_client.png 527w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/gtm_client-300x254.png 300w\" sizes=\"auto, (max-width: 527px) 100vw, 527px\"><\/p>\n<p>In order for the preview mode to work, the server container URL must be adjusted in ssGTM.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"395\" height=\"487\" src=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/ssgtm_preview.png\" alt=\"\" srcset=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/ssgtm_preview.png 395w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/ssgtm_preview-243x300.png 243w\" sizes=\"auto, (max-width: 395px) 100vw, 395px\"><\/p>\n<h3>Step 5: Testing<\/h3>\n<p>To check whether the csGTM, the GTag library and the GA4 tracking requests are sent to the ssGTM via the new tracking path, just look at the Network tab of the Dev Tools.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"192\" src=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/testing-1024x246.png\" alt=\"\" srcset=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/testing-1024x246.png 1024w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/testing-300x72.png 300w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/testing-768x184.png 768w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/testing.png 1200w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/testing.png 1222w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\"><\/p>\n<p>Here we can see that all tracking happens via the new \/metrics path.<\/p>\n<h3>Notice<\/h3>\n<p>One last note: Officially, the first party mode is in beta mode (as of December 30, 2024). During testing with the setup described above, everything worked as expected and I didn&rsquo;t notice any problems.<\/p>\n<p>Nonetheless, as always, I would recommend allowing some time to validate the collected data after switching to first party mode to ensure that everything is working as intended.<\/p>\n<h2>Conclusion<\/h2>\n<p>The combination of Server Side GTM and First Party Mode offers advantages in terms of data protection and flexibility. With these instructions, technically experienced people can create a minimal setup in order to gain initial experience with it.<\/p>\n<h3>Interest? Contact us:<a href=\"mailto:kontakt@e-dialog.group\">kontakt@e-dialog.group<\/a><\/h3>\n<p>all graphics &ndash; source: e-dialog<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The term \u201cFirst Party Mode\u201d is being heard more and more frequently in our industry. But for many people it is not always entirely clear what the setup looks like and, above all, how it can be combined with an existing Server Side GTM. This article shows a quick test setup in GCP to gain initial experience with this new topic.<\/p>\n","protected":false},"author":1,"featured_media":4804,"comment_status":"closed","ping_status":"open","sticky":false,"template":"post-old.php","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[5,445],"channel":[],"goal":[463],"technology":[40,38],"c-year":[7],"class_list":{"0":"post-13069","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","6":"hentry","7":"category-analytics","9":"goal-digital-strategy","10":"technology-google-cloud-platform","11":"technology-google-tag-manager","12":"c-year-7"},"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.5 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Server Side Gtm And First Party Mode Implementation In Gcp - e-dialog<\/title>\n<meta name=\"description\" content=\"The term \u201cFirst Party Mode\u201d is being heard more and more frequently in our industry. But for many people it is not always entirely clear what the setup looks like and, above all, how it can be combined with an existing Server Side GTM. This article shows a quick test setup in GCP to gain initial experience with this new topic.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/e-dialog.group\/en\/blog\/server-side-gtm-and-first-party-mode-implementation-in-gcp\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Server Side Gtm And First Party Mode Implementation In Gcp\" \/>\n<meta property=\"og:description\" content=\"The term \u201cFirst Party Mode\u201d is being heard more and more frequently in our industry. But for many people it is not always entirely clear what the setup looks like and, above all, how it can be combined with an existing Server Side GTM. This article shows a quick test setup in GCP to gain initial experience with this new topic.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/e-dialog.group\/en\/blog\/server-side-gtm-and-first-party-mode-implementation-in-gcp\/\" \/>\n<meta property=\"og:site_name\" content=\"e-dialog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/edialog.group\" \/>\n<meta property=\"article:published_time\" content=\"2025-03-28T00:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-26T13:38:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/cookie-banner-ch.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2200\" \/>\n\t<meta property=\"og:image:height\" content=\"1180\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"digitalists\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"digitalists\" \/>\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:\\\/\\\/e-dialog.group\\\/en\\\/blog\\\/server-side-gtm-and-first-party-mode-implementation-in-gcp\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/blog\\\/server-side-gtm-and-first-party-mode-implementation-in-gcp\\\/\"},\"author\":{\"name\":\"digitalists\",\"@id\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/#\\\/schema\\\/person\\\/7b481e2ac90c21e4dc393821d35bb518\"},\"headline\":\"Server Side Gtm And First Party Mode Implementation In Gcp\",\"datePublished\":\"2025-03-28T00:00:00+00:00\",\"dateModified\":\"2026-02-26T13:38:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/blog\\\/server-side-gtm-and-first-party-mode-implementation-in-gcp\\\/\"},\"wordCount\":829,\"publisher\":{\"@id\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/blog\\\/server-side-gtm-and-first-party-mode-implementation-in-gcp\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/e-dialog.group\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/cookie-banner-ch.png\",\"articleSection\":[\"Analytics\",\"Analytics\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/blog\\\/server-side-gtm-and-first-party-mode-implementation-in-gcp\\\/\",\"url\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/blog\\\/server-side-gtm-and-first-party-mode-implementation-in-gcp\\\/\",\"name\":\"Server Side Gtm And First Party Mode Implementation In Gcp - e-dialog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/blog\\\/server-side-gtm-and-first-party-mode-implementation-in-gcp\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/blog\\\/server-side-gtm-and-first-party-mode-implementation-in-gcp\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/e-dialog.group\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/cookie-banner-ch.png\",\"datePublished\":\"2025-03-28T00:00:00+00:00\",\"dateModified\":\"2026-02-26T13:38:32+00:00\",\"description\":\"The term \u201cFirst Party Mode\u201d is being heard more and more frequently in our industry. But for many people it is not always entirely clear what the setup looks like and, above all, how it can be combined with an existing Server Side GTM. This article shows a quick test setup in GCP to gain initial experience with this new topic.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/blog\\\/server-side-gtm-and-first-party-mode-implementation-in-gcp\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/e-dialog.group\\\/en\\\/blog\\\/server-side-gtm-and-first-party-mode-implementation-in-gcp\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/blog\\\/server-side-gtm-and-first-party-mode-implementation-in-gcp\\\/#primaryimage\",\"url\":\"https:\\\/\\\/e-dialog.group\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/cookie-banner-ch.png\",\"contentUrl\":\"https:\\\/\\\/e-dialog.group\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/cookie-banner-ch.png\",\"width\":2200,\"height\":1180,\"caption\":\"|\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/blog\\\/server-side-gtm-and-first-party-mode-implementation-in-gcp\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Server Side Gtm And First Party Mode Implementation In Gcp\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/\",\"name\":\"e-dialog\",\"description\":\"Data-driven Marketing &amp; Strategie\",\"publisher\":{\"@id\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/#organization\",\"name\":\"e-dialog\",\"url\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/e-dialog.group\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/e-dialog-logo.svg\",\"contentUrl\":\"https:\\\/\\\/e-dialog.group\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/e-dialog-logo.svg\",\"width\":1,\"height\":1,\"caption\":\"e-dialog\"},\"image\":{\"@id\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/edialog.group\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/e-dialog-gmbh\\\/\",\"https:\\\/\\\/www.instagram.com\\\/e_dialog\\\/\",\"https:\\\/\\\/www.tiktok.com\\\/@e_dialog\"],\"description\":\"Bei e-dialog gestalteten wir gemeinsam die Zukunft des data-driven Marketings - mit einem gro\u00dfartigen Team aus passionierten Expert*innen.\",\"email\":\"kontakt@e-dialog.group\",\"telephone\":\"+43 1 309 09 09\",\"legalName\":\"e-dialog GmbH\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/#\\\/schema\\\/person\\\/7b481e2ac90c21e4dc393821d35bb518\",\"name\":\"digitalists\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8acd1abfb5ef9f78793e3164334d4533968653b26cbd89b6cf0eb4e5483434e4?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8acd1abfb5ef9f78793e3164334d4533968653b26cbd89b6cf0eb4e5483434e4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8acd1abfb5ef9f78793e3164334d4533968653b26cbd89b6cf0eb4e5483434e4?s=96&d=mm&r=g\",\"caption\":\"digitalists\"},\"sameAs\":[\"https:\\\/\\\/e-dialog.group\"],\"url\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/blog\\\/author\\\/digitalists\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Server Side Gtm And First Party Mode Implementation In Gcp - e-dialog","description":"The term \u201cFirst Party Mode\u201d is being heard more and more frequently in our industry. But for many people it is not always entirely clear what the setup looks like and, above all, how it can be combined with an existing Server Side GTM. This article shows a quick test setup in GCP to gain initial experience with this new topic.","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:\/\/e-dialog.group\/en\/blog\/server-side-gtm-and-first-party-mode-implementation-in-gcp\/","og_locale":"en_US","og_type":"article","og_title":"Server Side Gtm And First Party Mode Implementation In Gcp","og_description":"The term \u201cFirst Party Mode\u201d is being heard more and more frequently in our industry. But for many people it is not always entirely clear what the setup looks like and, above all, how it can be combined with an existing Server Side GTM. This article shows a quick test setup in GCP to gain initial experience with this new topic.","og_url":"https:\/\/e-dialog.group\/en\/blog\/server-side-gtm-and-first-party-mode-implementation-in-gcp\/","og_site_name":"e-dialog","article_publisher":"https:\/\/www.facebook.com\/edialog.group","article_published_time":"2025-03-28T00:00:00+00:00","article_modified_time":"2026-02-26T13:38:32+00:00","og_image":[{"width":2200,"height":1180,"url":"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/cookie-banner-ch.png","type":"image\/png"}],"author":"digitalists","twitter_card":"summary_large_image","twitter_misc":{"Written by":"digitalists","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/e-dialog.group\/en\/blog\/server-side-gtm-and-first-party-mode-implementation-in-gcp\/#article","isPartOf":{"@id":"https:\/\/e-dialog.group\/en\/blog\/server-side-gtm-and-first-party-mode-implementation-in-gcp\/"},"author":{"name":"digitalists","@id":"https:\/\/e-dialog.group\/en\/#\/schema\/person\/7b481e2ac90c21e4dc393821d35bb518"},"headline":"Server Side Gtm And First Party Mode Implementation In Gcp","datePublished":"2025-03-28T00:00:00+00:00","dateModified":"2026-02-26T13:38:32+00:00","mainEntityOfPage":{"@id":"https:\/\/e-dialog.group\/en\/blog\/server-side-gtm-and-first-party-mode-implementation-in-gcp\/"},"wordCount":829,"publisher":{"@id":"https:\/\/e-dialog.group\/en\/#organization"},"image":{"@id":"https:\/\/e-dialog.group\/en\/blog\/server-side-gtm-and-first-party-mode-implementation-in-gcp\/#primaryimage"},"thumbnailUrl":"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/cookie-banner-ch.png","articleSection":["Analytics","Analytics"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/e-dialog.group\/en\/blog\/server-side-gtm-and-first-party-mode-implementation-in-gcp\/","url":"https:\/\/e-dialog.group\/en\/blog\/server-side-gtm-and-first-party-mode-implementation-in-gcp\/","name":"Server Side Gtm And First Party Mode Implementation In Gcp - e-dialog","isPartOf":{"@id":"https:\/\/e-dialog.group\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/e-dialog.group\/en\/blog\/server-side-gtm-and-first-party-mode-implementation-in-gcp\/#primaryimage"},"image":{"@id":"https:\/\/e-dialog.group\/en\/blog\/server-side-gtm-and-first-party-mode-implementation-in-gcp\/#primaryimage"},"thumbnailUrl":"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/cookie-banner-ch.png","datePublished":"2025-03-28T00:00:00+00:00","dateModified":"2026-02-26T13:38:32+00:00","description":"The term \u201cFirst Party Mode\u201d is being heard more and more frequently in our industry. But for many people it is not always entirely clear what the setup looks like and, above all, how it can be combined with an existing Server Side GTM. This article shows a quick test setup in GCP to gain initial experience with this new topic.","breadcrumb":{"@id":"https:\/\/e-dialog.group\/en\/blog\/server-side-gtm-and-first-party-mode-implementation-in-gcp\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/e-dialog.group\/en\/blog\/server-side-gtm-and-first-party-mode-implementation-in-gcp\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/e-dialog.group\/en\/blog\/server-side-gtm-and-first-party-mode-implementation-in-gcp\/#primaryimage","url":"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/cookie-banner-ch.png","contentUrl":"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/cookie-banner-ch.png","width":2200,"height":1180,"caption":"|"},{"@type":"BreadcrumbList","@id":"https:\/\/e-dialog.group\/en\/blog\/server-side-gtm-and-first-party-mode-implementation-in-gcp\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/e-dialog.group\/en\/"},{"@type":"ListItem","position":2,"name":"Server Side Gtm And First Party Mode Implementation In Gcp"}]},{"@type":"WebSite","@id":"https:\/\/e-dialog.group\/en\/#website","url":"https:\/\/e-dialog.group\/en\/","name":"e-dialog","description":"Data-driven Marketing &amp; Strategie","publisher":{"@id":"https:\/\/e-dialog.group\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/e-dialog.group\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/e-dialog.group\/en\/#organization","name":"e-dialog","url":"https:\/\/e-dialog.group\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/e-dialog.group\/en\/#\/schema\/logo\/image\/","url":"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/06\/e-dialog-logo.svg","contentUrl":"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/06\/e-dialog-logo.svg","width":1,"height":1,"caption":"e-dialog"},"image":{"@id":"https:\/\/e-dialog.group\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/edialog.group","https:\/\/www.linkedin.com\/company\/e-dialog-gmbh\/","https:\/\/www.instagram.com\/e_dialog\/","https:\/\/www.tiktok.com\/@e_dialog"],"description":"Bei e-dialog gestalteten wir gemeinsam die Zukunft des data-driven Marketings - mit einem gro\u00dfartigen Team aus passionierten Expert*innen.","email":"kontakt@e-dialog.group","telephone":"+43 1 309 09 09","legalName":"e-dialog GmbH"},{"@type":"Person","@id":"https:\/\/e-dialog.group\/en\/#\/schema\/person\/7b481e2ac90c21e4dc393821d35bb518","name":"digitalists","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/8acd1abfb5ef9f78793e3164334d4533968653b26cbd89b6cf0eb4e5483434e4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/8acd1abfb5ef9f78793e3164334d4533968653b26cbd89b6cf0eb4e5483434e4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8acd1abfb5ef9f78793e3164334d4533968653b26cbd89b6cf0eb4e5483434e4?s=96&d=mm&r=g","caption":"digitalists"},"sameAs":["https:\/\/e-dialog.group"],"url":"https:\/\/e-dialog.group\/en\/blog\/author\/digitalists\/"}]}},"_links":{"self":[{"href":"https:\/\/e-dialog.group\/en\/wp-json\/wp\/v2\/posts\/13069","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/e-dialog.group\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/e-dialog.group\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/e-dialog.group\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/e-dialog.group\/en\/wp-json\/wp\/v2\/comments?post=13069"}],"version-history":[{"count":1,"href":"https:\/\/e-dialog.group\/en\/wp-json\/wp\/v2\/posts\/13069\/revisions"}],"predecessor-version":[{"id":13514,"href":"https:\/\/e-dialog.group\/en\/wp-json\/wp\/v2\/posts\/13069\/revisions\/13514"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/e-dialog.group\/en\/wp-json\/wp\/v2\/media\/4804"}],"wp:attachment":[{"href":"https:\/\/e-dialog.group\/en\/wp-json\/wp\/v2\/media?parent=13069"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/e-dialog.group\/en\/wp-json\/wp\/v2\/categories?post=13069"},{"taxonomy":"channel","embeddable":true,"href":"https:\/\/e-dialog.group\/en\/wp-json\/wp\/v2\/channel?post=13069"},{"taxonomy":"goal","embeddable":true,"href":"https:\/\/e-dialog.group\/en\/wp-json\/wp\/v2\/goal?post=13069"},{"taxonomy":"technology","embeddable":true,"href":"https:\/\/e-dialog.group\/en\/wp-json\/wp\/v2\/technology?post=13069"},{"taxonomy":"c-year","embeddable":true,"href":"https:\/\/e-dialog.group\/en\/wp-json\/wp\/v2\/c-year?post=13069"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}