About cookies on this site

We use cookies to collect and analyse information on site performance and usage, to provide social media features and to enhance and customise content and advertisements. Learn more

Cookie settings

About cookies on this site

Cookies used on the site are categorized and below you can read about each category and allow or deny some or all of them. Learn more

Necessary

Some cookies are required to provide core functionality. The website won't function properly without these cookies and they are enabled by default and cannot be disabled.

Preferences

Preference cookies enables the web site to remember information to customize how the web site looks or behaves for each user. This may include storing selected currency, region, language or color theme.

Analytical cookies

Analytical cookies help us improve our website by collecting and reporting information on its usage.

Marketing cookies

Marketing cookies are used to track visitors across websites to allow publishers to display relevant and engaging advertisements. By enabling marketing cookies, you grant permission for personalized advertising across various platforms.

  • Courses
    • Paid courses
    • Course bundles
    • Free courses
  • Blog
  • Resources
    • Youtube channel
    • E-books and Guides
    • GTM Recipes
    • View All Resources
    • GTM Community
    • GA4 community
  • Services
  • About
    • About
    • Contact
  • Login
  • Courses
    • Paid courses
    • Course bundles
    • Free courses
  • Blog
  • Resources
    • Youtube channel
    • E-books and Guides
    • GTM Recipes
    • View All Resources
    • GTM Community
    • GA4 community
  • Services
  • About
    • About
    • Contact
  • Login

January 30, 2025

Fire Once per Page vs Once per Event vs Unlimited in Google Tag Manager

Updated: January 30th, 2025

You will see many options if you open any tag in Google Tag Manager and click Advanced Settings. One of them is the Tag Firing Options drop-down. Thanks to this field, you can configure how many times your tag will fire: Once per Event, Once per Page, and Unlimited.

While some of these options sound obvious, one might need clarification. For example, do you know how exactly the Unlimited option works?

Well, let’s find out. In this blog post, I’ll look at Fire Once per Page vs Once per Event vs Unlimited in the Tag Firing Options field.

Subscribe and Get the Ebook - Real Book Img - GTM for Beginners

Fire Once per Page

This one is pretty obvious. If the tag’s trigger is activated three times on a page but is set to fire only Once per page, then the tag will fire only once on that page. This is useful on regular websites (not single-page applications) when you care whether a visitor completed a specific action once per page, and you don’t need to track every single time a trigger is activated (or Tag Sequencing initiates a tag).

Example: you have implemented Meta Pixel (a.k.a. Facebook Pixel) in the old way (using the Custom HTML tag). The best practice to implement it was to have the FB Pixel Base code separated as a separate tag (see the screenshot below)…

… then, set it as a setup tag (in Tag Sequencing) before every other Facebook Pixel tag (e.g., Pageview).

The important thing here is to ensure that the Facebook Pixel base code (the main code) is set to Fire once per page. And you can do that on the level of that Custom HTML tag.

Speaking of Single-Page Applications, where “pageviews” are not reloading the entire browser tab as regular websites do, the Once per page option will apply to ALL pageviews until the visitor reloads the browser tab.

This means if you set a tag X to fire Once per page, it will fire once. Even if the visitor browses ten pages on your single-page app, the tag X will fire only once. There is no super-simple workaround for that (but I’ve added this idea to my backlog of blog post ideas). It will include playing around with the data layer and tag sequencing.

Google Tag Manager Ebook Bundle

Fire Once per Event

This one is the most common (because that’s the default setting).

But first, let’s quickly talk about events in Google Tag Manager. The concept is different from the Events in Google Analytics. Simply put, events are the things that are visible in the Preview mode’s left side:

Every single item has an event (except the Message — if you see a Message, that is not an event).

Speaking in more technical terms, a Google Tag Manager event is a dataLayer.push that contains the ‘event’ key, for example:

<script>
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': 'new_subscriber',
'formLocation': 'footer'
});
</script>

So, if you have, say, implemented the outbound link click tracking, and want to fire a Google Analytics tag every time any outbound link click action is recorded, keep the Fire once per event option selected. If a visitor clicks any outbound links three times on a page, the tag will fire three times.

