{"id":10876,"date":"2024-11-25T19:44:38","date_gmt":"2024-11-25T19:44:38","guid":{"rendered":"https:\/\/ceowebltd.com\/blog\/?p=10876"},"modified":"2024-11-25T19:44:38","modified_gmt":"2024-11-25T19:44:38","slug":"how-to-set-up-tracking-for-dynamic-urls-in-google-tag-manager","status":"publish","type":"post","link":"https:\/\/ceowebltd.com\/blog\/how-to-set-up-tracking-for-dynamic-urls-in-google-tag-manager\/","title":{"rendered":"How to set up tracking for dynamic URLs in Google Tag Manager"},"content":{"rendered":"<p>Tracking dynamic URLs in Google Tag Manager (GTM) allows you to monitor pages with URLs that change based on user interaction, such as products with different parameters, category pages, or user-specific URLs. Setting up tracking for dynamic URLs ensures that you capture relevant data for these types of pages and provides insights into user behavior and content interactions.<\/p>\n<p>Here&#8217;s a step-by-step guide on how to set up tracking for dynamic URLs in Google Tag Manager:<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_73 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-tracking-for-dynamic-urls-in-google-tag-manager\/#Step_1_Identify_Dynamic_URL_Patterns\" title=\"Step 1: Identify Dynamic URL Patterns\">Step 1: Identify Dynamic URL Patterns<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-tracking-for-dynamic-urls-in-google-tag-manager\/#Step_2_Create_Variables_in_Google_Tag_Manager\" title=\"Step 2: Create Variables in Google Tag Manager\">Step 2: Create Variables in Google Tag Manager<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-tracking-for-dynamic-urls-in-google-tag-manager\/#1_Use_Built-In_Variables\" title=\"1. Use Built-In Variables\">1. Use Built-In Variables<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-tracking-for-dynamic-urls-in-google-tag-manager\/#2_Create_a_Custom_JavaScript_Variable_for_complex_URL_structures\" title=\"2. Create a Custom JavaScript Variable (for complex URL structures)\">2. Create a Custom JavaScript Variable (for complex URL structures)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-tracking-for-dynamic-urls-in-google-tag-manager\/#3_Regular_Expression_Variable_for_pattern-based_matching\" title=\"3. Regular Expression Variable (for pattern-based matching)\">3. Regular Expression Variable (for pattern-based matching)<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-tracking-for-dynamic-urls-in-google-tag-manager\/#Step_3_Set_Up_Triggers_for_Dynamic_Pages\" title=\"Step 3: Set Up Triggers for Dynamic Pages\">Step 3: Set Up Triggers for Dynamic Pages<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-tracking-for-dynamic-urls-in-google-tag-manager\/#1_Page_View_Trigger_for_Dynamic_URLs\" title=\"1. Page View Trigger for Dynamic URLs\">1. Page View Trigger for Dynamic URLs<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-tracking-for-dynamic-urls-in-google-tag-manager\/#2_Custom_Event_Trigger_for_on-page_actions\" title=\"2. Custom Event Trigger (for on-page actions)\">2. Custom Event Trigger (for on-page actions)<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-tracking-for-dynamic-urls-in-google-tag-manager\/#Step_4_Create_Tags_for_Dynamic_URL_Tracking\" title=\"Step 4: Create Tags for Dynamic URL Tracking\">Step 4: Create Tags for Dynamic URL Tracking<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-tracking-for-dynamic-urls-in-google-tag-manager\/#Step_5_Test_and_Debug\" title=\"Step 5: Test and Debug\">Step 5: Test and Debug<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-tracking-for-dynamic-urls-in-google-tag-manager\/#Conclusion\" title=\"Conclusion\">Conclusion<\/a><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"Step_1_Identify_Dynamic_URL_Patterns\"><\/span>Step 1: Identify Dynamic URL Patterns<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Dynamic URLs often contain variables that change depending on the content or actions taken on the page. These variables can include:<\/p>\n<ul>\n<li>Query parameters (e.g., <code>?product=123&amp;color=blue<\/code>)<\/li>\n<li>URL paths that change based on categories or products (e.g., <code>\/category\/{category-name}\/product\/{product-id}<\/code>)<\/li>\n<li>Fragment identifiers (e.g., <code>#section1<\/code>)<\/li>\n<\/ul>\n<p>Before setting up tracking, identify the type of dynamic content you want to track. Determine if you&#8217;re tracking URL parameters, specific path patterns, or fragment identifiers.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Step_2_Create_Variables_in_Google_Tag_Manager\"><\/span>Step 2: Create Variables in Google Tag Manager<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>To capture dynamic URL data, you need to create custom variables in Google Tag Manager to extract parts of the URL. GTM provides built-in variables like <strong>Page URL<\/strong> and <strong>Page Path<\/strong>, but you can create more specific custom variables to capture dynamic parts of the URL.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"1_Use_Built-In_Variables\"><\/span>1. <strong>Use Built-In Variables<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Google Tag Manager has several built-in variables that are helpful for tracking URLs:<\/p>\n<ul>\n<li><strong>Page URL<\/strong>: Captures the full URL of the page.<\/li>\n<li><strong>Page Path<\/strong>: Captures the part of the URL that comes after the domain name (e.g., <code>\/products\/item123<\/code>).<\/li>\n<li><strong>Query Parameters<\/strong>: GTM can automatically capture query parameters like <code>product<\/code>, <code>color<\/code>, etc.<\/li>\n<\/ul>\n<p>To enable these built-in variables:<\/p>\n<ol>\n<li>In GTM, go to <strong>Variables<\/strong>.<\/li>\n<li>Click <strong>Configure<\/strong> in the top-right corner.<\/li>\n<li>Check the boxes for the built-in variables you want to use (e.g., <strong>Page URL<\/strong>, <strong>Page Path<\/strong>, <strong>Query Parameters<\/strong>).<\/li>\n<\/ol>\n<h4><span class=\"ez-toc-section\" id=\"2_Create_a_Custom_JavaScript_Variable_for_complex_URL_structures\"><\/span>2. <strong>Create a Custom JavaScript Variable (for complex URL structures)<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>If you need to capture specific dynamic elements in the URL, you can create a custom JavaScript variable to extract parts of the URL. For example, if your URLs have specific query parameters like <code>product<\/code> or <code>category<\/code>, you can create a variable to capture these.<\/p>\n<p><strong>Example: Extracting a Query Parameter (<code>product<\/code>) from the URL<\/strong><\/p>\n<ol>\n<li>Go to <strong>Variables<\/strong> in GTM.<\/li>\n<li>Click <strong>New<\/strong> to create a new variable.<\/li>\n<li>Choose <strong>Custom JavaScript<\/strong> as the variable type.<\/li>\n<li>Use the following script to capture a URL query parameter:\n<div class=\"contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950\">\n<div class=\"flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none\">javascript<\/div>\n<div class=\"sticky top-9 md:top-[5.75rem]\">\n<div class=\"absolute bottom-0 right-2 flex h-9 items-center\">\n<div class=\"flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary\"><span class=\"\" data-state=\"closed\"><button class=\"flex gap-1 items-center select-none py-1\">Copy code<\/button><\/span><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"!whitespace-pre hljs language-javascript\"><span class=\"hljs-keyword\">function<\/span>() {<br \/>\n  <span class=\"hljs-keyword\">var<\/span> url = <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title function_\">URL<\/span>(<span class=\"hljs-variable language_\">window<\/span>.<span class=\"hljs-property\">location<\/span>.<span class=\"hljs-property\">href<\/span>);<br \/>\n  <span class=\"hljs-keyword\">return<\/span> url.<span class=\"hljs-property\">searchParams<\/span>.<span class=\"hljs-title function_\">get<\/span>(<span class=\"hljs-string\">'product'<\/span>);  <span class=\"hljs-comment\">\/\/ Replace 'product' with the query parameter you want to track<\/span><br \/>\n}<br \/>\n<\/code><\/div>\n<\/div>\n<\/li>\n<li>Name the variable something descriptive, like <code>Product ID<\/code>.<\/li>\n<\/ol>\n<p>This variable will now capture the <code>product<\/code> query parameter from the URL.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"3_Regular_Expression_Variable_for_pattern-based_matching\"><\/span>3. <strong>Regular Expression Variable (for pattern-based matching)<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>If your URLs follow a specific pattern (e.g., <code>\/category\/{category-name}\/product\/{product-id}<\/code>), you can use a regular expression (regex) to extract parts of the URL.<\/p>\n<p>For example, to capture the product ID from a URL like <code>\/category\/blue-widget\/product\/12345<\/code>, you can use the following regular expression:<\/p>\n<ol>\n<li>Create a new <strong>Custom JavaScript<\/strong> variable in GTM.<\/li>\n<li>Use the following script:\n<div class=\"contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950\">\n<div class=\"flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none\">javascript<\/div>\n<div class=\"sticky top-9 md:top-[5.75rem]\">\n<div class=\"absolute bottom-0 right-2 flex h-9 items-center\">\n<div class=\"flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary\"><span class=\"\" data-state=\"closed\"><button class=\"flex gap-1 items-center select-none py-1\">Copy code<\/button><\/span><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"!whitespace-pre hljs language-javascript\"><span class=\"hljs-keyword\">function<\/span>() {<br \/>\n  <span class=\"hljs-keyword\">var<\/span> path = <span class=\"hljs-variable language_\">window<\/span>.<span class=\"hljs-property\">location<\/span>.<span class=\"hljs-property\">pathname<\/span>; <span class=\"hljs-comment\">\/\/ Get the URL path<\/span><br \/>\n  <span class=\"hljs-keyword\">var<\/span> regex = <span class=\"hljs-regexp\">\/\\\/product\\\/(\\d+)\/<\/span>; <span class=\"hljs-comment\">\/\/ Match the product ID (assuming it's a number)<\/span><br \/>\n  <span class=\"hljs-keyword\">var<\/span> matches = path.<span class=\"hljs-title function_\">match<\/span>(regex);<br \/>\n  <span class=\"hljs-keyword\">return<\/span> matches &amp;&amp; matches[<span class=\"hljs-number\">1<\/span>] ? matches[<span class=\"hljs-number\">1<\/span>] : <span class=\"hljs-literal\">undefined<\/span>;  <span class=\"hljs-comment\">\/\/ Return the first capturing group (product ID)<\/span><br \/>\n}<br \/>\n<\/code><\/div>\n<\/div>\n<\/li>\n<\/ol>\n<p>This will capture the product ID (e.g., <code>12345<\/code>) from the URL path.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Step_3_Set_Up_Triggers_for_Dynamic_Pages\"><\/span>Step 3: Set Up Triggers for Dynamic Pages<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Once you have your variables set up, you need to configure triggers to fire your tags when users visit dynamic URLs. GTM provides several ways to set up triggers based on dynamic content.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"1_Page_View_Trigger_for_Dynamic_URLs\"><\/span>1. <strong>Page View Trigger for Dynamic URLs<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>To track dynamic URLs, you can create a <strong>Page View Trigger<\/strong> that fires based on the URL. You can use a <strong>Page URL<\/strong> or <strong>Page Path<\/strong> condition to target specific pages.<\/p>\n<ol>\n<li>Go to <strong>Triggers<\/strong> in GTM.<\/li>\n<li>Click <strong>New<\/strong> to create a new trigger.<\/li>\n<li>Choose <strong>Page View<\/strong> as the trigger type.<\/li>\n<li>Select <strong>Some Page Views<\/strong> to target specific URLs, and set the condition based on the URL variable you want to track:\n<ul>\n<li>If you&#8217;re tracking query parameters, use <code>Page URL<\/code> contains <code>product=<\/code>.<\/li>\n<li>If you&#8217;re using regular expressions, select <strong>Page Path<\/strong> and set the condition to match the pattern (e.g., <code>matches RegEx<\/code> for <code>\/category\/.*\/product\/\\d+<\/code>).<\/li>\n<\/ul>\n<\/li>\n<li>Save the trigger.<\/li>\n<\/ol>\n<h4><span class=\"ez-toc-section\" id=\"2_Custom_Event_Trigger_for_on-page_actions\"><\/span>2. <strong>Custom Event Trigger (for on-page actions)<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>If you&#8217;re tracking URL changes that occur as a result of user interactions (e.g., scrolling, clicking), you can use a <strong>Custom Event Trigger<\/strong>.<\/p>\n<p>For instance, if your website dynamically loads content through JavaScript (such as when a user selects a product), use a custom event to trigger the GTM tags when the URL changes.<\/p>\n<p>You can use a push to the <code>dataLayer<\/code> to send the updated URL as a custom event.<\/p>\n<p>Example:<\/p>\n<div class=\"contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950\">\n<div class=\"flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none\">javascript<\/div>\n<div class=\"sticky top-9 md:top-[5.75rem]\">\n<div class=\"absolute bottom-0 right-2 flex h-9 items-center\">\n<div class=\"flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary\"><span class=\"\" data-state=\"closed\"><button class=\"flex gap-1 items-center select-none py-1\">Copy code<\/button><\/span><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"!whitespace-pre hljs language-javascript\"><span class=\"hljs-variable language_\">window<\/span>.<span class=\"hljs-property\">dataLayer<\/span> = <span class=\"hljs-variable language_\">window<\/span>.<span class=\"hljs-property\">dataLayer<\/span> || [];<br \/>\n<span class=\"hljs-variable language_\">window<\/span>.<span class=\"hljs-property\">dataLayer<\/span>.<span class=\"hljs-title function_\">push<\/span>({<br \/>\n  <span class=\"hljs-attr\">event<\/span>: <span class=\"hljs-string\">'urlChange'<\/span>,<br \/>\n  <span class=\"hljs-attr\">pageUrl<\/span>: <span class=\"hljs-variable language_\">window<\/span>.<span class=\"hljs-property\">location<\/span>.<span class=\"hljs-property\">href<\/span><br \/>\n});<br \/>\n<\/code><\/div>\n<\/div>\n<p>Then, create a <strong>Custom Event Trigger<\/strong> in GTM to listen for this event and fire your tags accordingly.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Step_4_Create_Tags_for_Dynamic_URL_Tracking\"><\/span>Step 4: Create Tags for Dynamic URL Tracking<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>With the variables and triggers set up, you can now create tags to track dynamic URLs.<\/p>\n<p>For example, if you want to track product page views and send data to Google Analytics, create a tag like this:<\/p>\n<ol>\n<li>Go to <strong>Tags<\/strong> in GTM and click <strong>New<\/strong>.<\/li>\n<li>Choose <strong>Google Analytics: Universal Analytics<\/strong> as the tag type.<\/li>\n<li>Set the Track Type to <strong>Page View<\/strong>.<\/li>\n<li>In the <strong>Page Path<\/strong> field, use the dynamic URL variable (e.g., <code>{{Page Path}}<\/code> or the custom variable like <code>{{Product ID}}<\/code>).<\/li>\n<li>Set the trigger to fire on the appropriate dynamic URL page view (e.g., when <code>{{Page URL}}<\/code> contains <code>product=123<\/code>).<\/li>\n<li>Save and publish the tag.<\/li>\n<\/ol>\n<h3><span class=\"ez-toc-section\" id=\"Step_5_Test_and_Debug\"><\/span>Step 5: Test and Debug<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Before publishing your container, test and debug the implementation:<\/p>\n<ol>\n<li>Use <strong>Preview Mode<\/strong> in GTM to test your tags and triggers.<\/li>\n<li>Use <strong>Google Tag Assistant<\/strong> or <strong>Browser Developer Tools<\/strong> to verify the data being sent to Google Analytics or any other analytics platforms.<\/li>\n<li>Check the <code>dataLayer<\/code> for correct values if you&#8217;re using custom events.<\/li>\n<\/ol>\n<h3><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Tracking dynamic URLs in Google Tag Manager is essential for capturing user behavior on websites with content that changes based on user actions or URL parameters. By using built-in variables, custom JavaScript variables, and triggers based on URL patterns or custom events, you can accurately track dynamic pages and send relevant data to your analytics platforms. Testing is crucial to ensure that your tags fire correctly, so always verify your implementation before publishing.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tracking dynamic URLs in Google Tag Manager (GTM) allows you to monitor pages with URLs that change based on user interaction, such as products with&#8230;<\/p>\n","protected":false},"author":214,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-10876","post","type-post","status-publish","format-standard","hentry","category-digital-marketing"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to set up tracking for dynamic URLs in Google Tag Manager - CEOweb Ltd. 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:\/\/ceowebltd.com\/blog\/how-to-set-up-tracking-for-dynamic-urls-in-google-tag-manager\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to set up tracking for dynamic URLs in Google Tag Manager - CEOweb Ltd. Blog\" \/>\n<meta property=\"og:description\" content=\"Tracking dynamic URLs in Google Tag Manager (GTM) allows you to monitor pages with URLs that change based on user interaction, such as products with...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-tracking-for-dynamic-urls-in-google-tag-manager\/\" \/>\n<meta property=\"og:site_name\" content=\"CEOweb Ltd. Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-25T19:44:38+00:00\" \/>\n<meta name=\"author\" content=\"Emmanuel\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Emmanuel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-tracking-for-dynamic-urls-in-google-tag-manager\/\",\"url\":\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-tracking-for-dynamic-urls-in-google-tag-manager\/\",\"name\":\"How to set up tracking for dynamic URLs in Google Tag Manager - CEOweb Ltd. Blog\",\"isPartOf\":{\"@id\":\"https:\/\/ceowebltd.com\/blog\/#website\"},\"datePublished\":\"2024-11-25T19:44:38+00:00\",\"dateModified\":\"2024-11-25T19:44:38+00:00\",\"author\":{\"@id\":\"https:\/\/ceowebltd.com\/blog\/#\/schema\/person\/4759c204c0b0f1d134ec16e8ec777a6f\"},\"breadcrumb\":{\"@id\":\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-tracking-for-dynamic-urls-in-google-tag-manager\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-tracking-for-dynamic-urls-in-google-tag-manager\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-tracking-for-dynamic-urls-in-google-tag-manager\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/ceowebltd.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to set up tracking for dynamic URLs in Google Tag Manager\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/ceowebltd.com\/blog\/#website\",\"url\":\"https:\/\/ceowebltd.com\/blog\/\",\"name\":\"CEOweb Ltd. Blog\",\"description\":\"Guest Posting - Digital Marketing &amp; Web Services\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/ceowebltd.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/ceowebltd.com\/blog\/#\/schema\/person\/4759c204c0b0f1d134ec16e8ec777a6f\",\"name\":\"Emmanuel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ceowebltd.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9e883d40261b9b272de51992551b3eec4df631b7579a4fbec69c36a006dcbaf2?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9e883d40261b9b272de51992551b3eec4df631b7579a4fbec69c36a006dcbaf2?s=96&d=mm&r=g\",\"caption\":\"Emmanuel\"},\"url\":\"https:\/\/ceowebltd.com\/blog\/author\/emmanuel\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to set up tracking for dynamic URLs in Google Tag Manager - CEOweb Ltd. 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:\/\/ceowebltd.com\/blog\/how-to-set-up-tracking-for-dynamic-urls-in-google-tag-manager\/","og_locale":"en_US","og_type":"article","og_title":"How to set up tracking for dynamic URLs in Google Tag Manager - CEOweb Ltd. Blog","og_description":"Tracking dynamic URLs in Google Tag Manager (GTM) allows you to monitor pages with URLs that change based on user interaction, such as products with...","og_url":"https:\/\/ceowebltd.com\/blog\/how-to-set-up-tracking-for-dynamic-urls-in-google-tag-manager\/","og_site_name":"CEOweb Ltd. Blog","article_published_time":"2024-11-25T19:44:38+00:00","author":"Emmanuel","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Emmanuel","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/ceowebltd.com\/blog\/how-to-set-up-tracking-for-dynamic-urls-in-google-tag-manager\/","url":"https:\/\/ceowebltd.com\/blog\/how-to-set-up-tracking-for-dynamic-urls-in-google-tag-manager\/","name":"How to set up tracking for dynamic URLs in Google Tag Manager - CEOweb Ltd. Blog","isPartOf":{"@id":"https:\/\/ceowebltd.com\/blog\/#website"},"datePublished":"2024-11-25T19:44:38+00:00","dateModified":"2024-11-25T19:44:38+00:00","author":{"@id":"https:\/\/ceowebltd.com\/blog\/#\/schema\/person\/4759c204c0b0f1d134ec16e8ec777a6f"},"breadcrumb":{"@id":"https:\/\/ceowebltd.com\/blog\/how-to-set-up-tracking-for-dynamic-urls-in-google-tag-manager\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ceowebltd.com\/blog\/how-to-set-up-tracking-for-dynamic-urls-in-google-tag-manager\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/ceowebltd.com\/blog\/how-to-set-up-tracking-for-dynamic-urls-in-google-tag-manager\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ceowebltd.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to set up tracking for dynamic URLs in Google Tag Manager"}]},{"@type":"WebSite","@id":"https:\/\/ceowebltd.com\/blog\/#website","url":"https:\/\/ceowebltd.com\/blog\/","name":"CEOweb Ltd. Blog","description":"Guest Posting - Digital Marketing &amp; Web Services","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ceowebltd.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/ceowebltd.com\/blog\/#\/schema\/person\/4759c204c0b0f1d134ec16e8ec777a6f","name":"Emmanuel","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ceowebltd.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/9e883d40261b9b272de51992551b3eec4df631b7579a4fbec69c36a006dcbaf2?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9e883d40261b9b272de51992551b3eec4df631b7579a4fbec69c36a006dcbaf2?s=96&d=mm&r=g","caption":"Emmanuel"},"url":"https:\/\/ceowebltd.com\/blog\/author\/emmanuel\/"}]}},"_links":{"self":[{"href":"https:\/\/ceowebltd.com\/blog\/wp-json\/wp\/v2\/posts\/10876","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ceowebltd.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ceowebltd.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ceowebltd.com\/blog\/wp-json\/wp\/v2\/users\/214"}],"replies":[{"embeddable":true,"href":"https:\/\/ceowebltd.com\/blog\/wp-json\/wp\/v2\/comments?post=10876"}],"version-history":[{"count":1,"href":"https:\/\/ceowebltd.com\/blog\/wp-json\/wp\/v2\/posts\/10876\/revisions"}],"predecessor-version":[{"id":10877,"href":"https:\/\/ceowebltd.com\/blog\/wp-json\/wp\/v2\/posts\/10876\/revisions\/10877"}],"wp:attachment":[{"href":"https:\/\/ceowebltd.com\/blog\/wp-json\/wp\/v2\/media?parent=10876"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ceowebltd.com\/blog\/wp-json\/wp\/v2\/categories?post=10876"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ceowebltd.com\/blog\/wp-json\/wp\/v2\/tags?post=10876"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}