{"id":10518,"date":"2026-08-22T07:15:00","date_gmt":"2026-08-22T05:15:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/?p=10518"},"modified":"2026-10-24T04:25:35","modified_gmt":"2026-10-24T02:25:35","slug":"google-tag-gateway-what-it-changes-in-a-measurement-request","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/google-tag-gateway-what-it-changes-in-a-measurement-request\/","title":{"rendered":"Google Tag Gateway: What It Changes in a Measurement Request and How It Differs From Server-Side Tagging"},"content":{"rendered":"<p>Google tag gateway for advertisers serves Google scripts and routes supported measurement requests through infrastructure on the website\u2019s own domain. Google announced general availability of the Google Cloud integration on 1 June 2026 and a guided Amazon CloudFront setup on 3 June. These deployment options change the delivery route; server-side Tag Manager adds a configurable event-processing layer.<\/p>\n<p id=\"gtm-update-20261019\"><strong>Update \u2014 19.10.2026:<\/strong> The October optimization concerns tag configuration independently of the gateway route. An optimized GTM container can send Google measurements without loading an additional gtag.js. The deployed gateway snippet determines the actual script path; a first-party path does not by itself select or optimize the tag configuration. <a href=\"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/google-tag-manager-google-tag-merge-2026\/\">The October changes to Google tag and GTM<\/a>.<\/p>\n<figure class=\"lw-diagram\"><img decoding=\"async\" alt=\"Routing and event processing differ. The gateway covers supported requests; Analytics traffic from the EEA follows a documented direct route. Server-side processing needs explicit configuration.\" height=\"580\" loading=\"lazy\" src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/quality-10518-20261024.png\" width=\"1120\"\/><figcaption>Routing and event processing differ. The gateway covers supported requests; Analytics traffic from the EEA follows a documented direct route. Server-side processing needs explicit configuration.<\/figcaption><\/figure>\n<h2>What the gateway routes\u2014and what it does not<\/h2>\n<p>A content delivery network (CDN), load balancer or web server accepts a request on a reserved path and forwards it to the configured Google gateway endpoint. This reverse-proxy arrangement makes the browser-facing request use the website\u2019s domain. Google remains a recipient of forwarded measurement data.<\/p>\n<p>The setup guide deliberately says that <em>some<\/em> measurement requests use this route. Google\u2019s location documentation specifies an important exception: for visitors in the European Economic Area, Google Analytics measurement goes directly to regional Google endpoints and bypasses the CDN path. Google Ads conversion hits still use the gateway. A first-party script URL therefore does not prove that every subsequent connection stays on the same origin.<\/p>\n<p>The generated deployment snippet is authoritative for the script URL. The current manual guide illustrates a standalone script at <code>\/metrics\/<\/code> and a GTM script at <code>\/metrics\/?id=...<\/code>. Paths such as <code>\/metrics\/gtag\/js<\/code> are not universal requirements. A configured collection path also need not reveal the precise event protocol by its name.<\/p>\n<h2>Routing and event processing serve different purposes<\/h2>\n<p>A standard gateway setup is not a GTM server container with configurable clients, event transformations and destination tags. That does not make its requests technically unreadable or immutable: the infrastructure can change headers and routing, and a separately implemented proxy could filter traffic. Such changes need their own design and compatibility checks.<\/p>\n<p>With server-side GTM, a client parses the incoming request into event data. Configured transformations can allow, exclude or modify parameters before selected tags use that data. Triggers and tags determine subsequent sending. These controls have to be configured and tested; a server container does not automatically remove sensitive fields or repair collection that already occurred in the browser.<\/p>\n<table style=\"width:100%;border-collapse:collapse\"><thead><tr><th>Aspect<\/th><th>Standard gateway<\/th><th>Server-side GTM<\/th><\/tr><\/thead><tbody><tr><td>Browser role<\/td><td>Google script still runs and collects in the browser<\/td><td>Browser collection is usually still needed for page interactions<\/td><\/tr><tr><td>Server role<\/td><td>Serving and forwarding infrastructure<\/td><td>Clients, event data, transformations, triggers and tags<\/td><\/tr><tr><td>Custom event minimization<\/td><td>No built-in GTM transformation layer<\/td><td>Possible through configured processing<\/td><\/tr><tr><td>Own domain<\/td><td>Configured website path<\/td><td>Requires suitable domain and endpoint configuration<\/td><\/tr><tr><td>Operations<\/td><td>Routing, headers, availability, logs and provider costs<\/td><td>Container versions, templates, capacity, security and costs<\/td><\/tr><\/tbody><\/table>\n<p>Minimization should begin before unnecessary data are collected. Browser-side configuration can omit fields too. Hashing alone does not automatically make a personal identifier anonymous. The right architecture depends on destinations, data controls, maintenance and measured reliability; neither option guarantees the whole task at a fixed lower price.<\/p>\n<h2>Cookie forwarding is not the same as cookie storage<\/h2>\n<p>Requests to the website\u2019s domain can carry cookies whose scope and browser rules match the request. That can include shop session or login cookies. Google\u2019s cookie-handling documentation says the website forwards first-party cookies and the gateway uses only Google first-party cookies; forwarded non-Google cookies are dropped and are not processed or stored by Google.<\/p>\n<p>This description does not establish that those cookies never reach a Google-operated endpoint. CDN forwarding, access logs and gateway processing are separate stages. The actual route and cookie handling need inspection; a first-party hostname is not proof that all data remain within the website\u2019s own infrastructure.<\/p>\n<h2>Set-Cookie does not guarantee a lifetime in Safari<\/h2>\n<p>The writing mechanism matters, but it is not the only condition. WebKit describes removal of script-writeable storage after seven days without user interaction and stricter treatment in some link-decoration cases. It also limits cookies set in HTTP responses when third-party CNAME or IP-address cloaking is detected. Consequently, a <code>Set-Cookie<\/code> header does not guarantee that the requested <code>Max-Age<\/code> will be preserved.<\/p>\n<p>A single <code>curl -I<\/code> request cannot settle how the installation creates cookies. The option sends HEAD, not the browser\u2019s actual measurement request. A missing header can mean that no new cookie was needed, that another response sets it or that the test request was incomplete. It does not prove JavaScript creation.<\/p>\n<p>A useful check records the actual browser request and response, any redirect chain, cookie state before and after, acceptance or rejection reasons and the relevant browser settings. JavaScript writes require separate inspection. Appearance after a tag starts is insufficient: the tag may have triggered a server response. Long-term retention needs observation under the intended browser conditions, not just a displayed expiry date.<\/p>\n<h2>Deployment details that affect the result<\/h2>\n<p>For a manual setup, each distinct standalone tag or container needs an unused path and matching endpoint. The path cannot be the root and must be at most 100 characters. The manual examples derive an endpoint such as <code>g-12345.fps.goog<\/code> or <code>gtm-abcdef.fps.goog<\/code>; some provider integrations instead use <code>fps.goog<\/code> with a tag-ID header. The relevant provider instructions determine Host handling, query strings, cookies, methods and caching.<\/p>\n<p>Location headers matter for reporting and region-specific consent defaults. The preferred country\/region form is <code>X-Forwarded-CountryRegion: US-CA<\/code>; the alternative uses <code>X-Forwarded-Country<\/code> and, when available, <code>X-Forwarded-Region<\/code>. The combined form takes precedence. The documentation also describes <code>X-Forwarded-Geolocation<\/code> for available city and coordinate information.<\/p>\n<p>The transport connection to Google can originate at the CDN while an explicit header carries the original client IP. These are different facts. Google instructs accurate forwarding through a header such as <code>X-Forwarded-For<\/code>. Trusted proxy configuration must establish the actual client value; an arbitrary browser-supplied header is not an authoritative source.<\/p>\n<figure style=\"--cbb-digits:1\" class=\"cbb cbb--wrap wp-block-code-beautifier-block-code\" data-lang=\"plain\"><figcaption class=\"cbb-head\"><span class=\"cbb-lang\">Text<\/span><span class=\"cbb-actions\"><button type=\"button\" class=\"cbb-button cbb-button--wrap\" data-cbb-action=\"wrap\" aria-pressed=\"true\" title=\"Wrap long lines\"><svg aria-hidden=\"true\" focusable=\"false\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><path d=\"M2 4h12M2 8h9.5a2.5 2.5 0 0 1 0 5H8m0 0 1.5-1.5M8 13l1.5 1.5M2 12h3\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><span class=\"cbb-sr\">Wrap long lines<\/span><\/button><button type=\"button\" class=\"cbb-button cbb-button--copy\" data-cbb-action=\"copy\" data-cbb-done=\"Copied\" data-cbb-failed=\"Press Ctrl+C to copy\"><svg aria-hidden=\"true\" focusable=\"false\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><rect x=\"5.5\" y=\"5.5\" width=\"8\" height=\"8.5\" rx=\"1.5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"\/><path d=\"M10.5 3.5V3A1.5 1.5 0 0 0 9 1.5H4A1.5 1.5 0 0 0 2.5 3v6.5A1.5 1.5 0 0 0 4 11h.5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"\/><\/svg><span class=\"cbb-button-label\" aria-live=\"polite\">Copy<\/span><\/button><\/span><\/figcaption><pre class=\"cbb-pre\" tabindex=\"0\"><code class=\"cbb-code language-plain\" style=\"counter-reset:cbb-line 0;\"><span class=\"cbb-line\">https:\/\/shop.example\/metrics\/healthy\n<\/span><span class=\"cbb-line\">https:\/\/shop.example\/metrics\/?validate_geo=healthy<\/span><\/code><\/pre><\/figure>\n<p>These example addresses check route health and geolocation-header handling. An <code>ok<\/code> response does not prove correct consent behavior, cookie lifetime or receipt of every event. Tag Assistant and actual network observations provide the next checks. The gateway does not support GTM\u2019s <code>&lt;noscript&gt;<\/code> snippet; that fallback continues to use the standard Google host when present.<\/p>\n<h2>Combining the gateway with server-side tagging<\/h2>\n<p>Google documents a combined design with one first-party path for scripts and another for collection. The script route goes to Google; the collection route goes to the tagging server, where configured processing precedes destination requests. A tagging server can also serve supported Google scripts directly. Adding a gateway is therefore not the only way to serve scripts from the website\u2019s own domain.<\/p>\n<p>Routing changes can affect blocking and collection, but no recovery percentage follows from the architecture alone. Filter behavior varies by browser, extension, list version and request. An observed increase in recorded conversions is also not proof of more actual purchases.<\/p>\n<p>A controlled comparison can help estimate measurement effects. Stable assignment, avoidance of duplicate sending, equivalent consent conditions and a separately defined business outcome are important. Duration follows traffic volume, delayed conversions and the required precision; two weeks is not a universal guarantee. Before\/after comparisons require additional caution about seasonality and simultaneous changes.<\/p>\n<div class=\"lw-gtm-related\" id=\"gtm-related-links-20261020\" style=\"margin:20px 0;color:var(--text-secondary);line-height:1.6;\"><p><strong>Related guides and tools:<\/strong><\/p><ul><li><a href=\"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/tutorials\/tutorial-migrating-e-commerce-analytics-from-client-side-to-server-side-gtm\/\">Migrating to server-side GTM<\/a> \u2013 browser endpoint configuration and a controlled transition.<\/li>\n<li><a href=\"https:\/\/www.lukaswojcik.com\/blog\/en\/toolbox\/csp-header-generator-tracking-linter\/\">CSP Header Generator<\/a> \u2013 preparing provider and endpoint permissions.<\/li>\n<li><a href=\"https:\/\/www.lukaswojcik.com\/blog\/en\/toolbox\/page-tracker-consent-scanner\/\">Tracking and Consent Scanner<\/a> \u2013 recognized tracking and consent markers in delivered HTML.<\/li><\/ul><\/div>\n<div class=\"lw-faq\"><h2>Questions and answers<\/h2><h3>Does the gateway replace consent configuration?<\/h3><p>No. Consent settings and banner rules must cover the actual generated script and collection paths. Pending, denied and granted states need checks. Simultaneous container optimization can alter behavior independently of the hostname change.<\/p><h3>How can blocking be checked?<\/h3><p>A controlled browser test with a recorded blocker and filter-list version can compare actual requests. A blocked request may appear as <code>net::ERR_BLOCKED_BY_CLIENT<\/code>. The result applies to that setup and date, not every audience or later list version.<\/p><h3>Can Google hosts be removed from the Content Security Policy?<\/h3><p>Only a path on exactly the same origin can be covered by an appropriate <code>'self'<\/code> source expression. Another subdomain is a different origin. Actual script, measurement, preview and destination connections determine the required directives; the EEA Analytics exception is relevant. Report-Only observations and consent-state tests are needed before removing permissions.<\/p><\/div><div class=\"lw-quellen\">\n<h2>Sources<\/h2>\n<ul>\n<li><a href=\"https:\/\/developers.google.com\/tag-platform\/tag-manager\/server-side\" rel=\"noopener noreferrer\" target=\"_blank\">Server-side tagging<\/a><\/li>\n<li><a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc9110.html\" rel=\"noopener noreferrer\" target=\"_blank\">RFC 9110: HTTP Semantics<\/a><\/li>\n<li><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/HTTP\/Reference\/Headers\/Set-Cookie\" rel=\"noopener noreferrer\" target=\"_blank\">MDN: Set-Cookie<\/a><\/li>\n<li><a href=\"https:\/\/developers.google.com\/tag-platform\/tag-manager\/gateway\/setup-guide?setup=manual\" rel=\"noopener noreferrer\" target=\"_blank\">Set up Google tag gateway for advertisers<\/a><\/li>\n<li><a href=\"https:\/\/support.google.com\/tagmanager\/answer\/17141867?hl=en\" rel=\"noopener noreferrer\" target=\"_blank\">How Google tag gateway for advertisers sets location<\/a><\/li>\n<li><a href=\"https:\/\/support.google.com\/tagmanager\/answer\/4620708?hl=en\">Google Tag Manager: release notes, 8 and 12 October 2026<\/a><\/li><li><a href=\"https:\/\/support.google.com\/tagmanager\/answer\/17079602?hl=en\">Google tag and Tag Manager: unified configuration<\/a><\/li><li><a href=\"https:\/\/support.google.com\/tagmanager\/answer\/17231523?hl=en\">Google tag: supported installation methods<\/a><\/li><li><a href=\"https:\/\/support.google.com\/tagmanager\/answer\/15756616?hl=en\">Google tag in Tag Manager: setup and initialization<\/a><\/li><li><a href=\"https:\/\/support.google.com\/tagmanager\/answer\/16960855?hl=en\" rel=\"noopener noreferrer\" target=\"_blank\">Google: Cookie handling<\/a><\/li><li><a href=\"https:\/\/webkit.org\/tracking-prevention\/\" rel=\"noopener noreferrer\" target=\"_blank\">WebKit: Tracking Prevention<\/a><\/li><li><a href=\"https:\/\/developers.google.com\/tag-platform\/tag-manager\/server-side\/transformations\" rel=\"noopener noreferrer\" target=\"_blank\">Google: Transformations<\/a><\/li><li><a href=\"https:\/\/developers.google.com\/tag-platform\/tag-manager\/server-side\/dependency-serving?option=cdn&amp;tag=gtag\" rel=\"noopener noreferrer\" target=\"_blank\">Google: Gateway and server-side tagging<\/a><\/li><li><a href=\"https:\/\/curl.se\/docs\/manpage.html\" rel=\"noopener noreferrer\" target=\"_blank\">curl: HTTP HEAD<\/a><\/li><\/ul>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Google Tag Gateway routes supported requests through the website\u2019s infrastructure. Server-side GTM adds configurable event processing. The distinction matters for EEA Analytics routing, cookie handling, consent checks and measurement tests.<\/p>\n","protected":false},"author":1,"featured_media":15203,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[91285,91570,91061],"class_list":["post-10518","post","type-post","status-publish","format-standard","hentry","category-digital-analytics","tag-first-party-data","tag-google-tag-gateway","tag-server-side-gtm"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Google Tag Gateway: What It Changes in a Measurement Request and How It Differs From Server-Side Tagging | Lukas Wojcik<\/title>\n<meta name=\"description\" content=\"Google tag gateway routes scripts and measurements through first-party infrastructure. How it differs from server-side processing, consent and CSP.\" \/>\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\/en\/digital-analytics\/google-tag-gateway-what-it-changes-in-a-measurement-request\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Google Tag Gateway: What It Changes in a Measurement Request and How It Differs From Server-Side Tagging | Lukas Wojcik\" \/>\n<meta property=\"og:description\" content=\"Google tag gateway routes scripts and measurements through first-party infrastructure. How it differs from server-side processing, consent and CSP.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/google-tag-gateway-what-it-changes-in-a-measurement-request\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-22T05:15:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-24T02:25:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10518-tag-gateway-changes-the-host-not-the-n.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:description\" content=\"Google tag gateway routes scripts and measurements through first-party infrastructure. How it differs from server-side processing, consent and CSP.\" \/>\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\\\/en\\\/digital-analytics\\\/google-tag-gateway-what-it-changes-in-a-measurement-request\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/google-tag-gateway-what-it-changes-in-a-measurement-request\\\/\"},\"author\":{\"name\":\"Lukas Wojcik\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"Google Tag Gateway: What It Changes in a Measurement Request and How It Differs From Server-Side Tagging\",\"datePublished\":\"2026-08-22T05:15:00+00:00\",\"dateModified\":\"2026-10-24T02:25:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/google-tag-gateway-what-it-changes-in-a-measurement-request\\\/\"},\"wordCount\":1460,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/google-tag-gateway-what-it-changes-in-a-measurement-request\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-10518-tag-gateway-changes-the-host-not-the-n.png\",\"keywords\":[\"First-Party Data\",\"Google Tag Gateway\",\"Server-Side GTM\"],\"articleSection\":[\"Digital Analytics\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/google-tag-gateway-what-it-changes-in-a-measurement-request\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/google-tag-gateway-what-it-changes-in-a-measurement-request\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/google-tag-gateway-what-it-changes-in-a-measurement-request\\\/\",\"name\":\"Google Tag Gateway: What It Changes in a Measurement Request and How It Differs From Server-Side Tagging | Lukas Wojcik\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/google-tag-gateway-what-it-changes-in-a-measurement-request\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/google-tag-gateway-what-it-changes-in-a-measurement-request\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-10518-tag-gateway-changes-the-host-not-the-n.png\",\"datePublished\":\"2026-08-22T05:15:00+00:00\",\"dateModified\":\"2026-10-24T02:25:35+00:00\",\"description\":\"Google tag gateway routes scripts and measurements through first-party infrastructure. How it differs from server-side processing, consent and CSP.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/google-tag-gateway-what-it-changes-in-a-measurement-request\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/google-tag-gateway-what-it-changes-in-a-measurement-request\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/google-tag-gateway-what-it-changes-in-a-measurement-request\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-10518-tag-gateway-changes-the-host-not-the-n.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-10518-tag-gateway-changes-the-host-not-the-n.png\",\"width\":1200,\"height\":630,\"caption\":\"Google Tag Gateway: What It Changes in a Measurement Request and How It Differs From Server-Side Tagging\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/google-tag-gateway-what-it-changes-in-a-measurement-request\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Google Tag Gateway: What It Changes in a Measurement Request and How It Differs From Server-Side Tagging\"}]},{\"@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":"Google Tag Gateway: What It Changes in a Measurement Request and How It Differs From Server-Side Tagging | Lukas Wojcik","description":"Google tag gateway routes scripts and measurements through first-party infrastructure. How it differs from server-side processing, consent and CSP.","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\/en\/digital-analytics\/google-tag-gateway-what-it-changes-in-a-measurement-request\/","og_locale":"en_US","og_type":"article","og_title":"Google Tag Gateway: What It Changes in a Measurement Request and How It Differs From Server-Side Tagging | Lukas Wojcik","og_description":"Google tag gateway routes scripts and measurements through first-party infrastructure. How it differs from server-side processing, consent and CSP.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/google-tag-gateway-what-it-changes-in-a-measurement-request\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-08-22T05:15:00+00:00","article_modified_time":"2026-10-24T02:25:35+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10518-tag-gateway-changes-the-host-not-the-n.png","type":"image\/png"}],"author":"Lukas Wojcik","twitter_card":"summary_large_image","twitter_description":"Google tag gateway routes scripts and measurements through first-party infrastructure. How it differs from server-side processing, consent and CSP.","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\/en\/digital-analytics\/google-tag-gateway-what-it-changes-in-a-measurement-request\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/google-tag-gateway-what-it-changes-in-a-measurement-request\/"},"author":{"name":"Lukas Wojcik","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"Google Tag Gateway: What It Changes in a Measurement Request and How It Differs From Server-Side Tagging","datePublished":"2026-08-22T05:15:00+00:00","dateModified":"2026-10-24T02:25:35+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/google-tag-gateway-what-it-changes-in-a-measurement-request\/"},"wordCount":1460,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/google-tag-gateway-what-it-changes-in-a-measurement-request\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10518-tag-gateway-changes-the-host-not-the-n.png","keywords":["First-Party Data","Google Tag Gateway","Server-Side GTM"],"articleSection":["Digital Analytics"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/google-tag-gateway-what-it-changes-in-a-measurement-request\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/google-tag-gateway-what-it-changes-in-a-measurement-request\/","url":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/google-tag-gateway-what-it-changes-in-a-measurement-request\/","name":"Google Tag Gateway: What It Changes in a Measurement Request and How It Differs From Server-Side Tagging | Lukas Wojcik","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/google-tag-gateway-what-it-changes-in-a-measurement-request\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/google-tag-gateway-what-it-changes-in-a-measurement-request\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10518-tag-gateway-changes-the-host-not-the-n.png","datePublished":"2026-08-22T05:15:00+00:00","dateModified":"2026-10-24T02:25:35+00:00","description":"Google tag gateway routes scripts and measurements through first-party infrastructure. How it differs from server-side processing, consent and CSP.","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/google-tag-gateway-what-it-changes-in-a-measurement-request\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/google-tag-gateway-what-it-changes-in-a-measurement-request\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/google-tag-gateway-what-it-changes-in-a-measurement-request\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10518-tag-gateway-changes-the-host-not-the-n.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10518-tag-gateway-changes-the-host-not-the-n.png","width":1200,"height":630,"caption":"Google Tag Gateway: What It Changes in a Measurement Request and How It Differs From Server-Side Tagging"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/google-tag-gateway-what-it-changes-in-a-measurement-request\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Google Tag Gateway: What It Changes in a Measurement Request and How It Differs From Server-Side Tagging"}]},{"@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\/10518","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=10518"}],"version-history":[{"count":6,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/10518\/revisions"}],"predecessor-version":[{"id":23592,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/10518\/revisions\/23592"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/15203"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=10518"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=10518"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=10518"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}