Sounds clear? A tag fires based on the dataLayer event, and that event occurs multiple times on the same page, the tag will be fired multiple times.

But what about the Unlimited option?

 

Unlimited

Honestly, I have never used this Tag Firing Option in my setups; therefore, I cannot give you a good practical example. But I can provide a hypothetical (and a pretty weird) situation where the Unlimited option will work.

First, let me describe the setup.

I have two tags – I named one “Setup tag”, and the other is “Just a tag”. In this case, it does not matter what those tags do.

“Just a tag” is activated on a Custom Event Trigger called “sampleEvent”.

“Setup tag” also uses the same “sampleEvent” Custom Event Trigger.

In “Just a tag’s” Advanced Settings, Tag Sequencing is configured. Before “Just a tag” fires, we have configured the “Setup tag” to fire. So why would anyone do that?

As I have said, I have never used the Unlimited option in real-life projects; therefore, I don’t have good practical examples. This is all hypothetical.

To sum up:

  • When the sampleEvent dataLayer.push occurs on a page, you will see it in the Preview and Debug mode.
  • When this happens:
    • “Just a tag” will fire once (because it has a “sampleEvent” trigger assigned to it)
    • “Setup tag” should fire twice because:
      • “sampleEvent” trigger will activate the “Setup tag”
      • and also Tag Sequencing from “Just a tag” will activate the “Setup tag”, hence the tag will fire twice on the same dataLayer.push event.

But if you check the preview mode after the sampleEvent occurs, you will see that the “Setup tag” has fired only once (instead of twice). Why?

That’s because the Setup tag is configured to fire Once per Event. And in this case, that event is sampleEvent. Even though two factors should have activated the tag (I’m talking about the trigger and tag sequencing), the tag fired once because all of this is happening on the same ONE event, sampleEvent, hence “Fire once per event”

But if you changed the “Setup Tag’s” tag firing option to Unlimited, that tag would have fired twice on the same sampleEvent.

Important: the Unlimited option applies only to Tag Sequencing. If your tag had two triggers of the same type (say, Just Links) and both were activated on the same click, the tag would fire only once.

 

Fire Once per Page vs Once per Event vs Unlimited: Final words

And that’s the end of the comparison of Fire once per page vs Once per Event vs Unlimited in Google Tag Manager.

The most commonly used is Fire once per Event. If I need to fire a certain one only once per page (regardless of how many times the tag could have fired), I choose the Fire Once per Page. And personally, I have never found a good use case for the Unlimited option. If you have some good examples, let me know in the comments, and maybe I’ll include them in the blog post.

Got questions? Post them in the comments below.

Subscribe and Get the Ebook - Real Book Img - GTM for Beginners
Julius Fedorovicius
In Google Tag Manager Tips
1 COMMENT
Cesare
  • Oct 30 2021
  • Reply

Hi Julius,
Thanks a lot for your helpful article. We have actually stumbled over the test in the same session thing...

I guess I have a real world example for the 'unlimited' fire. In our case customers would book (same conversion) in the same session different times, i.e. book a particular meeting room for different time frames. It's quite unlikely but not impossible.

Leave a comment Cancel reply

Your email address will not be published. Required fields are marked *


 

Hi, I'm Julius Fedorovicius and I'm here to help you learn Google Tag Manager and Google Analytics. Join thousands of other digital marketers and digital analysts in this exciting journey. Read more
Analytics Mania
  • Google Tag Manager Courses
  • Google Tag Manager Recipes
  • Google Tag Manager Resources
  • Google Tag Manager Community
  • Login to courses
Follow Analytics Mania
  • Subscribe to newsletter
Recent Posts
  • How to Set Up Google Tag Manager Server-side Tagging with Cloud Run
  • Quick Guide: dataLayer.push with examples
  • Google Tag Manager Server-Side Tagging with Stape
Analytics Mania - Google Tag Manager and Google Analytics Blog | Privacy Policy
Manage Cookie Settings