{"id":13016,"date":"2024-03-28T00:00:00","date_gmt":"2024-03-28T00:00:00","guid":{"rendered":"https:\/\/e-dialog.group\/blog\/debugging-server-side-google-tag-manager-2\/"},"modified":"2026-02-26T13:38:26","modified_gmt":"2026-02-26T13:38:26","slug":"debugging-server-side-google-tag-manager-2","status":"publish","type":"post","link":"https:\/\/e-dialog.group\/en\/blog\/debugging-server-side-google-tag-manager-2\/","title":{"rendered":"Debugging Server Side Google Tag Manager"},"content":{"rendered":"<p>Are all your tags firing correctly in GTM with server side? This step by step guide to debug your tag manager implementation will help you out.<\/p>\n<h2>How to debug a server side setup in Google Tag Manager<\/h2>\n<p>If you have worked a bit with Google Tag Manager, you know how to open preview mode and test your tags. You know how to check triggers and variables so see what needs to be changed to get the data you need all the way to the tracking tool of your choice.<\/p>\n<p>With the introduction of server side tagging, debugging in GTM has become more complex. In this post we will look at what to look at when debugging a server side set up in Google Tag Manager. For that you need to look in both the preview mode of your client side container and your server side container.<\/p>\n<h2>The basics<\/h2>\n<p>First, let&rsquo;s look at how information flows between the website and your end destination when you are using a server side set up.<\/p>\n<h3>Preview mode<\/h3>\n<p>Open preview mode first in your server side container. There might be an option to choose which environment you want to debug if you see the three list symbol to the right of the preview button.<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/1-server-side-preview-mode-1024x608.png\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/1-server-side-preview-mode-1024x608.png 1024w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/1-server-side-preview-mode-300x178.png 300w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/1-server-side-preview-mode-768x456.png 768w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/1-server-side-preview-mode.png 1061w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/1-server-side-preview-mode.png 1352w\" alt=\"Debugging Server Side Google Tag Manager - 1. Server side preview mode\" width=\"800\" height=\"475\">Server side preview mode. Source: GTM<\/p>\n<p>This could be if your site has a test version where you can see features before they are launched or make a purchase without actually placing an order.<\/p>\n<p>Pick the right url for the version of the site you want to debug and click preview, this window opens:<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/2-server-side-preview-open-1024x192.png\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/2-server-side-preview-open-1024x192.png 1024w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/2-server-side-preview-open-300x56.png 300w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/2-server-side-preview-open-768x144.png 768w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/2-server-side-preview-open-1536x289.png 1536w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/2-server-side-preview-open.png 1200w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/2-server-side-preview-open.png 1798w\" alt=\"Debugging Server Side Google Tag Manager - 2. Server side preview open\" width=\"800\" height=\"150\">Server side preview open. Source: GTM<\/p>\n<p>If you do not know which url to pick, you can try one and if you see no data when debugging, switch to the other url and test that one instead.<\/p>\n<h3>Client side containers<\/h3>\n<p>Then open your client side GTM preview like normal. Here you can trigger an event and validate that your server side tags fire when they should.<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/3-client-side-preview-mode-1024x862.png\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/3-client-side-preview-mode-1024x862.png 1024w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/3-client-side-preview-mode-300x253.png 300w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/3-client-side-preview-mode-768x647.png 768w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/3-client-side-preview-mode.png 748w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/3-client-side-preview-mode.png 1170w\" alt=\"Debugging Server Side Google Tag Manager - 3. Client side preview mode\" width=\"800\" height=\"673\">Server side preview open. Source: GTM<\/p>\n<h3>Server side containers<\/h3>\n<p>Then go over to the server side preview tab. In the left column, instead of seeing what happened in the dataLayer, you will see which requests were sent to the server side container. If you for example test a GA4event that fired in the client side GTM you will look for that event name in the server side preview.<\/p>\n<p>For each request that comes to the server side container there is a lot of information available, divided into different tabs. Let&rsquo;s look at them one at a time:<\/p>\n<h4>Event data<\/h4>\n<p>In this tab you find data that comes with the client side request. It will contain the parameters you set on the client side tag. It also includes automatically collected information about for example the browser, consent state or if the event triggered a first_visit or a session_start.<\/p>\n<p>Event data is the server side equivalent to the dataLayer, it is the information that the server side container receives and potentially transforms before it sends it off in the different tags.<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/4-event-data-1024x816.png\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/4-event-data-1024x816.png 1024w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/4-event-data-300x239.png 300w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/4-event-data-768x612.png 768w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/4-event-data.png 790w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/4-event-data.png 1296w\" alt=\"Debugging Server Side Google Tag Manager - 4. Event data\" width=\"800\" height=\"638\">Event data. Source: GTM<\/p>\n<h4>Variables<\/h4>\n<p>In this tab you will find the values &#8203;&#8203;on the current event of the user defined or built in variables that you have added to the server side container. This works just like in a client side container. The difference is the types of variables that are available. For example instead of dataLayer variables, there are event data variables that pick up information from the event data we looked at earlier.<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/5-variables-1024x342.png\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/5-variables-1024x342.png 1024w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/5-variables-300x100.png 300w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/5-variables-768x257.png 768w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/5-variables-1536x514.png 1536w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/5-variables.png 1200w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/5-variables.png 1803w\" alt=\"Debugging Server Side Google Tag Manager - 5. Variables\" width=\"800\" height=\"267\">Variables. Source: GTM<\/p>\n<h4>tags<\/h4>\n<p>The tags tab also works like you would expect compared to client side GTM. It shows which tags fired for the event, it can be several. For example the view_item event from client side might trigger one GA4 Tag and one Floodlight Tag, sending off different requests to the different tools, but still based on the same event data.<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/6-tags-1024x461.png\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/6-tags-1024x461.png 1024w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/6-tags-300x135.png 300w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/6-tags-768x346.png 768w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/6-tags-1536x692.png 1536w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/6-tags.png 1200w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/6-tags.png 1803w\" alt=\"Debugging Server Side Google Tag Manager - 6. Tags\" width=\"800\" height=\"360\">tags. Source: GTM<\/p>\n<h4>Modified event data<\/h4>\n<p>If you open up one of the tags, you will see some more information about the tag when it is fired. You will, just like on the client side, see which trigger made it fire and or blocked it.<\/p>\n<p>A new feature in server side however, is the transformations. A transformation is a set of rules for which event data that came into the server side container the tag in question is allowed to use. For example the same client side event might be used for both GA4 and Floodlights. But some of the event data is excluded from the Floodlight but used in GA4.<\/p>\n<p>In this case I used a transformation to exclude the event parameter &ldquo;action&rdquo; from the event data for this specific tag. It will not be processed and sent on to GA4.<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/7-modified-event-data-1024x852.png\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/7-modified-event-data-1024x852.png 1024w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/7-modified-event-data-300x250.png 300w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/7-modified-event-data-768x639.png 768w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/7-modified-event-data.png 757w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/7-modified-event-data.png 1202w\" alt=\"Debugging Server Side Google Tag Manager - 7.Modified event data\" width=\"800\" height=\"666\">Modified event data. Source: GTM<\/p>\n<p>If you click the checkbox to &ldquo;show original&rdquo; you will get a side by side comparison of which data is available on the event and what data this tag is allowed to process.<\/p>\n<p>Here we can see that the action parameter is no longer included:<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/8-show-original-1024x121.png\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/8-show-original-1024x121.png 1024w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/8-show-original-300x36.png 300w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/8-show-original-768x91.png 768w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/8-show-original.png 1130w\" alt=\"Debugging Server Side Google Tag Manager - 8. Show original\" width=\"800\" height=\"95\">Show original. Source: GTM<\/p>\n<h4>Request<\/h4>\n<p>The last tab is the request tab. Here we can see more technical information about the client, the outgoing request and the incoming request. This is a little different from what you might be used to in the client side container.<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/9-request-1024x956.png\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/9-request-1024x956.png 1024w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/9-request-300x280.png 300w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/9-request-768x717.png 768w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/9-request.png 675w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/9-request.png 1064w\" alt=\"Debugging Server Side Google Tag Manager - 9. Request\" width=\"800\" height=\"747\">Request. Source: GTM<\/p>\n<h5>Client<\/h5>\n<p>The client is a server side specific feature. There can be several clients in the container but only one client is allowed to process each incoming request.<\/p>\n<h5>Incoming request<\/h5>\n<p>This is the information that is coming into the server side container that can then be processed. In this case it is the same GA4 event that was sent from the client side container. For normal debugging it is easier to look at the event data tab. But if you want to know look up some technical details or how the request looked before it was processed, you can look here.<\/p>\n<h5>Outgoing requests<\/h5>\n<p>In the example there is only one, but there could be several. These are mainly the result of the tags that you see fire in the Tags tab. In the example we see the request that the GA4 tag made of the incoming request and the rules set in the transformations. It is this information that will be sent off to GA4. This is the equivalent of the request that the client side tag would send directly to GA4 if there were no server side installed.<\/p>\n<h3>Endpoint<\/h3>\n<p>Also check that the events you test are received in the destination that you are sending them to. This could be the GA4 debug mode or the Pixel test page for your social tracking. A tip is to add a debug parameter with the server side container information to your requests. This way you can verify that the request really went through your server side container.<\/p>\n<h2>If the above is not working for you<\/h2>\n<p>In case the step by step workflow does not work out right, these are our recommendations for troubleshooting:<\/p>\n<h3>Cannot preview containers<\/h3>\n<p>If you get this pop-up when trying to preview, you need to follow the link and add the url. This will only affect the preview abilities of your server side container. It is the url added to the client side tag that controls where the request will be sent.<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/cannot-preview.png\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" srcset=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/cannot-preview.png 512w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/cannot-preview-300x101.png 300w\" alt=\"Debugging Server Side Google Tag Manager - cannot preview error\" width=\"512\" height=\"173\">Server side containers. Source: GTM<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/10-container-setttings.png\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/10-container-setttings.png 993w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/10-container-setttings-300x138.png 300w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/10-container-setttings-768x353.png 768w\" alt=\"Debugging Server Side Google Tag Manager - 10. Container setttings\" width=\"800\" height=\"368\">Container settings. Source: GTM<\/p>\n<h3>An event is not showing up in server side preview mode<\/h3>\n<p>Here are suggestions of some things you can check if you do not see the event in the server side container.<\/p>\n<h4>Check that the tag fired client side.<\/h4>\n<p>Just like you would normally for client side tags.<\/p>\n<h4>In tag details, verify that the server_container_url is the correct one.<\/h4>\n<p>It should match with the url in the preview settings (see above) and the url where the server side container is set up.<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/11-server-container-url-1024x418.png\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/11-server-container-url-1024x418.png 1024w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/11-server-container-url-300x122.png 300w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/11-server-container-url-768x313.png 768w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/11-server-container-url.png 1088w\" alt=\"Debugging Server Side Google Tag Manager - 11. Server container url\" width=\"800\" height=\"327\">Server container url. Source: GTM<\/p>\n<h4>Content Security Policy, check if the request gets blocked by it.<\/h4>\n<p>Go to the browser developer tools (F12 or right click and then choose &ldquo;Inspect&rdquo;). In the Network tab, filter on the event you want to examine.<\/p>\n<p>To see all GA4 requests you can filter on collect?v=2. If you want to only see a certain measurement id, you can filter on tid=G-XXXXXX (replace G-XXXXXX with your measurement id). Or you can filter on the GA4 event name, for example view_item.<\/p>\n<p>In the example below, the request with status 200 was successful while the request with the blocked status was not. Check in the Console tab for an error message with more information of what exactly was blocked.<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/12-network-tab-1024x576.png\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/12-network-tab-1024x576.png 1024w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/12-network-tab-300x169.png 300w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/12-network-tab-768x432.png 768w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/12-network-tab.png 1120w, https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/12-network-tab.png 1138w\" alt=\"Debugging Server Side Google Tag Manager - 12. Network tab\" width=\"800\" height=\"450\">Network tab. Source: Chrome developer tools<\/p>\n<h2>Conclusion<\/h2>\n<p>Debugging a server side tracking set up in GTM follows the same patterns as you are used to with client side tracking. Once you know where to look, it is actually easy to follow your request as it moves from the browser to the client side container, on to the server side container and then sets off to the end destination.<\/p>\n<h3>Do you want to know more or get support with your Consent Mode implementation? Contact us at<a href=\"mailto:kontakt@e-dialog.group\">kontakt@e-dialog.group<\/a><\/h3>\n","protected":false},"excerpt":{"rendered":"<p>Debugging events in GTM when server side is set up includes more steps than client side GTM. In this article we go through how you can validate your event in every step. First we look at the preview mode of client side GTM. Then we follow the request and look at how it arrives in the server side container. We look at the different tabs and what the data in each of them means.<br \/>\nIf the data does not look like you expect when you are debugging, there are some things you can look at to find out what the issue might be.<\/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":[38],"c-year":[12],"class_list":{"0":"post-13016","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-tag-manager","11":"c-year-12"},"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>Debugging Server Side Google Tag Manager - e-dialog<\/title>\n<meta name=\"description\" content=\"Debugging events in GTM when server side is set up includes more steps than client side GTM. In this article we go through how you can validate your event in every step. First we look at the preview mode of client side GTM. Then we follow the request and look at how it arrives in the server side container. We look at the different tabs and what the data in each of them means. If the data does not look like you expect when you are debugging, there are some things you can look at to find out what the issue might be.\" \/>\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\/debugging-server-side-google-tag-manager-2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Debugging Server Side Google Tag Manager\" \/>\n<meta property=\"og:description\" content=\"Debugging events in GTM when server side is set up includes more steps than client side GTM. In this article we go through how you can validate your event in every step. First we look at the preview mode of client side GTM. Then we follow the request and look at how it arrives in the server side container. We look at the different tabs and what the data in each of them means. If the data does not look like you expect when you are debugging, there are some things you can look at to find out what the issue might be.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/e-dialog.group\/en\/blog\/debugging-server-side-google-tag-manager-2\/\" \/>\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=\"2024-03-28T00:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-26T13:38:26+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=\"8 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\\\/debugging-server-side-google-tag-manager-2\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/blog\\\/debugging-server-side-google-tag-manager-2\\\/\"},\"author\":{\"name\":\"digitalists\",\"@id\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/#\\\/schema\\\/person\\\/7b481e2ac90c21e4dc393821d35bb518\"},\"headline\":\"Debugging Server Side Google Tag Manager\",\"datePublished\":\"2024-03-28T00:00:00+00:00\",\"dateModified\":\"2026-02-26T13:38:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/blog\\\/debugging-server-side-google-tag-manager-2\\\/\"},\"wordCount\":1510,\"publisher\":{\"@id\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/blog\\\/debugging-server-side-google-tag-manager-2\\\/#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\\\/debugging-server-side-google-tag-manager-2\\\/\",\"url\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/blog\\\/debugging-server-side-google-tag-manager-2\\\/\",\"name\":\"Debugging Server Side Google Tag Manager - e-dialog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/blog\\\/debugging-server-side-google-tag-manager-2\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/blog\\\/debugging-server-side-google-tag-manager-2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/e-dialog.group\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/cookie-banner-ch.png\",\"datePublished\":\"2024-03-28T00:00:00+00:00\",\"dateModified\":\"2026-02-26T13:38:26+00:00\",\"description\":\"Debugging events in GTM when server side is set up includes more steps than client side GTM. In this article we go through how you can validate your event in every step. First we look at the preview mode of client side GTM. Then we follow the request and look at how it arrives in the server side container. We look at the different tabs and what the data in each of them means. If the data does not look like you expect when you are debugging, there are some things you can look at to find out what the issue might be.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/blog\\\/debugging-server-side-google-tag-manager-2\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/e-dialog.group\\\/en\\\/blog\\\/debugging-server-side-google-tag-manager-2\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/blog\\\/debugging-server-side-google-tag-manager-2\\\/#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\\\/debugging-server-side-google-tag-manager-2\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/e-dialog.group\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Debugging Server Side Google Tag Manager\"}]},{\"@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":"Debugging Server Side Google Tag Manager - e-dialog","description":"Debugging events in GTM when server side is set up includes more steps than client side GTM. In this article we go through how you can validate your event in every step. First we look at the preview mode of client side GTM. Then we follow the request and look at how it arrives in the server side container. We look at the different tabs and what the data in each of them means. If the data does not look like you expect when you are debugging, there are some things you can look at to find out what the issue might be.","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\/debugging-server-side-google-tag-manager-2\/","og_locale":"en_US","og_type":"article","og_title":"Debugging Server Side Google Tag Manager","og_description":"Debugging events in GTM when server side is set up includes more steps than client side GTM. In this article we go through how you can validate your event in every step. First we look at the preview mode of client side GTM. Then we follow the request and look at how it arrives in the server side container. We look at the different tabs and what the data in each of them means. If the data does not look like you expect when you are debugging, there are some things you can look at to find out what the issue might be.","og_url":"https:\/\/e-dialog.group\/en\/blog\/debugging-server-side-google-tag-manager-2\/","og_site_name":"e-dialog","article_publisher":"https:\/\/www.facebook.com\/edialog.group","article_published_time":"2024-03-28T00:00:00+00:00","article_modified_time":"2026-02-26T13:38:26+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":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/e-dialog.group\/en\/blog\/debugging-server-side-google-tag-manager-2\/#article","isPartOf":{"@id":"https:\/\/e-dialog.group\/en\/blog\/debugging-server-side-google-tag-manager-2\/"},"author":{"name":"digitalists","@id":"https:\/\/e-dialog.group\/en\/#\/schema\/person\/7b481e2ac90c21e4dc393821d35bb518"},"headline":"Debugging Server Side Google Tag Manager","datePublished":"2024-03-28T00:00:00+00:00","dateModified":"2026-02-26T13:38:26+00:00","mainEntityOfPage":{"@id":"https:\/\/e-dialog.group\/en\/blog\/debugging-server-side-google-tag-manager-2\/"},"wordCount":1510,"publisher":{"@id":"https:\/\/e-dialog.group\/en\/#organization"},"image":{"@id":"https:\/\/e-dialog.group\/en\/blog\/debugging-server-side-google-tag-manager-2\/#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\/debugging-server-side-google-tag-manager-2\/","url":"https:\/\/e-dialog.group\/en\/blog\/debugging-server-side-google-tag-manager-2\/","name":"Debugging Server Side Google Tag Manager - e-dialog","isPartOf":{"@id":"https:\/\/e-dialog.group\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/e-dialog.group\/en\/blog\/debugging-server-side-google-tag-manager-2\/#primaryimage"},"image":{"@id":"https:\/\/e-dialog.group\/en\/blog\/debugging-server-side-google-tag-manager-2\/#primaryimage"},"thumbnailUrl":"https:\/\/e-dialog.group\/wp-content\/uploads\/2025\/08\/cookie-banner-ch.png","datePublished":"2024-03-28T00:00:00+00:00","dateModified":"2026-02-26T13:38:26+00:00","description":"Debugging events in GTM when server side is set up includes more steps than client side GTM. In this article we go through how you can validate your event in every step. First we look at the preview mode of client side GTM. Then we follow the request and look at how it arrives in the server side container. We look at the different tabs and what the data in each of them means. If the data does not look like you expect when you are debugging, there are some things you can look at to find out what the issue might be.","breadcrumb":{"@id":"https:\/\/e-dialog.group\/en\/blog\/debugging-server-side-google-tag-manager-2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/e-dialog.group\/en\/blog\/debugging-server-side-google-tag-manager-2\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/e-dialog.group\/en\/blog\/debugging-server-side-google-tag-manager-2\/#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\/debugging-server-side-google-tag-manager-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/e-dialog.group\/en\/"},{"@type":"ListItem","position":2,"name":"Debugging Server Side Google Tag Manager"}]},{"@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\/13016","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=13016"}],"version-history":[{"count":1,"href":"https:\/\/e-dialog.group\/en\/wp-json\/wp\/v2\/posts\/13016\/revisions"}],"predecessor-version":[{"id":13461,"href":"https:\/\/e-dialog.group\/en\/wp-json\/wp\/v2\/posts\/13016\/revisions\/13461"}],"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=13016"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/e-dialog.group\/en\/wp-json\/wp\/v2\/categories?post=13016"},{"taxonomy":"channel","embeddable":true,"href":"https:\/\/e-dialog.group\/en\/wp-json\/wp\/v2\/channel?post=13016"},{"taxonomy":"goal","embeddable":true,"href":"https:\/\/e-dialog.group\/en\/wp-json\/wp\/v2\/goal?post=13016"},{"taxonomy":"technology","embeddable":true,"href":"https:\/\/e-dialog.group\/en\/wp-json\/wp\/v2\/technology?post=13016"},{"taxonomy":"c-year","embeddable":true,"href":"https:\/\/e-dialog.group\/en\/wp-json\/wp\/v2\/c-year?post=13016"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}