{"id":137242,"date":"2025-03-16T11:22:38","date_gmt":"2025-03-16T11:22:38","guid":{"rendered":"https:\/\/peraltafinancing.com\/analytics\/firing-a-single-tag-multiple-times-in-gtm\/"},"modified":"2025-03-16T11:22:38","modified_gmt":"2025-03-16T11:22:38","slug":"firing-a-single-tag-multiple-times-in-gtm","status":"publish","type":"post","link":"https:\/\/fivemor.com\/?p=137242","title":{"rendered":"Firing A Single Tag Multiple Times In GTM"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div>\n<p>There might be many reasons you\u2019d want to fire a single Tag multiple times in <a href=\"https:\/\/tagmanager.google.com\/\">Google Tag Manager<\/a>. The most common one is when you want to deploy multiples of a single tracking point on the web. Perhaps you have a roll-up account you want to send the hits to, in addition to the site-specific tracking property.<\/p>\n<p>Quite a while ago, I <a href=\"https:\/\/www.simoahava.com\/analytics\/fun-google-tag-manager-part-2\/\">gave a solution for this<\/a> with a specific focus on <a href=\"https:\/\/analytics.google.com\">Google Analytics<\/a> Tags. It leveraged the <a href=\"https:\/\/www.simoahava.com\/gtm-tips\/hitcallback-eventcallback\/\">hitCallback<\/a> feature of the Universal Analytics library by increasing a global counter each time a Tag had fired. This solution had a number of drawbacks: being GA-specific, polluting the global namespace, and requiring a unique setup for every single Tag you wanted to fire.<\/p>\n<p>Not long after this, I actually started doing the whole thing in a different way. A much more durable, sensible, robust way, and in this article I want to open up the method. In fact, it\u2019s not just <em>me<\/em> who wants to introduce this. This article is a collaboration with Marco Wekking from <a href=\"http:\/\/www.adwise.nl\">Adwise<\/a>. He approached me with almost exactly the same solution asking for a review. Instead of reviewing, I asked if he would like to contribute to a collaboration of sorts on this post, and he gracefully accepted. So, much of this post is from Marco\u2019s pen, with my typical bad humour and some JavaScript shenanigans intertwined in the rhetoric.<\/p>\n<p>                <span class=\"simmer\"><br \/>\n  <span class=\"close\">X<\/span><\/p>\n<p>\n    <span class=\"fa fa-md fa-bell\"\/><br \/>\n    <strong>The Simmer Newsletter<\/strong>\n  <\/p>\n<p>\n    Subscribe to the <a href=\"https:\/\/www.simoahava.com\/newsletter\/\">Simmer newsletter<\/a> to get the latest news and content from Simo Ahava into your email inbox!\n  <\/p>\n<p>  <\/span><\/p>\n<h2 id=\"how-it-works\">How it works<\/h2>\n<div style=\"aspect-ratio: 614 \/ 337;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2015\/12\/single-tag-multiple-times.jpg\" title=\"Fire a single GTM tag multiple times\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"337\" width=\"614\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2015\/12\/single-tag-multiple-times.jpg#ZgotmplZ\" alt=\"Fire a single GTM tag multiple times\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>The skilfully grafted diagram above shows how the solution works. Every single event that passes through <code>dataLayer<\/code> is duplicated by suffixing it with <code>.first<\/code> and <code>.second<\/code>. This way, all the Tags you want to fire twice per event just need to be modified to use the original event name plus the two suffixes. You can even use this in a Lookup Table to fire the hits to different Google Analytics tracking properties, for example.<\/p>\n<p>It\u2019s a simple, elegant solution to a pressing problem which, if you ask me, should be handled natively by the platform. This is such a common use case for so many people &#8211; it would be immensely helpful if you could just denote multiple cycles to each Tag using the Tag template settings instead of having to resort to hacks like this.<\/p>\n<h2 id=\"how-to-do-it\">How to do it<\/h2>\n<p>The solution comprises three steps:<\/p>\n<ol>\n<li>\n<p>Create a new Custom Event Trigger<\/p>\n<\/li>\n<li>\n<p>Create the Custom HTML Tag which manages the duplication<\/p>\n<\/li>\n<li>\n<p>Create new Triggers<\/p>\n<\/li>\n<\/ol>\n<p>We\u2019ll wrap it up with an example of how to leverage this when firing to multiple Google Analytics properties! So stay tuned.<\/p>\n<h2 id=\"1-create-the-custom-event-trigger\">1. Create the Custom Event Trigger<\/h2>\n<p>To fire the Custom HTML Tag, we\u2019ll need a Trigger which activates on <em>every single event<\/em>. Why? Because we want to duplicate every single event! There\u2019s just one exception &#8211; we don\u2019t want to fire the Trigger when the actual duplication events are pushed into <code>dataLayer<\/code>, or we might find ourselves in an infinite loop. Ontologically fascinating, but not cool when it comes to site performance.<\/p>\n<p>Before you create the Trigger, make sure you have the <strong>Event<\/strong> Built-in Variable checked in the appropriate slot of the Variables page in your container.<\/p>\n<div style=\"aspect-ratio: 908 \/ 389;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2015\/12\/event-built-in.jpg\" title=\"Event built-in variable\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"389\" width=\"908\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2015\/12\/event-built-in.jpg#ZgotmplZ\" alt=\"Event built-in variable\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>This is required for the Trigger to work.<\/p>\n<p>Next, create a Trigger which matches all events except for the duplicated ones. In this example, we\u2019re using the generic <code>.first<\/code> and <code>.second<\/code> as the suffixes, but nothing\u2019s stopping you from using something more descriptive, for example <code>.Country<\/code> and <code>.Rollup<\/code>.<\/p>\n<div style=\"aspect-ratio: 944 \/ 376;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2015\/12\/event-trigger.jpg\" title=\"Non-duplicate datalayer event trigger\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"376\" width=\"944\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2015\/12\/event-trigger.jpg#ZgotmplZ\" alt=\"Non-duplicate datalayer event trigger\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>To reiterate: <strong>The exception is important<\/strong>! If you don\u2019t add that Fire On condition, you will run into issues, as the Trigger would fire again and again with each duplication cycle. Yes, you could use the <a href=\"https:\/\/support.google.com\/tagmanager\/answer\/6279951?hl=en\">Tag Firing Options<\/a> feature of the Tag templates, but it\u2019s better to nip bad behavior in its bud.<\/p>\n<h2 id=\"2-create-the-custom-html-tag\">2. Create the Custom HTML Tag<\/h2>\n<p>The Custom HTML Tag is the heart and soul of this solution. It\u2019s very simple, but it does have some peculiarities that might surprise if you\u2019re not familiar with how GTM works.<\/p>\n<p>Actually, to ensure that one of these special features works as it should, you\u2019ll need to activate yet another Built-In Variable: Container ID. This returns, surprise surprise, the public ID of the GTM container the Tag is firing in (GTM-XXXX).<\/p>\n<div style=\"aspect-ratio: 325 \/ 321;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2015\/12\/container-id.jpg\" title=\"Container ID built-in\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"321\" width=\"325\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2015\/12\/container-id.jpg#ZgotmplZ\" alt=\"Container ID built-in\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>Create a new Custom HTML Tag and add the following code within:<\/p>\n<div class=\"highlight\">\n<pre style=\"background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4\"><code class=\"language-html\" data-lang=\"html\">script&gt;\n  (<span style=\"color:#00a\">function<\/span>() {\n    <span style=\"color:#00a\">var<\/span> event = {{Event}};\n    <span style=\"color:#00a\">var<\/span> gtm = google_tag_manager[{{Container ID}}];\n\n    <span style=\"color:#0aa\">window<\/span>.dataLayer.push({\n      <span style=\"color:#a50\">'event'<\/span> : event + <span style=\"color:#a50\">'.first'<\/span>\n    });\n    <span style=\"color:#0aa\">window<\/span>.dataLayer.push({\n      <span style=\"color:#a50\">'event'<\/span> : event + <span style=\"color:#a50\">'.second'<\/span>,\n      <span style=\"color:#a50\">'eventCallback'<\/span> : <span style=\"color:#00a\">function<\/span>() { gtm.onHtmlSuccess(); }\n    });\n  })();\n<span style=\"color:#1e90ff;font-weight:bold\">script<\/span>&gt;<\/code><\/pre>\n<\/div>\n<p>We\u2019re wrapping the whole thing in an <a href=\"https:\/\/en.wikipedia.org\/wiki\/Immediately-invoked_function_expression\">IIFE<\/a> as we want to avoid polluting the global namespace. Next, we\u2019re assigning a local variable <code>event<\/code> with whatever value is currently stored in the Built-in <strong>Event<\/strong> variable (i.e. the event that was pushed in the first place).<\/p>\n<p>Finally, we\u2019re doing <strong>two<\/strong> consecutive <code>dataLayer.push()<\/code> commands, one for each iteration of the cycle. If you want to add more events there, be my guest. As far as we know, there is no limitation to the number of events you can push into <code>dataLayer<\/code> this way.<\/p>\n<p>The latter push includes the special <code>eventCallback<\/code> key (read more about it <a href=\"https:\/\/www.simoahava.com\/gtm-tips\/hitcallback-eventcallback\/\">here<\/a>). The key holds a callback function which is invoked as soon as Tags which fire on this particular push have signalled <em>their<\/em> completion. Within this callback, we\u2019re using the <code>onHtmlSuccess()<\/code> feature of GTM\u2019s interface. This is something that was exposed for public use with the <a href=\"https:\/\/www.simoahava.com\/analytics\/understanding-tag-sequencing-in-google-tag-manager\/\">Tag sequencing<\/a> feature. The only thing you need to know about it is that it\u2019s our way of telling GTM that it can now proceed with whatever was going on before this loop of <code>dataLayer.push()<\/code> commands.<\/p>\n<p>In other words, if you\u2019re duplicating a <strong>Click \/ Just Links<\/strong>, and you\u2019ve got \u201cWait for Tags\u201d checked (meaning the Trigger will wait for all dependent Tags to fire before proceeding with the link default action), the process goes something like this:<\/p>\n<ol>\n<li>\n<p>The link click Trigger fires this Custom HTML Tag.<\/p>\n<\/li>\n<li>\n<p>The Custom HTML Tag pushes the first duplicated event, and any Tags which use it start their execution.<\/p>\n<\/li>\n<li>\n<p>Immediately after, the Custom HTML Tag pushes the second duplicated event, and any Tags which use it start their execution.<\/p>\n<\/li>\n<li>\n<p>Once the last Tag firing on the second duplicated push signals its completion, the <code>eventCallback<\/code> callback is invoked, and the Custom HTML Tag tells the link click Trigger that everything is done, allowing it to proceed with the redirect.<\/p>\n<\/li>\n<\/ol>\n<p>Now, add the Trigger you created in the previous step to this Tag, and you\u2019re ready to duplicate. You can preview this to see what happens in your dataLayer with each event.<\/p>\n<div style=\"aspect-ratio: 444 \/ 343;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2015\/12\/duplicates.jpg\" title=\"Preview duplicate events\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"343\" width=\"444\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2015\/12\/duplicates.jpg#ZgotmplZ\" alt=\"Preview duplicate events\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>As you can see, each event is duplicated. There\u2019s the <strong>Pageview<\/strong>, followed by its duplicates: <strong>gtm.js.first<\/strong> and <strong>gtm.js.second<\/strong>. There\u2019s <strong>DOM Ready<\/strong>, followed by its duplicates: <strong>gtm.dom.first<\/strong> and <strong>gtm.dom.second<\/strong>, and so on.<\/p>\n<p>(If you don\u2019t understand what \u201cPageview\u201d and \u201cgtm.js\u201d have to do with each other, the latter is the underlying event representation of the former. More information in my <a href=\"https:\/\/www.simoahava.com\/analytics\/trigger-guide-google-tag-manager\/\">Trigger guide<\/a>.)<\/p>\n<h2 id=\"3-create-new-triggers\">3. Create new Triggers<\/h2>\n<p>The only housekeeping pain you\u2019ll need with this solution is with the Triggers. Here\u2019s how it should work:<\/p>\n<ul>\n<li>\n<p>To duplicate a Trigger, you need one \u201cbase\u201d Trigger of the event type firing without any delimiting conditions. This is the event that is duplicated.<\/p>\n<\/li>\n<li>\n<p>To fire your duplicate Tags, you\u2019ll need to use Custom Event Triggers which use the original event name (e.g. <strong>gtm.linkClick<\/strong>) plus <strong>.first<\/strong> or <strong>.second<\/strong>, all wrapped in a simple regular expression.<\/p>\n<\/li>\n<\/ul>\n<p>In other words, we\u2019re taking a step back to how GTM used to work before the auto-event triggers. We\u2019re creating <em>listeners<\/em> using the generic event Triggers, and when these are duplicated, the Custom Event Triggers are used to delimit the Tags to fire only when specific conditions exist.<\/p>\n<p><strong>NOTE!<\/strong> You don\u2019t need to create a \u201cbase\u201d Trigger for the Page View event type. This is because \u201cPageview\u201d, \u201cDOM Ready\u201d, and \u201cWindow Loaded\u201d are automatically pushed into <code>dataLayer<\/code> as the page and GTM load. In other words, they are automatically duplicated, and you just need to focus on creating the Custom Event Triggers.<\/p>\n<p>Look at the illustration below for clarity:<\/p>\n<div style=\"aspect-ratio: 1112 \/ 958;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2015\/12\/process.jpg\" title=\"Duplication process\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"958\" width=\"1112\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2015\/12\/process.jpg#ZgotmplZ\" alt=\"Duplication process\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>Let\u2019s zoom in. If you have an \u201cOutbound Links\u201d Trigger, which fires when the Click URL is not your own hostname, the duplicated Trigger would look something like this:<\/p>\n<div style=\"aspect-ratio: 947 \/ 366;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2015\/12\/outbound-link-click-duplicated.jpg\" title=\"Outbound link click duplicated\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"366\" width=\"947\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2015\/12\/outbound-link-click-duplicated.jpg#ZgotmplZ\" alt=\"Outbound link click duplicated\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>Make note of the \u201cEvent name\u201d field. That\u2019s what it should look like for your Triggers. With custom event names it\u2019s easy, as you\u2019re the one pushing them into <code>dataLayer<\/code> in the first place. With the built-in Triggers it might be a bit more difficult, so here\u2019s a cheat sheet for you:<\/p>\n<table>\n<thead>\n<tr>\n<th>Built-in Event<\/th>\n<th>Underlying event name<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Page View \/ Page View (also All Pages)<\/td>\n<td>gtm.js<\/td>\n<\/tr>\n<tr>\n<td>Page View \/ DOM Ready<\/td>\n<td>gtm.dom<\/td>\n<\/tr>\n<tr>\n<td>Page View \/ Window Loaded<\/td>\n<td>gtm.load<\/td>\n<\/tr>\n<tr>\n<td>Click \/ All Elements<\/td>\n<td>gtm.click<\/td>\n<\/tr>\n<tr>\n<td>Click \/ Just Links<\/td>\n<td>gtm.linkClick<\/td>\n<\/tr>\n<tr>\n<td>Form Submit<\/td>\n<td>gtm.formSubmit<\/td>\n<\/tr>\n<tr>\n<td>History Change<\/td>\n<td>gtm.historyChange<\/td>\n<\/tr>\n<tr>\n<td>JavaScript Error<\/td>\n<td>gtm.pageError<\/td>\n<\/tr>\n<tr>\n<td>Timer<\/td>\n<td>gtm.timer<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Make sure you\u2019ve got the <strong>Fire On<\/strong> condition on the <em>Custom Event Trigger<\/em>, as you don\u2019t need it on the generic event Trigger. If you miss it from the Custom Event Trigger, you\u2019ll inadvertently fire the Tag whenever <em>any<\/em> such event is detected on the page. For example, if we\u2019d left out the <strong>Click URL Hostname<\/strong> condition from the example above, the Outbound Links Tag would fire whenever the Link Click event is pushed into <code>dataLayer<\/code>.<\/p>\n<h2 id=\"bonus-use-variable-tracking-id\">BONUS: Use variable Tracking ID<\/h2>\n<p>Here\u2019s a tip straight from Marco. To create a variable which sends a different Universal Analytics tracking ID depending on which cycle of the duplication loop is currently active, use the following <strong>Custom JavaScript Variable<\/strong>:<\/p>\n<div class=\"highlight\">\n<pre style=\"background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4\"><code class=\"language-javascript\" data-lang=\"javascript\"><span style=\"color:#00a\">function<\/span>() {\n  \n  <span style=\"color:#00a\">var<\/span> event = {{Event}};\n  \n  <span style=\"color:#00a\">var<\/span> regexFirst = <span style=\"color:#099\">\/\\.first$\/<\/span>;\n  <span style=\"color:#00a\">var<\/span> regexSecond = <span style=\"color:#099\">\/\\.second$\/<\/span>;\n  \n  <span style=\"color:#00a\">if<\/span> (regexFirst.test(event)) {\n    <span style=\"color:#00a\">return<\/span> <span style=\"color:#a50\">\"UA-XXXXXXXX-1\"<\/span>;\n  } <span style=\"color:#00a\">else<\/span> <span style=\"color:#00a\">if<\/span> (regexSecond.test(event)) {\n    <span style=\"color:#00a\">return<\/span> <span style=\"color:#a50\">\"UA-XXXXXXXX-2\"<\/span>;\n  }\n\n  <span style=\"color:#aaa;font-style:italic\">\/\/ Do something in case neither matches\n<\/span><span style=\"color:#aaa;font-style:italic\"\/>\n}\n<\/code><\/pre>\n<\/div>\n<p>This returns the UA code \u201cUA-XXXXXXXX-1\u201d if the Tag is firing on the first loop of the duplication cycle, and \u201cUA-XXXXXXXX-2\u201d if on the second. You might want to setup some type of fallback or default return value in case neither matches.<\/p>\n<h2 id=\"overview-and-summary\">Overview and summary<\/h2>\n<p>While the solution works for all kinds of tags and creates less redundancy in many setups, it has some drawbacks of its own.<\/p>\n<p>First, it inflates the number of <code>dataLayer<\/code> events significantly. A simple setup with just two events (Page View and Outbound Link Clicks) already triples the amount. Note that this doesn\u2019t really have any impact on performance. <code>dataLayer<\/code> is just a message bus used by Google Tag Manager\u2019s <a href=\"https:\/\/www.simoahava.com\/analytics\/google-tag-manager-data-model\/\">internal data model<\/a>. Whenever GTM needs to access the \u201cData Layer\u201d, it\u2019s actually just performing a lookup in its own data model, so the size of <code>dataLayer<\/code> is inconsequential here.<\/p>\n<p>Second, it requires a different and probably more difficult approach to triggers. All tags need to be linked to custom event triggers instead of the built-in Trigger types you might have become used to. If you were around during GTM\u2019s previous version, you might be familiar with the setup, as it resembles how things were done with the old auto-event tracking setup. However, when you really chew it down, all you\u2019re actually doing is creating <strong>one<\/strong> extra Trigger per event type, and moving from the built-in Trigger types to Custom Event Triggers.<\/p>\n<p>Finally, trigger conditions become more critical as they can cause infinite loops or Tags firing in wrong situations. While such accidents shouldn\u2019t cause infinite regret (assuming you test before publish) it does remain another difficulty for you to deal with.<\/p>\n<p>One thing you might be concerned about is whether or not all the Variables populated with the initial base Trigger are still available when the duplicate Custom Event Triggers fire. For example, you might need the <strong>Click URL<\/strong> Variable, and now you\u2019re worried that it\u2019s not available when the duplicate Triggers fire. Don\u2019t worry! GTM persists Variable values until they\u2019re overwritten or there\u2019s a page unload\/refresh. So, unless you\u2019re manually overriding the Data Layer values populated by GTM\u2019s auto-event Triggers, you should be fine.<\/p>\n<p>Well, we might have overstated the simplicity and elegance of the setup, but the idea of intercepting each event and duplicating it is far more approachable than the complex hitCallback setup used before.<\/p>\n<p>I want to thank Marco for putting the approach into writing, and most of the content in this article has come from his pen, edited to suit the devil-may-care style of this blog. Any errors, factual mistakes, or radicalist propaganda cleverly hidden in the whitespace is solely the fault of me, Simo, and I take full responsibility for all the uprisings that will inevitably follow.<\/p>\n<\/p><\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>There might be many reasons you\u2019d want to fire a single Tag multiple times in Google Tag Manager. The most common one is when you want to deploy multiples of a single tracking point on the web. Perhaps you have a roll-up account you want to send the hits to, in addition to the site-specific [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":137243,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12033],"tags":[17424,32680,1025,612,1791,4319],"dealstore":[],"offerexpiration":[],"class_list":["post-137242","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-analytics","tag-firing","tag-gtm","tag-multiple","tag-single","tag-tag","tag-times"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Firing A Single Tag Multiple Times In GTM - Som2ny Network<\/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:\/\/fivemor.com\/?p=137242\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Firing A Single Tag Multiple Times In GTM - Som2ny Network\" \/>\n<meta property=\"og:description\" content=\"There might be many reasons you\u2019d want to fire a single Tag multiple times in Google Tag Manager. The most common one is when you want to deploy multiples of a single tracking point on the web. Perhaps you have a roll-up account you want to send the hits to, in addition to the site-specific [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fivemor.com\/?p=137242\" \/>\n<meta property=\"og:site_name\" content=\"Som2ny Network\" \/>\n<meta property=\"article:published_time\" content=\"2025-03-16T11:22:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/single-tag-multiple-times.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"614\" \/>\n\t<meta property=\"og:image:height\" content=\"337\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fivemor.com\/?p=137242#article\",\"isPartOf\":{\"@id\":\"https:\/\/fivemor.com\/?p=137242\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371\"},\"headline\":\"Firing A Single Tag Multiple Times In GTM\",\"datePublished\":\"2025-03-16T11:22:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fivemor.com\/?p=137242\"},\"wordCount\":2088,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fivemor.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/?p=137242#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/single-tag-multiple-times.jpg\",\"keywords\":[\"Firing\",\"GTM\",\"Multiple\",\"Single\",\"TAG\",\"Times\"],\"articleSection\":[\"Analytics\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fivemor.com\/?p=137242#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fivemor.com\/?p=137242\",\"url\":\"https:\/\/fivemor.com\/?p=137242\",\"name\":\"Firing A Single Tag Multiple Times In GTM - Som2ny Network\",\"isPartOf\":{\"@id\":\"https:\/\/fivemor.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/fivemor.com\/?p=137242#primaryimage\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/?p=137242#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/single-tag-multiple-times.jpg\",\"datePublished\":\"2025-03-16T11:22:38+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fivemor.com\/?p=137242#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fivemor.com\/?p=137242\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/?p=137242#primaryimage\",\"url\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/single-tag-multiple-times.jpg\",\"contentUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/single-tag-multiple-times.jpg\",\"width\":614,\"height\":337},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fivemor.com\/?p=137242#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/fivemor.com\/?bp_activities=1\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Firing A Single Tag Multiple Times In GTM\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fivemor.com\/#website\",\"url\":\"https:\/\/fivemor.com\/\",\"name\":\"Som2ny Network\",\"description\":\"Daily Deals\",\"publisher\":{\"@id\":\"https:\/\/fivemor.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fivemor.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/fivemor.com\/#organization\",\"name\":\"Som2ny Network\",\"url\":\"https:\/\/fivemor.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png\",\"contentUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png\",\"width\":300,\"height\":86,\"caption\":\"Som2ny Network\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/fivemor.com\"],\"url\":\"https:\/\/fivemor.com\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Firing A Single Tag Multiple Times In GTM - Som2ny Network","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:\/\/fivemor.com\/?p=137242","og_locale":"en_US","og_type":"article","og_title":"Firing A Single Tag Multiple Times In GTM - Som2ny Network","og_description":"There might be many reasons you\u2019d want to fire a single Tag multiple times in Google Tag Manager. The most common one is when you want to deploy multiples of a single tracking point on the web. Perhaps you have a roll-up account you want to send the hits to, in addition to the site-specific [&hellip;]","og_url":"https:\/\/fivemor.com\/?p=137242","og_site_name":"Som2ny Network","article_published_time":"2025-03-16T11:22:38+00:00","og_image":[{"width":614,"height":337,"url":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/single-tag-multiple-times.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fivemor.com\/?p=137242#article","isPartOf":{"@id":"https:\/\/fivemor.com\/?p=137242"},"author":{"name":"admin","@id":"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371"},"headline":"Firing A Single Tag Multiple Times In GTM","datePublished":"2025-03-16T11:22:38+00:00","mainEntityOfPage":{"@id":"https:\/\/fivemor.com\/?p=137242"},"wordCount":2088,"commentCount":0,"publisher":{"@id":"https:\/\/fivemor.com\/#organization"},"image":{"@id":"https:\/\/fivemor.com\/?p=137242#primaryimage"},"thumbnailUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/single-tag-multiple-times.jpg","keywords":["Firing","GTM","Multiple","Single","TAG","Times"],"articleSection":["Analytics"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fivemor.com\/?p=137242#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fivemor.com\/?p=137242","url":"https:\/\/fivemor.com\/?p=137242","name":"Firing A Single Tag Multiple Times In GTM - Som2ny Network","isPartOf":{"@id":"https:\/\/fivemor.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fivemor.com\/?p=137242#primaryimage"},"image":{"@id":"https:\/\/fivemor.com\/?p=137242#primaryimage"},"thumbnailUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/single-tag-multiple-times.jpg","datePublished":"2025-03-16T11:22:38+00:00","breadcrumb":{"@id":"https:\/\/fivemor.com\/?p=137242#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fivemor.com\/?p=137242"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/?p=137242#primaryimage","url":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/single-tag-multiple-times.jpg","contentUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/single-tag-multiple-times.jpg","width":614,"height":337},{"@type":"BreadcrumbList","@id":"https:\/\/fivemor.com\/?p=137242#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fivemor.com\/?bp_activities=1"},{"@type":"ListItem","position":2,"name":"Firing A Single Tag Multiple Times In GTM"}]},{"@type":"WebSite","@id":"https:\/\/fivemor.com\/#website","url":"https:\/\/fivemor.com\/","name":"Som2ny Network","description":"Daily Deals","publisher":{"@id":"https:\/\/fivemor.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fivemor.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/fivemor.com\/#organization","name":"Som2ny Network","url":"https:\/\/fivemor.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/#\/schema\/logo\/image\/","url":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png","contentUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png","width":300,"height":86,"caption":"Som2ny Network"},"image":{"@id":"https:\/\/fivemor.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png","caption":"admin"},"sameAs":["https:\/\/fivemor.com"],"url":"https:\/\/fivemor.com\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts\/137242","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=137242"}],"version-history":[{"count":0,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts\/137242\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/media\/137243"}],"wp:attachment":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=137242"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=137242"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=137242"},{"taxonomy":"dealstore","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fdealstore&post=137242"},{"taxonomy":"offerexpiration","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fofferexpiration&post=137242"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}