{"id":24,"date":"2026-07-08T18:16:00","date_gmt":"2026-07-08T16:16:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/?p=24"},"modified":"2026-08-20T17:51:32","modified_gmt":"2026-08-20T15:51:32","slug":"how-to-pass-consent-status-to-server-side-gtm","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/how-to-pass-consent-status-to-server-side-gtm\/","title":{"rendered":"How to Pass Consent Status to Server-Side GTM"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Implementing server-side analytics (Server-Side GTM) is a massive step toward data reliability. However, the server environment has one fundamental architectural &#8220;flaw&#8221;: <strong>it has no direct access to the user&#8217;s browser, their cookies, or the Consent Management Platform (CMP) banner<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If a user rejects tracking in the Usercentrics banner, the server will not know about it on its own. When data reaches it without a consent status, the Meta Conversions API (CAPI) will dispatch a payload to Facebook, violating GDPR and DMA regulations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As data architects, we must build a &#8220;bridge&#8221; that transports the consent decision (Consent State) from the browser (Client GTM) straight to the server container (Server GTM). Here is a technical step-by-step guide on how to do this using Usercentrics, Meta Pixel, and Meta CAPI.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. The Logic: How Does This &#8220;Bridge&#8221; Work?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Instead of relying solely on the built-in Google Consent Mode (which can sometimes be tricky to debug on the server side with non-Google tags), we will use the most reliable method: explicitly passing the user&#8217;s decision as an <strong>Event Parameter<\/strong> in the transport tag (e.g., GA4).<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Consent:<\/strong> Usercentrics saves the user&#8217;s choice.<\/li>\n\n\n\n<li><strong>Client GTM:<\/strong> We block the classic Meta Pixel if consent is missing. Then, we capture the consent status and append it as a parameter to the tag sending data to our server (ssGTM).<\/li>\n\n\n\n<li><strong>Server GTM:<\/strong> We receive the parameter as <em>Event Data<\/em>. We build a Trigger that executes Meta CAPI only if the consent parameter equals <code>true<\/code>.<\/li>\n<\/ul>\n\n\n\n<figure class=\"lw-diagram\">\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/hand-bridge-en.png\" width=\"1120\" height=\"560\" alt=\"Consent state travelling from client GTM through the transport tag into server GTM, where a blocking trigger gates the Meta CAPI tag\">\n<figcaption>The server container has no access to the CMP, so the consent state has to ride along in the request. The blocking trigger evaluates exactly that parameter before the CAPI tag is allowed to fire.<\/figcaption>\n<\/figure>\n\n<h2 class=\"wp-block-heading\">2. Client GTM Configuration (Browser)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">We start with the browser container. The assumption here is a Usercentrics CMP tag that is already implemented and pushes events to the DataLayer.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step A: The Consent Check Variable<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Usercentrics natively has its own variables or allows checking the status of a given Data Processing Service.<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Create a Variable of the <strong>Data Layer Variable<\/strong> type.<\/li>\n\n\n\n<li>Enter the key name under which Usercentrics stores the consent for Meta. (If using the official Usercentrics template, this is often provided via custom JS checking the <code>Usercentrics<\/code> object). For this guide, let&#8217;s name this variable <code>{{UC - Meta Consent}}<\/code>. This variable must return <code>true<\/code> or <code>false<\/code>.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Step B: Securing the Meta Pixel (Client-Side)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The browser-based Meta Pixel must respect the user&#8217;s decision.<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Open the <strong>Meta Pixel<\/strong> tag.<\/li>\n\n\n\n<li>Go to the <strong>Triggering<\/strong> section.<\/li>\n\n\n\n<li>Create a new Trigger of the <strong>Custom Event<\/strong> type.<\/li>\n\n\n\n<li>Set the event name to <code>consent_status<\/code> (or whichever event fires pageviews after Usercentrics loads).<\/li>\n\n\n\n<li>Select &#8220;Some Custom Events&#8221; and add the condition: <code>{{UC - Meta Consent}}<\/code> <strong>equals<\/strong> <code>true<\/code>.<\/li>\n\n\n\n<li><em>(Optional)<\/em> With Google Consent Mode v2, the tag&#8217;s <strong>Advanced Settings &gt; Consent Settings<\/strong> can additionally require <code>ad_storage<\/code> and <code>ad_user_data<\/code>.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Step C: Passing Consent to the Server (Transport Tag)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Data is usually sent to ssGTM via a GA4 tag. We need to &#8220;attach&#8221; our consent to this request.<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Open the main transport tag (e.g., <strong>Google Tag<\/strong> or <strong>GA4 Configuration\/Event<\/strong>) that has routing set to the server URL (e.g., <code>sgtm.yourdomain.com<\/code>).<\/li>\n\n\n\n<li>Go to the <strong>Event Parameters<\/strong> section.<\/li>\n\n\n\n<li>Add a new parameter. Name it <code>meta_consent_state<\/code>.<\/li>\n\n\n\n<li>Assign our variable as the value: <code>{{UC - Meta Consent}}<\/code>.<\/li>\n\n\n\n<li>Save and publish the Client GTM. From now on, every request flying to the server carries a flag indicating whether the user allowed Meta tracking.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">3. Server-Side GTM Configuration (Server)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">We move to the server container. Here we need to receive the transmitted parameter and use it to block the Meta CAPI tag.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step A: Receiving the Parameter (Event Data Variable)<\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>In the ssGTM container, go to the <strong>Variables<\/strong> tab.<\/li>\n\n\n\n<li>Create a new Variable of the <strong>Event Data<\/strong> type.<\/li>\n\n\n\n<li>In the <em>Key Path<\/em> field, enter exactly the same name sent from Client GTM: <code>meta_consent_state<\/code>.<\/li>\n\n\n\n<li>Save the variable as <code>{{EventData - Meta Consent}}<\/code>.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Step B: Building the Blocking Trigger for Meta CAPI<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">We don&#8217;t want the Meta CAPI tag firing every time. It must be strictly controlled by our variable.<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Go to the <strong>Triggers<\/strong> tab.<\/li>\n\n\n\n<li>Create a new Trigger of the <strong>Custom Event<\/strong> type.<\/li>\n\n\n\n<li>For the event name, enter <code>.*<\/code> and check <strong>Use regex matching<\/strong> (to fire this for every e-commerce event) OR enter a specific event like <code>page_view<\/code>.<\/li>\n\n\n\n<li>Check the option to fire on <strong>Some Custom Events<\/strong>.<\/li>\n\n\n\n<li>Add the absolute condition: <code>{{EventData - Meta Consent}}<\/code> <strong>equals<\/strong> <code>true<\/code>.<\/li>\n\n\n\n<li>To additionally require a specific client, add the condition: <code>Client Name<\/code> equals <code>GA4<\/code>.<\/li>\n\n\n\n<li>Save the Trigger as <code>Trigger - Meta CAPI - Consent Granted<\/code>.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Step C: Attaching the Trigger to the Meta CAPI Tag<\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Open the <strong>Meta Conversions API<\/strong> tag in ssGTM.<\/li>\n\n\n\n<li>In the Triggering section, remove the default trigger (e.g., &#8220;All Events&#8221;).<\/li>\n\n\n\n<li>Add the newly created trigger: <code>Trigger - Meta CAPI - Consent Granted<\/code>.<\/li>\n\n\n\n<li>Save the tag and run Preview mode to test the implementation.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">4. Verifying the Implementation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To be 100% sure nothing here breaks the law, perform this test:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Visit the site in Incognito mode. In the Usercentrics banner, <strong>reject all consents<\/strong>.<\/li>\n\n\n\n<li>Check the Client GTM Debugger to see if the Meta Pixel was prevented from firing (the Trigger should show a red cross next to the <code>{{UC - Meta Consent}} == true<\/code> condition).<\/li>\n\n\n\n<li>Inspect the request sent to ssGTM. In the Event Data preview in Server GTM, the <code>meta_consent_state<\/code> parameter should carry the value <code>false<\/code>.<\/li>\n\n\n\n<li>The Meta CAPI tag on the server should not fire. The environment is then secure and fully legal.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Summary<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Passing the consent status between the browser and the server is the foundation of modern data engineering. Explicitly defining the <code>meta_consent_state<\/code> parameter in the transport tag delivers full control and transparency over what goes to external vendors and when. It guarantees an architecture that is not only technically flawless but also fully compliant with Usercentrics privacy policies, GDPR, and DMA regulations.<\/p>\n\n\n<div class=\"lw-quellen\">\n<h2>Sources<\/h2>\n<ul>\n<li><a href=\"https:\/\/developers.google.com\/tag-platform\/security\/guides\/consent\" target=\"_blank\" rel=\"noopener noreferrer\">Consent Mode implementation<\/a><\/li>\n<li><a href=\"https:\/\/developers.facebook.com\/documentation\/ads-commerce\/conversions-api\" target=\"_blank\" rel=\"noopener noreferrer\">Conversions API documentation<\/a><\/li>\n<\/ul>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Implementing server-side analytics (Server-Side GTM) is a massive step toward data reliability. However, the server environment has one fundamental architectural &#8220;flaw&#8221;: it has no direct access to the user&#8217;s browser, their cookies, or the Consent Management Platform (CMP) banner. If a user rejects tracking in the Usercentrics banner, the server will not know about it [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":12645,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[91040,91041,91279,91267,91057,91061,91059],"class_list":["post-24","post","type-post","status-publish","format-standard","hentry","category-digital-marketing","tag-consent-management","tag-consent-mode-v2","tag-prywatnosc-danych-pl","tag-google-tag-manager","tag-meta-conversions-api","tag-server-side-gtm","tag-usercentrics"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to Pass Consent Status to Server-Side GTM - 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\/en\/digital-marketing\/how-to-pass-consent-status-to-server-side-gtm\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Pass Consent Status to Server-Side GTM - Lukas Wojcik - Blog\" \/>\n<meta property=\"og:description\" content=\"Implementing server-side analytics (Server-Side GTM) is a massive step toward data reliability. However, the server environment has one fundamental architectural &#8220;flaw&#8221;: it has no direct access to the user&#8217;s browser, their cookies, or the Consent Management Platform (CMP) banner. If a user rejects tracking in the Usercentrics banner, the server will not know about it [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/how-to-pass-consent-status-to-server-side-gtm\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-08T16:16:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-20T15:51:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-24-privacy-architecture-how-to-pass-consent-d.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=\"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\\\/en\\\/digital-marketing\\\/how-to-pass-consent-status-to-server-side-gtm\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/how-to-pass-consent-status-to-server-side-gtm\\\/\"},\"author\":{\"name\":\"luky\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"How to Pass Consent Status to Server-Side GTM\",\"datePublished\":\"2026-07-08T16:16:00+00:00\",\"dateModified\":\"2026-08-20T15:51:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/how-to-pass-consent-status-to-server-side-gtm\\\/\"},\"wordCount\":929,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/how-to-pass-consent-status-to-server-side-gtm\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/hero-24-privacy-architecture-how-to-pass-consent-d.png\",\"keywords\":[\"Consent Management\",\"Consent Mode v2\",\"Data Privacy\",\"Google Tag Manager\",\"Meta Conversions API\",\"Server-Side GTM\",\"Usercentrics\"],\"articleSection\":[\"Digital Marketing\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/how-to-pass-consent-status-to-server-side-gtm\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/how-to-pass-consent-status-to-server-side-gtm\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/how-to-pass-consent-status-to-server-side-gtm\\\/\",\"name\":\"How to Pass Consent Status to Server-Side GTM - Lukas Wojcik - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/how-to-pass-consent-status-to-server-side-gtm\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/how-to-pass-consent-status-to-server-side-gtm\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/hero-24-privacy-architecture-how-to-pass-consent-d.png\",\"datePublished\":\"2026-07-08T16:16:00+00:00\",\"dateModified\":\"2026-08-20T15:51:32+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/how-to-pass-consent-status-to-server-side-gtm\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/how-to-pass-consent-status-to-server-side-gtm\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/how-to-pass-consent-status-to-server-side-gtm\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/hero-24-privacy-architecture-how-to-pass-consent-d.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/hero-24-privacy-architecture-how-to-pass-consent-d.png\",\"width\":1200,\"height\":630,\"caption\":\"How to Pass Consent Status to Server-Side GTM\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/how-to-pass-consent-status-to-server-side-gtm\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Pass Consent Status to Server-Side GTM\"}]},{\"@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":"How to Pass Consent Status to Server-Side GTM - 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\/en\/digital-marketing\/how-to-pass-consent-status-to-server-side-gtm\/","og_locale":"en_US","og_type":"article","og_title":"How to Pass Consent Status to Server-Side GTM - Lukas Wojcik - Blog","og_description":"Implementing server-side analytics (Server-Side GTM) is a massive step toward data reliability. However, the server environment has one fundamental architectural &#8220;flaw&#8221;: it has no direct access to the user&#8217;s browser, their cookies, or the Consent Management Platform (CMP) banner. If a user rejects tracking in the Usercentrics banner, the server will not know about it [&hellip;]","og_url":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/how-to-pass-consent-status-to-server-side-gtm\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-07-08T16:16:00+00:00","article_modified_time":"2026-08-20T15:51:32+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-24-privacy-architecture-how-to-pass-consent-d.png","type":"image\/png"}],"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\/en\/digital-marketing\/how-to-pass-consent-status-to-server-side-gtm\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/how-to-pass-consent-status-to-server-side-gtm\/"},"author":{"name":"luky","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"How to Pass Consent Status to Server-Side GTM","datePublished":"2026-07-08T16:16:00+00:00","dateModified":"2026-08-20T15:51:32+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/how-to-pass-consent-status-to-server-side-gtm\/"},"wordCount":929,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/how-to-pass-consent-status-to-server-side-gtm\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-24-privacy-architecture-how-to-pass-consent-d.png","keywords":["Consent Management","Consent Mode v2","Data Privacy","Google Tag Manager","Meta Conversions API","Server-Side GTM","Usercentrics"],"articleSection":["Digital Marketing"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/how-to-pass-consent-status-to-server-side-gtm\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/how-to-pass-consent-status-to-server-side-gtm\/","url":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/how-to-pass-consent-status-to-server-side-gtm\/","name":"How to Pass Consent Status to Server-Side GTM - Lukas Wojcik - Blog","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/how-to-pass-consent-status-to-server-side-gtm\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/how-to-pass-consent-status-to-server-side-gtm\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-24-privacy-architecture-how-to-pass-consent-d.png","datePublished":"2026-07-08T16:16:00+00:00","dateModified":"2026-08-20T15:51:32+00:00","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/how-to-pass-consent-status-to-server-side-gtm\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/how-to-pass-consent-status-to-server-side-gtm\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/how-to-pass-consent-status-to-server-side-gtm\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-24-privacy-architecture-how-to-pass-consent-d.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-24-privacy-architecture-how-to-pass-consent-d.png","width":1200,"height":630,"caption":"How to Pass Consent Status to Server-Side GTM"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/how-to-pass-consent-status-to-server-side-gtm\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Pass Consent Status to Server-Side GTM"}]},{"@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\/24","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=24"}],"version-history":[{"count":5,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/24\/revisions"}],"predecessor-version":[{"id":12615,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/24\/revisions\/12615"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/12645"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=24"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=24"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=24"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}