{"id":154286,"date":"2025-03-24T19:42:12","date_gmt":"2025-03-24T19:42:12","guid":{"rendered":"https:\/\/peraltafinancing.com\/analytics\/trigger-guide-for-google-tag-manager\/"},"modified":"2025-03-24T19:42:12","modified_gmt":"2025-03-24T19:42:12","slug":"trigger-guide-for-google-tag-manager","status":"publish","type":"post","link":"https:\/\/fivemor.com\/?p=154286","title":{"rendered":"Trigger Guide For Google Tag Manager"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div>\n<blockquote>\n<p>Updated 27 March 2019<\/p>\n<\/blockquote>\n<p>In <a href=\"http:\/\/analytics.blogspot.fi\/2014\/10\/making-tag-management-more-accessible.html\">the new version<\/a> of <a href=\"https:\/\/tagmanager.google.com\/\">Google Tag Manager<\/a>, one of the most visible and profound changes to the previous version is how tags are fired (and blocked). First of all, there\u2019s the obvious terminological distinction: we talk about <strong>triggers<\/strong> now, not <em>rules<\/em>. Second, triggers have become an integral part of the tag creation workflow, and as such have far more significance in the user interface than before.<\/p>\n<div style=\"aspect-ratio: 2836 \/ 934;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2014\/12\/new-triggers.jpg\" title=\"New Google Tag Manager triggers\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"934\" width=\"2836\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2014\/12\/new-triggers.jpg#ZgotmplZ\" alt=\"New Google Tag Manager triggers\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>The following text is a standalone article. It\u2019s not an update to the guide I wrote for the previous GTM version: <a href=\"https:\/\/www.simoahava.com\/analytics\/google-tag-manager-playing-rules\/\">Google Tag Manager: Playing By The Rules<\/a>, and many of the concepts covered therein are still valid.<\/p>\n<p>Triggers introduce many new features and functionalities (a <a href=\"https:\/\/www.simoahava.com\/analytics\/auto-event-tracking-gtm-2-0\/\">new way of doing auto-event tracking<\/a>, for example), which require special attention.<\/p>\n<p>Here are the contents of this guide:<\/p>\n<p>As always, feel free to add your thoughts in the comments after this post, if there\u2019s some aspect of triggers that wasn\u2019t adequately covered.<\/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=\"1-whats-changed\">1. What\u2019s changed<\/h2>\n<p>There are three major changes, in my opinion, to how triggers compare with the rules of the previous GTM version.<\/p>\n<h3 id=\"i-triggers-are-integrated-into-the-workflow\">I) Triggers are integrated into the workflow<\/h3>\n<p>Sure, this is more a cosmetic thing, but it\u2019s significant. In the previous version of Google Tag Manager, the entry-level for beginners was quite high. This was partly due to the fact that it wasn\u2019t clear just what <em>firing rules<\/em> and <em>blocking rules<\/em> do. It got even more confusing once you started learning about stuff like implicit events and conditions, and it didn\u2019t help that the UI gave very little hints about what to do next.<\/p>\n<p>In the new UI, everything is about the <em>workflow<\/em>. There\u2019s actually a question there now: <strong>What triggers this tag to fire?<\/strong> Nothing about firing rules or blocking rules, nothing about event conditions, and so forth. Just the simple, quite self-explanatory question. Of course, to understand what \u201cfire\u201d means, you will need to do some exploration, but the question sets the scene: a tag needs a trigger to fire.<\/p>\n<div style=\"aspect-ratio: 2154 \/ 1334;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2014\/12\/tag-workflow.jpg\" title=\"Tag workflow\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"1334\" width=\"2154\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2014\/12\/tag-workflow.jpg#ZgotmplZ\" alt=\"Tag workflow\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>So the biggest obvious change is in the UI. Triggers are an integral part of the workflow, and it\u2019s impossible to not notice them, as you may have with rules in the previous version.<\/p>\n<h3 id=\"ii-you-dont-need-to-explicitly-state-the-event-condition\">II) You don\u2019t need to explicitly state the \u2018event\u2019 condition<\/h3>\n<p>The second major change is how you input the event condition. If you\u2019ve read my previous posts <a href=\"https:\/\/www.simoahava.com\/tags\/rules\/\">about rules<\/a>, or if you\u2019ve paid attention to the developer guides, you\u2019ll know that <strong>every single tag needs an \u2018event\u2019 push to fire<\/strong>. With \u2018event\u2019 push I\u2019m of course referring to a <code>dataLayer.push()<\/code> command that gives a value to the key labelled \u2018event\u2019.<\/p>\n<div style=\"aspect-ratio: 808 \/ 1470;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2014\/12\/event-types.jpg\" title=\"Event Types in GTM\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"1470\" width=\"808\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2014\/12\/event-types.jpg#ZgotmplZ\" alt=\"Event Types in GTM\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>This time around, you don\u2019t need to explicitly state the required Event condition (i.e. the value that \u2018event\u2019 key needs to have for the tag to fire). Instead, you rely on the available <em>trigger types<\/em> to set this condition up for you. In fact, the only time you have to explicitly state the name of the event is if you use a Custom Event type, and even then you don\u2019t have to worry about setting it up as a proper condition. You just give the event its name in the required field (you can also use RegEx matching if you want more flexibility):<\/p>\n<div style=\"aspect-ratio: 1366 \/ 666;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2014\/12\/custom-event.jpg\" title=\"Custom Event Name\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"666\" width=\"1366\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2014\/12\/custom-event.jpg#ZgotmplZ\" alt=\"Custom Event Name\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>The point is that since Event is such a super-important part of any tag or trigger, it\u2019s taken out of the normal condition-based setup for triggers and elevated to a grander status.<\/p>\n<h3 id=\"iii-auto-event-tracking-has-changed\">III) Auto-event tracking has changed<\/h3>\n<p>I\u2019ve already written <a href=\"https:\/\/www.simoahava.com\/analytics\/auto-event-tracking-gtm-2-0\/\">a guide<\/a> on this, and I\u2019ll cover some of the concepts in this article as well, but this is really significant. Auto-event tracking is no longer tag-based, as it was in the previous version. Instead, you specify the event (click, link click, form submit, error, history event, or timer) by choosing one of the respective trigger types. Once you create a trigger for an auto-event type, GTM automatically starts listening for these events on your site.<\/p>\n<div style=\"aspect-ratio: 1792 \/ 588;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2014\/12\/click-trigger1.jpg\" title=\"Click Trigger\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"588\" width=\"1792\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2014\/12\/click-trigger1.jpg#ZgotmplZ\" alt=\"Click Trigger\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>This is incredibly convenient, since it reduces clutter in your tags, and it makes event tracking a very central part of any tagging setup (as it should be).<\/p>\n<p>These are, in my view, the biggest changes. As a GTM fanboy, my honest and utterly biased opinion is that the improvements are amazing. There\u2019s a learning curve, and I know that improvements are made to the UI constantly. But the way that triggers have been integrated into the tag workflow, without compromising any of the features carried over from rules, is a wonderful display of design skill.<\/p>\n<h2 id=\"2-technical-overview\">2. Technical overview<\/h2>\n<p>It\u2019s not like I\u2019ve reverse engineered the GTM container JavaScript library (well, not all of it), but there are some interesting things to consider when working with triggers.<\/p>\n<p>First of all, as I said above, triggers require a <code>dataLayer.push()<\/code> or a pre-container-snippet declaration to fire a tag. If a <code>push()<\/code> command doesn\u2019t have an \u2018event\u2019 key, it becomes merely a \u201cmessage\u201d that\u2019s added to the message bus. It does nothing for tags. You can see this in the debug mode. If there\u2019s an \u2018event\u2019 key in the message, the instance gets the name of the event (unless it\u2019s one of the three default GTM events, see below) or just \u201cMessage\u201d if there\u2019s no \u2018event\u2019 key in the command:<\/p>\n<div style=\"aspect-ratio: 1442 \/ 558;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2014\/12\/message-queue.jpg\" title=\"Data Layer Message Queue\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"558\" width=\"1442\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2014\/12\/message-queue.jpg#ZgotmplZ\" alt=\"Data Layer Message Queue\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>So if there\u2019s an \u2018event\u2019 key in the <code>push()<\/code>, a data layer helper object activates and goes through all the active triggers in your container. If any one of these matches the value of the \u2018event\u2019 key, and if all the other conditions in the trigger pass, the tag is injected into the site and its code is executed.<\/p>\n<p>Very little has changed, then. You will still need to push \u2018event\u2019 values to fire tags. The three default events are still <strong>gtm.js<\/strong> (pushed when the container snippet is first rendered in the page template), <strong>gtm.dom<\/strong> (pushed when the DOM has loaded), and <strong>gtm.load<\/strong> (pushed when the window has loaded):<\/p>\n<div style=\"aspect-ratio: 1656 \/ 442;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2014\/12\/default-events.jpg\" title=\"GTM default events\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"442\" width=\"1656\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2014\/12\/default-events.jpg#ZgotmplZ\" alt=\"GTM default events\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>One thing that <em>has<\/em> changed is how multiple triggers of same type on the same page are handled.<\/p>\n<p>Since there\u2019s no longer a listener tag that you work with, it\u2019s more than possible that you can have many link click triggers, for example, activating tags on the same page. It doesn\u2019t mean that GTM always attaches a new event listener to the <code>document<\/code> node, because that would be an exercise in redundancy. Rather, all the triggers that use the same auto-event, e.g. <code>gtm.linkClick<\/code>, are evaluated when the event occurs.<\/p>\n<p>This is fine in most cases, but it\u2019s also possible that you have two Link Click triggers, where on one you have \u201cCheck Validation\u201d set to ON, and on the other it\u2019s OFF. This means that the first one only fires if the default action of the link click has <em>not<\/em> been prevented by other scripts, and the latter fires regardless. Since there\u2019s just one listener controlling the firing of your tags, GTM leverages the <code>gtm.triggers<\/code> key in the auto-event object to specify which trigger should fire upon the event:<\/p>\n<div style=\"aspect-ratio: 1736 \/ 726;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2014\/12\/gtm-triggers-key.jpg\" title=\"The gtm.triggers key\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"726\" width=\"1736\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2014\/12\/gtm-triggers-key.jpg#ZgotmplZ\" alt=\"The gtm.triggers key\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>The value of the key is <strong>containerID_triggerID<\/strong>. So in this particular example, I had two Link Click triggers firing on the page, and one of them had \u201cCheck Validation\u201d ON. I then clicked a link where I had prevented the default action of the click with <code>event.preventDefault()<\/code>. Thus, the <code>gtm.triggers<\/code> key tells our tags that only the trigger where \u201cCheck Validation\u201d was OFF (id 27) is allowed to fire.<\/p>\n<p>This makes for a very economical but still extremely robust setup for your auto-event triggers.<\/p>\n<h2 id=\"3-triggers-in-the-workflow\">3. Triggers in the workflow<\/h2>\n<p>There are two obvious paths to creating triggers: 1) through the tag workflow, and 2) via the Triggers menu.<\/p>\n<p>Both paths take you essentially through the same steps.<\/p>\n<p>In the <strong>tag workflow<\/strong>, you can enter the trigger selection screen in three different ways:<\/p>\n<ol>\n<li>\n<p>If the tag has no triggers, then clicking the big empty space with \u201cChoose a trigger to make this tag fire\u2026\u201d will open the trigger selector.<\/p>\n<\/li>\n<li>\n<p>If the tag already has triggers, then clicking the blue plus symbol lets you add new triggers to the tag.<\/p>\n<\/li>\n<li>\n<p>You can also click the <strong>ADD EXCEPTION<\/strong> link to add triggers that block the tag from firing.<\/p>\n<\/li>\n<\/ol>\n<div style=\"aspect-ratio: 1854 \/ 486;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2014\/12\/tag-workflow-trigger-add.jpg\" title=\"Open trigger selection via tag workflow\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"486\" width=\"1854\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2014\/12\/tag-workflow-trigger-add.jpg#ZgotmplZ\" alt=\"Open trigger selection via tag workflow\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>In the trigger selection screen, clicking the blue plus button in the top right corner takes you to trigger creation mode.<\/p>\n<p>You can also enter trigger creation mode by browsing to <strong>Triggers<\/strong> and clicking the red <strong>NEW<\/strong> button in the UI.<\/p>\n<p>Regardless of which path you take, this is what you\u2019ll see:<\/p>\n<div style=\"aspect-ratio: 2352 \/ 740;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2014\/12\/trigger-configuration.jpg\" title=\"Trigger creation\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"740\" width=\"2352\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2014\/12\/trigger-configuration.jpg#ZgotmplZ\" alt=\"Trigger creation\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>Read on for information how to create your new trigger.<\/p>\n<h2 id=\"4-new-trigger-creation\">4. New trigger creation<\/h2>\n<p>When you start creating a new trigger, you should already have a good idea of which <strong>GTM event<\/strong> should fire your tag.<\/p>\n<div style=\"aspect-ratio: 2836 \/ 934;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2014\/12\/new-triggers.jpg\" title=\"Create new trigger\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"934\" width=\"2836\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2014\/12\/new-triggers.jpg#ZgotmplZ\" alt=\"Create new trigger\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>The <strong>trigger type<\/strong> is essentially a combination of the GTM event and the type of interaction (or event) you want GTM to start listening to.<\/p>\n<p>Here are the trigger types currently available:<\/p>\n<p><strong>Page View<\/strong>:<\/p>\n<ul>\n<li>\n<p>DOM Ready &#8211; fires the trigger on the <code>gtm.dom<\/code> event, once the browser has loaded the document object model.<\/p>\n<\/li>\n<li>\n<p>Page View &#8211; fires the trigger on the <code>gtm.js<\/code> event, as soon as the GTM container has loaded.<\/p>\n<\/li>\n<li>\n<p>Window Loaded &#8211; fires the tirgger on the <code>gtm.load<\/code> event, dispatched once the entire page and all linked resource have completed loading.<\/p>\n<\/li>\n<\/ul>\n<p><strong>Click<\/strong>:<\/p>\n<ul>\n<li>\n<p>All Elements &#8211; fires the trigger on the <code>gtm.click<\/code> event, dispatched when any element is clicked on the page.<\/p>\n<\/li>\n<li>\n<p>Just Links &#8211; fires the trigger on the <code>gtm.linkClick<\/code> event, dispatched when a link (<code><a\/><\/code>) HTML element is clicked on the page.<\/p>\n<\/li>\n<\/ul>\n<p><strong>User Engagement<\/strong>:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/www.simoahava.com\/analytics\/element-visibility-trigger-google-tag-manager\/\">Element Visibility<\/a> &#8211; fires the trigger on the <code>gtm.elementVisibility<\/code> event, when an element becomes visible on the page.<\/p>\n<\/li>\n<li>\n<p>Form Submission &#8211; fires the trigger on the <code>gtm.formSubmit<\/code> event, dispatched when a form submission is detected.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.simoahava.com\/analytics\/scroll-depth-trigger-google-tag-manager\/\">Scroll Depth<\/a> &#8211; fires the trigger on the <code>gtm.scrollDepth<\/code> event, dispatched when the user scrolls the page.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.simoahava.com\/analytics\/the-youtube-video-trigger-in-google-tag-manager\/\">YouTube Video<\/a> &#8211; fires the trigger on the <code>gtm.video<\/code> event, dispatched when a video is viewed on the page.<\/p>\n<\/li>\n<\/ul>\n<p><strong>Other<\/strong>:<\/p>\n<ul>\n<li>\n<p>Custom Event &#8211; fires the trigger when an <code>event<\/code> key is pushed into <code>dataLayer<\/code> with a custom value.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.simoahava.com\/analytics\/google-tag-manager-history-listener\/\">History Change<\/a> &#8211; fires the trigger on the <code>gtm.historyChange<\/code> event, dispatched when a window history event is detected.<\/p>\n<\/li>\n<li>\n<p>JavaScript Error &#8211; fires the trigger on the <code>gtm.pageError<\/code> event, dispatched when an uncaught JavaScript error is thrown on the page.<\/p>\n<\/li>\n<li>\n<p>Timer &#8211; fires the trigger on the <code>gtm.timer<\/code> event, dispatched when the timer trigger interval is met.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.simoahava.com\/analytics\/trigger-groups-google-tag-manager\/\">Trigger Group<\/a> &#8211; the trigger group fires when all the included triggers have fired at least once.<\/p>\n<\/li>\n<\/ul>\n<p>There\u2019s bound to be more in the future. Especially the various events you can listen to with JavaScript are still vastly under-utilised (check <a href=\"https:\/\/www.simoahava.com\/analytics\/custom-event-listeners-gtm\/\">this post<\/a> for ideas how to extend them).<\/p>\n<div style=\"aspect-ratio: 1780 \/ 580;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2014\/12\/configure-trigger.jpg\" title=\"Configure Trigger\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"580\" width=\"1780\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2014\/12\/configure-trigger.jpg#ZgotmplZ\" alt=\"Configure Trigger\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>The next step is to choose any trigger-specific settings. With the DOM Ready trigger, for example, you can delimit the trigger to only fire on specific page URLs.<\/p>\n<p>If you choose <strong>All (event type)<\/strong>, the only condition in the trigger will be the event type. That means that your tag will fire <em>every single time<\/em> the event you specified is pushed into <code>dataLayer<\/code>. So if, for example, you chose a Click \/ All Elements trigger type, and you specify <strong>All Clicks<\/strong> as the filter, your tag will fire every single time a click is registered on the site (overkill much?).<\/p>\n<div style=\"aspect-ratio: 1194 \/ 484;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2014\/12\/trigger-conditions1.jpg\" title=\"Trigger Conditions\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"484\" width=\"1194\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2014\/12\/trigger-conditions1.jpg#ZgotmplZ\" alt=\"Trigger Conditions\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>If you choose <strong>Some (event type)<\/strong>, you will need to specify the other condition(s) for your tag to fire. These can be anything you like, such as data layer variable values, page path matches, etc. As before, you can specify multiple conditions, but if you do, <strong>every single one of these conditions must pass<\/strong> for your tag to fire. There\u2019s no either-or relationship here. Conditions are final.<\/p>\n<p>With \u201cLink Click\u201d, \u201cTimer\u201d and \u201cForm\u201d triggers, you\u2019ll see some extra settings in the Trigger, depending on what settings you choose. With \u201cTimer\u201d, you can set up the timer that will fire your tag after a given interval (or given intervals), and with Link Click and Form triggers, you might need to specify the conditions for the <em>listener<\/em> itself (see next chapter).<\/p>\n<p>And that\u2019s it. If you\u2019re in the tag creation workflow, you will now return to your tag, where you can add other triggers or an exception.<\/p>\n<p>If you want to add multiple triggers to a single tag, do note that <strong>multiple triggers on the tag are in an either-or relationship<\/strong>. So having multiple triggers on a tag will make the tag fire when any of the triggers fire, which means that your tag can fire multiple times on a page unintentionally.<\/p>\n<p>However, if the underlying event on these multiple triggers is the same (e.g. Click), your tag will, by default, fire only once for every click event regardless of if there\u2019s overlap in the triggers. You can change this behavior by opening the tag\u2019s advanced settings:<\/p>\n<div style=\"aspect-ratio: 1464 \/ 664;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2014\/12\/tag-advanced-settings.jpg\" title=\"Tag advanced firing settings\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"664\" width=\"1464\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2014\/12\/tag-advanced-settings.jpg#ZgotmplZ\" alt=\"Tag advanced firing settings\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>Adding exceptions is simple enough. Just click <strong>ADD EXCEPTION<\/strong> in the tag\u2019s trigger selection, and choose a trigger which will block the firing of the tag.<\/p>\n<p>With exceptions, blocking triggers will always win against firing triggers. However, blocking triggers always need a firing trigger with the <strong>same underlying event<\/strong>, otherwise they\u2019re useless. This is because when an \u2018event\u2019 key is pushed into <code>dataLayer<\/code>, the blocking trigger can only block a trigger which fires on the same \u2018event\u2019, since they are evaluated at the same time against the same value of the \u2018event\u2019 key (complicated, I know!).<\/p>\n<p>Read more about it here: <a href=\"https:\/\/www.simoahava.com\/gtm-tips\/block-your-tags-with-trigger-exceptions\/\">#GTMTips: Block Your Tags With Trigger Exceptions<\/a>.<\/p>\n<h2 id=\"5-click-and-form-triggers\">5. Click and Form triggers<\/h2>\n<p>Since I\u2019ve already written about these in my latest <a href=\"https:\/\/www.simoahava.com\/analytics\/auto-event-tracking-gtm-2-0\/\">auto-event tracking<\/a> guide, I want to just briefly explain what makes these two triggers special.<\/p>\n<p>First of all, skip the generic Click \/ All Elemenets trigger. Nothing special about that. It just listens to all clicks on your site, regardless of what element you click.<\/p>\n<p>The <strong>Just Links<\/strong> trigger, however, only listens for clicks which propagate up to a link (<code><a\/><\/code>) node. This means that you can click on a SPAN in a BUTTON in a DIV, but as long as there\u2019s a link wrapper somewhere up the ancestral tree, and as long as the event propagates, GTM will register the event as a link click.<\/p>\n<p>The <strong>Form<\/strong> trigger waits for a <code>submit()<\/code> event to be dispatched. This means that if some script on your site hijacks the form event and proceeds with some proprietary Ajax function, for example, GTM\u2019s listener will not be able to pick it up.<\/p>\n<p>So remember these two things: Just Links triggers require a click on a link, and Form triggers require a valid browser form submit event. Both need propagation to work.<\/p>\n<p>You might have noticed the two clickable options on these two particular trigger types: Check Validation and Wait For Tags. Once you check either, you\u2019ll see an extra step, <strong>Enable When<\/strong>, in the Trigger settings:<\/p>\n<div style=\"aspect-ratio: 1804 \/ 492;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2014\/12\/enable-when.jpg\" title=\"Enable When Trigger\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"492\" width=\"1804\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2014\/12\/enable-when.jpg#ZgotmplZ\" alt=\"Enable When Trigger\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>The point with this step is that you\u2019ll be able to specify a condition for when the <strong>trigger is actively listening for the specified event<\/strong>. The most common condition types you\u2019ll use here are page conditions, since you might want to specify that the Form Submit trigger only listens for submit events on pages with forms.<\/p>\n<p>The reason this step was introduced is due to how the two checkable options, especially Wait For Tags, work. So let\u2019s do a quick overview.<\/p>\n<p><strong>Check Validation<\/strong>, when checked, will require that a valid action is propagated to GTM\u2019s listeners. With both Just Links and Form this means that there\u2019s no <code>event.preventDefault()<\/code> called by other scripts on the event object before it reaches GTM\u2019s handlers.<\/p>\n<p>However, in many cases it\u2019s not just that the default action of the event is prevented, in which case GTM\u2019s listeners will still pick up the event if Check Validation is OFF. Often you\u2019ll see that propagation is stopped as well, which prevents GTM\u2019s listeners from picking anything up. Be sure to see my <a href=\"https:\/\/www.simoahava.com\/gtm-tips\/fix-problems-with-gtm-listeners\/\">previous<\/a> two <a href=\"https:\/\/www.simoahava.com\/analytics\/dont-gtm-listeners-work\/\">posts<\/a> on the topic.<\/p>\n<p><strong>Wait For Tags<\/strong> ensures that all tags that fire on the trigger execute first before proceeding with the action of the event. So if it\u2019s a Just Links trigger, the redirect (or whatever is the action) is <strong>programmatically halted<\/strong> long enough for all dependent tags to complete execution, after which the action is resumed. Same thing with forms.<\/p>\n<p>And this is the reason you need to specify the secondary filter. Since GTM is the one that halts the default action of the event, it\u2019s possible that it screws something up in the propagation path. I\u2019ve seen cases where the \u201cWait For Tags\u201d option caused a pop-up blocker to pick up otherwise perfectly innocent lightboxes. Only by deactivating \u201cWait For Tags\u201d was the problem solved.<\/p>\n<blockquote>\n<p><strong>NOTE!!!<\/strong> The \u201cWait For Tags\u201d can be very invasive on single-page apps, where link handling is completely customized. On single-page apps, an \u201cinternal\u201d link should never lead to a redirect. GTM, however, does not know this. By pausing the event and then proceeding with the default action, it\u2019s possible that \u201cWait For Tags\u201d causes links to redirect when they shouldn\u2019t.<\/p>\n<\/blockquote>\n<blockquote>\n<p><strong>Thus you should always be very careful with Wait For Tags and ONLY activate it on pages where you have THOROUGHLY tested it doesn\u2019t interfere with the site\u2019s default functionality<\/strong>.<\/p>\n<\/blockquote>\n<h2 id=\"6-triggers-in-the-api\">6. Triggers in the API<\/h2>\n<p>Since I\u2019ve such a huge fan of the <a href=\"https:\/\/developers.google.com\/tag-manager\/api\/v1\/reference\/\">GTM API<\/a> (see my <a href=\"https:\/\/www.simoahava.com\/analytics\/gtm-tools-release-notes-and-user-guide\/\">GTM Tools<\/a>), I wanted to say a few quick words about triggers and the API.<\/p>\n<p>Triggers are a pollable resource just like anything else in the API. You can list them, retrieve them, update them, delete them, create them, etc.<\/p>\n<div style=\"aspect-ratio: 788 \/ 722;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2014\/12\/trigger-json.jpg\" title=\"Trigger JSON in GTM API\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"722\" width=\"788\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2014\/12\/trigger-json.jpg#ZgotmplZ\" alt=\"Trigger JSON in GTM API\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>However, in their current state, there\u2019s a complication. If you want to copy a tag from one container to another, the problem is the <strong>trigger ID<\/strong>. Each trigger has an ID, which, I think, is roughly the first available number in a sequence starting with 1. If you use a trigger in a tag, the tag will refer to this trigger using this ID.<\/p>\n<p>Now, when you want to copy this tag to another container, you create a new tag in the target container with this tag resource as the body. The problem is that the target container can already have a trigger with the ID, since they all follow the same logic when assigning the ID!<\/p>\n<p>This means that when copying a tag with triggers to another container, what you actually need to do is this:<\/p>\n<ol>\n<li>\n<p>First create the trigger(s) in the new container<\/p>\n<\/li>\n<li>\n<p>Use the object you receive in the response to see what the new trigger IDs are<\/p>\n<\/li>\n<li>\n<p>Update the tag resource with the new trigger IDs<\/p>\n<\/li>\n<li>\n<p>Create the tag in the target container<\/p>\n<\/li>\n<\/ol>\n<p>It\u2019s a pretty complex operation for something as simple as resource cloning, and I hope it will resolve to a simpler solution in the future.<\/p>\n<p>You don\u2019t have this problem with variables, as variables are referred to by name, not ID.<\/p>\n<h2 id=\"7-tag-sequencing\">7. Tag Sequencing<\/h2>\n<p>One important thing to know about triggers and <a href=\"https:\/\/www.simoahava.com\/analytics\/understanding-tag-sequencing-in-google-tag-manager\/\">tag sequencing<\/a> is that if a tag is part of a tag sequence (either as a <strong>Setup<\/strong> or <strong>Cleanup<\/strong> tag), all its triggers <strong>are ignored<\/strong>.<\/p>\n<p>In other words, tag sequencing trumps triggers. If a tag fires either before or after the main tag in a sequence, it will be completely controlled by the triggers of the main tag. The only way to prevent the tag from firing in a sequence is to <a href=\"https:\/\/support.google.com\/tagmanager\/answer\/6106961?hl=en#tag_pausing\">pause<\/a> it.<\/p>\n<h2 id=\"8-summary\">8. Summary<\/h2>\n<p>That\u2019s all I have to say about triggers, for now. I\u2019m cautiously apprehensive about possible changes to the UI, as I\u2019m sure there will be in the near future.<\/p>\n<p>To sum it up, triggers work like a charm. It\u2019s so important for usability to have them integrated into the workflow as they are now. At the same time, they haven\u2019t lost any of their power, quite the contrary. The new, Trigger type -based approach to underlying events is an excellent addition, since it helps us focus on what\u2019s important, instead of having to battle with confusing condition syntax.<\/p>\n<p>There are things to be improved in the workflow. I don\u2019t especially enjoy having to work through the Variables page to prepare my triggers (if the variables I need do not exist), and I think there\u2019s still some unification of the UI called for, since, for example, the <strong>Some Pages<\/strong> view is so very different from all the other trigger choices.<\/p>\n<p>Please sound off in the comments if I\u2019ve missed something obvious. I would love to keep this guide as up to date as possible.<\/p>\n<\/p><\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>Updated 27 March 2019 In the new version of Google Tag Manager, one of the most visible and profound changes to the previous version is how tags are fired (and blocked). First of all, there\u2019s the obvious terminological distinction: we talk about triggers now, not rules. Second, triggers have become an integral part of the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":154287,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12033],"tags":[1531,2059,14495,1791,22089],"dealstore":[],"offerexpiration":[],"class_list":["post-154286","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-analytics","tag-google","tag-guide","tag-manager","tag-tag","tag-trigger"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Trigger Guide For Google Tag Manager - 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=154286\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Trigger Guide For Google Tag Manager - Som2ny Network\" \/>\n<meta property=\"og:description\" content=\"Updated 27 March 2019 In the new version of Google Tag Manager, one of the most visible and profound changes to the previous version is how tags are fired (and blocked). First of all, there\u2019s the obvious terminological distinction: we talk about triggers now, not rules. Second, triggers have become an integral part of the [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fivemor.com\/?p=154286\" \/>\n<meta property=\"og:site_name\" content=\"Som2ny Network\" \/>\n<meta property=\"article:published_time\" content=\"2025-03-24T19:42:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/new-triggers-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"843\" \/>\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=\"18 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fivemor.com\/?p=154286#article\",\"isPartOf\":{\"@id\":\"https:\/\/fivemor.com\/?p=154286\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371\"},\"headline\":\"Trigger Guide For Google Tag Manager\",\"datePublished\":\"2025-03-24T19:42:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fivemor.com\/?p=154286\"},\"wordCount\":3480,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fivemor.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/?p=154286#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/new-triggers-scaled.jpg\",\"keywords\":[\"Google\",\"Guide\",\"Manager\",\"TAG\",\"Trigger\"],\"articleSection\":[\"Analytics\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fivemor.com\/?p=154286#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fivemor.com\/?p=154286\",\"url\":\"https:\/\/fivemor.com\/?p=154286\",\"name\":\"Trigger Guide For Google Tag Manager - Som2ny Network\",\"isPartOf\":{\"@id\":\"https:\/\/fivemor.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/fivemor.com\/?p=154286#primaryimage\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/?p=154286#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/new-triggers-scaled.jpg\",\"datePublished\":\"2025-03-24T19:42:12+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fivemor.com\/?p=154286#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fivemor.com\/?p=154286\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/?p=154286#primaryimage\",\"url\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/new-triggers-scaled.jpg\",\"contentUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/new-triggers-scaled.jpg\",\"width\":2560,\"height\":843},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fivemor.com\/?p=154286#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/fivemor.com\/?bp_activities=1\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Trigger Guide For Google Tag Manager\"}]},{\"@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":"Trigger Guide For Google Tag Manager - 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=154286","og_locale":"en_US","og_type":"article","og_title":"Trigger Guide For Google Tag Manager - Som2ny Network","og_description":"Updated 27 March 2019 In the new version of Google Tag Manager, one of the most visible and profound changes to the previous version is how tags are fired (and blocked). First of all, there\u2019s the obvious terminological distinction: we talk about triggers now, not rules. Second, triggers have become an integral part of the [&hellip;]","og_url":"https:\/\/fivemor.com\/?p=154286","og_site_name":"Som2ny Network","article_published_time":"2025-03-24T19:42:12+00:00","og_image":[{"width":2560,"height":843,"url":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/new-triggers-scaled.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"18 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fivemor.com\/?p=154286#article","isPartOf":{"@id":"https:\/\/fivemor.com\/?p=154286"},"author":{"name":"admin","@id":"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371"},"headline":"Trigger Guide For Google Tag Manager","datePublished":"2025-03-24T19:42:12+00:00","mainEntityOfPage":{"@id":"https:\/\/fivemor.com\/?p=154286"},"wordCount":3480,"commentCount":0,"publisher":{"@id":"https:\/\/fivemor.com\/#organization"},"image":{"@id":"https:\/\/fivemor.com\/?p=154286#primaryimage"},"thumbnailUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/new-triggers-scaled.jpg","keywords":["Google","Guide","Manager","TAG","Trigger"],"articleSection":["Analytics"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fivemor.com\/?p=154286#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fivemor.com\/?p=154286","url":"https:\/\/fivemor.com\/?p=154286","name":"Trigger Guide For Google Tag Manager - Som2ny Network","isPartOf":{"@id":"https:\/\/fivemor.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fivemor.com\/?p=154286#primaryimage"},"image":{"@id":"https:\/\/fivemor.com\/?p=154286#primaryimage"},"thumbnailUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/new-triggers-scaled.jpg","datePublished":"2025-03-24T19:42:12+00:00","breadcrumb":{"@id":"https:\/\/fivemor.com\/?p=154286#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fivemor.com\/?p=154286"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/?p=154286#primaryimage","url":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/new-triggers-scaled.jpg","contentUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/new-triggers-scaled.jpg","width":2560,"height":843},{"@type":"BreadcrumbList","@id":"https:\/\/fivemor.com\/?p=154286#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fivemor.com\/?bp_activities=1"},{"@type":"ListItem","position":2,"name":"Trigger Guide For Google Tag Manager"}]},{"@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\/154286","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=154286"}],"version-history":[{"count":0,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts\/154286\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/media\/154287"}],"wp:attachment":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=154286"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=154286"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=154286"},{"taxonomy":"dealstore","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fdealstore&post=154286"},{"taxonomy":"offerexpiration","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fofferexpiration&post=154286"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}