GTM Trigger Groups: Advanced Multi-Condition Tracking
Need a tag to fire only when two conditions are met simultaneously? Trigger groups are the underused GTM feature you need.
Most GTM users know about triggers — they're the conditions that determine when a tag fires. Fewer know about Trigger Groups, one of GTM's most underused features. A Trigger Group lets you fire a tag only when multiple triggers have all fired during the same page load. This is fundamentally different from adding multiple conditions to a single trigger, and it unlocks tracking scenarios that are otherwise difficult or impossible to implement.
This guide explains how Trigger Groups work, when to use them, their limitations, and workarounds for scenarios they can't handle directly.
What Are Trigger Groups?
A Trigger Group is a special trigger type that fires only when all of its component triggers have fired at least once during the same page load. Think of it as an AND condition across multiple, independent events — not just multiple conditions on the same event.
Here's the key difference:
- Regular trigger with multiple conditions: The trigger fires when a single event meets ALL conditions simultaneously (e.g., a click where the element class is "cta" AND the page path contains "/pricing").
- Trigger Group: The group fires when multiple different events have all occurred (e.g., the page loaded AND a scroll event fired AND a click event fired). Each event can happen at different times during the page lifecycle.
Use Cases
1. Qualified Lead Identification
You want to fire a conversion tag only when a user has: (a) viewed the pricing page, AND (b) started filling out the signup form on the same page. A single trigger can't express this because these are two separate interactions. A Trigger Group can fire after both conditions are met:
- Trigger 1: Page View where path contains "/pricing"
- Trigger 2: Element Visibility when the signup form becomes visible
- Trigger Group: Fires only when both triggers have fired
2. Engaged User Definition
Define a "highly engaged" user as someone who has: (a) scrolled past 75% of the page, AND (b) spent at least 30 seconds on the page. Set up a Scroll Depth trigger (75%) and a Timer trigger (30 seconds), then combine them in a Trigger Group to fire an engagement event only when both conditions are met.
3. Video + CTA Interaction
Track users who watched a product video AND clicked the "Start Free Trial" button on the same page. This helps measure the impact of video content on conversion behavior without custom JavaScript.
4. Content Consumption Milestones
Fire a "content_consumed" event when a user has: (a) scrolled to the bottom of an article, AND (b) spent a minimum time reading. This filters out users who quickly scroll through without reading from your engagement metrics.
How to Create a Trigger Group
- In GTM, go to Triggers → New.
- Click the trigger type selector and choose "Trigger Group" (it's at the bottom of the list under "Other").
- Click "Add Trigger" to add each component trigger. You can add as many as needed, but each trigger must already exist — you build trigger groups from existing individual triggers.
- Name the Trigger Group descriptively (e.g., "Group - Pricing View + Form Start").
- Use this Trigger Group as the firing trigger on your tag, just like any other trigger.
Important: The component triggers in a Trigger Group must be existing, saved triggers. You cannot create new triggers inline within the Trigger Group configuration — create them separately first.
How Trigger Groups Work Under the Hood
When a page loads, GTM starts monitoring all triggers in the group. Each time a component trigger fires, GTM marks it as "satisfied." When ALL component triggers have been satisfied at least once, the Trigger Group fires and the associated tag executes.
Key behaviors to understand:
- Order doesn't matter: The component triggers can fire in any order. The Trigger Group fires as soon as the last unsatisfied trigger fires.
- Once-per-page: By default, the Trigger Group fires at most once per page load. Once all conditions are met, the tag fires and the group is satisfied.
- No reset: Once a component trigger is marked as satisfied, it stays satisfied for the rest of the page lifecycle. If Trigger A fires, then Trigger B fires, the group fires — even if conditions for Trigger A are no longer true when Trigger B fires.
Limitations
Single Page Load Only
Trigger Groups reset on every new page load. If the user views pricing on one page and fills the form on a different page, the group won't fire because each page has its own trigger evaluation lifecycle. This is the most significant limitation of Trigger Groups.
SPA Considerations
For Single Page Applications (SPAs), the behavior depends on how your SPA manages page transitions. If the app uses "virtual page views" without full page reloads, the Trigger Group persists across route changes — which could be either a benefit or a problem depending on your use case.
No Sequence Enforcement
Trigger Groups don't enforce order. If you need Trigger A to fire before Trigger B (not just both to fire), Trigger Groups can't express that constraint. You'd need custom JavaScript or a data layer-based approach for sequenced triggers.
Workarounds for Cross-Page Logic
When you need trigger group-like behavior across multiple pages, use one of these approaches:
- Cookie-based state: When Trigger A fires, set a cookie (via Custom HTML tag). On subsequent pages, check the cookie value as a trigger condition for your final tag.
- Session/localStorage: Similar to cookies but uses browser storage. This is useful for multi-step processes within the same browser session.
- DataLayer variable persistence: Push a flag to the data layer when the first condition is met, then check for that flag in subsequent triggers.
- GA4 audiences: Instead of triggering a tag, create a GA4 audience with multiple conditions across sessions. This is the cleanest approach for multi-session behavior tracking.
GTM Complexity Check
NiceLookingData audits your trigger configurations and identifies opportunities to simplify complex workarounds using Trigger Groups. We also flag Trigger Groups with component triggers that may never all fire on the same page, helping you avoid invisible tracking blind spots.
Key Takeaways
- Trigger Groups fire when multiple independent triggers have all fired on the same page — unlike regular trigger conditions which filter a single event.
- Use cases include qualified lead identification, engagement scoring, and multi-interaction conversion tracking.
- The main limitation is single-page-load scope — use cookies or localStorage for cross-page trigger logic.
- Order of component trigger firing doesn't matter — the group fires when the last unsatisfied trigger fires.
- For cross-session behavior tracking, consider GA4 audiences instead of Trigger Groups.