Analytics and Tracking

Custom Event Trigger

Also called Data layer event trigger

A trigger that fires tags when the website pushes a named event, rather than when the browser observes a click.

Quick facts: Custom Event Trigger

Category
Analytics and Tracking
Also called
Data layer event trigger
Level
Intermediate
Affects
Conversion accuracy, tracking durability, cross-platform consistency
Where to see it
Google Tag Manager (Triggers), preview mode, GA4 DebugView
In this article4
  1. How a custom event trigger works
  2. Why custom event triggers matter
  3. Where custom event triggers go wrong
  4. How to act on it

How a custom event trigger works

A custom event trigger listens for a name. When the website performs a data layer push containing an event key with that name, the trigger matches and every tag attached to it runs. The match is exact, capital letters included, which is either reassuring or infuriating depending on how carefully the names were agreed.

Conditions can narrow it further. The same event name can fire one tag only when the form was the enquiry form, or only on a particular hostname, or only when the order value is above a threshold the business cares about. Pattern matching lets one trigger cover a family of related names, which is useful once naming has settled and dangerous before that.

Why custom event triggers matter

This is the only trigger type where the website decides. Every other kind infers what happened from what a browser can observe — a click landed here, a URL changed, an element became visible. A custom event is a statement from the application itself: this order completed, this payment cleared, this enquiry was saved. Statements are worth far more than inferences when money depends on the answer.

That is why serious conversion tracking is built on custom events wherever the site can supply them. It is also why they survive redesigns: the event lives in the code that does the work, not in the wording of a button or the shape of a URL.

Where custom event triggers go wrong

Name drift causes most failures. A developer pushes generate_lead, the trigger waits for generateLead, and nothing happens. No error appears anywhere, the tag simply never runs, and the drop in conversions is usually spotted weeks later by whoever checks the ad account.

Firing on intent rather than outcome is the more damaging mistake. An event pushed when the submit button is clicked counts people whose form failed validation, whose payment was declined, or who clicked twice. Push on success, not on attempt.

Timing catches the rest. A tag fired at the instant the browser leaves for another page may not finish its request, so a form that redirects immediately can lose its conversion. Where that happens, the answer is to push the event on the destination page instead, or to let the redirect wait until the tag has run.

How to act on it

Agree the names before anything is built, write them down in one place, and use past-tense outcomes: enquiry_submitted, purchase_completed, quote_requested. Keep one event per meaningful outcome rather than a single generic name carrying a type field, unless there are enough variations to justify the extra condition logic.

Test each trigger in preview using the real journey, not a shortcut, and then confirm at the far end that the destination platform actually recorded it. A trigger that fires and a conversion that arrives are two separate facts, and only checking both catches the case where the tag ran but the value was empty.

Finally, review the list whenever the site changes. Custom events break silently by design — that is the price of their precision — so a short check after each release is what keeps them honest.

Do and do not

Do

  • Agree event names in writing before building
  • Fire on confirmed success, never on button clicks
  • Verify the destination platform recorded the event

Do not

  • Assume the name matches without checking capitalisation
  • Use pattern matching before naming has settled
  • Fire conversions as the browser navigates away

Questions people ask about this

How is this different from a click trigger?

A click trigger reacts to something the browser noticed: a person pressed an element matching your conditions. A custom event trigger reacts to something your website declared. The click may not have produced anything — the form could still fail — whereas a well placed custom event is only pushed once the action has genuinely succeeded.

Why is my custom event trigger not firing?

Check the name first, character by character, because the match is case sensitive and a single difference stops everything. Then check that the push happens at all, using preview mode on the real journey. If the push appears but the tag stays quiet, an extra condition on the trigger is probably excluding it.

Can one custom event fire more than one tag?

Yes, and that is the normal pattern. A single enquiry event can feed the analytics tag, the Google Ads conversion and the Meta event at once, so every platform counts the same moment. It also means one correct push keeps several platforms consistent, which is much easier to maintain than separate triggers for each.

Related terms

Found this useful?

Share it, or ask an AI to summarise it

Back to the glossary

Knowing the term is the easy part

Applying it to your own site and budget is the work. Book a call and I will tell you what actually applies to you.