- One trigger. A Custom Event trigger that fires on
cl_event. That catches every event my helper pushes. - One tag. A GA4 Event tag where the Event Name is the variable
{{cl_action}}, and the parameters map to dataLayer variables (kit,method,format, and so on).
That single tag forwards everything. kit_card_click, resume_export, whatever I push next month. GA4 receives each one with its real name and its params.
The best part: when I add a new track() call in the code later, I change nothing in GTM. It just starts flowing. The tag already forwards anything with the cl_event key.
One helper in code. One tag in GTM. The whole funnel.
A thing that will confuse you in Preview
When you test this in GTM's Preview mode, load a page and you will see your GA4 event tag sitting under "Tags not fired."
That is correct. Do not fix it.
The tag fires on an action, not a page load. So on a plain pageview, only your pageview tag and any session tools fire. The moment you click the button or submit the form, a cl_event fires and your funnel tag jumps to "Tags fired."
I stared at "not fired" for a minute before it clicked. Trigger an action, watch it move.
Mark the ones that matter
In GA4, flag your money events as Key events: the opt-in success, the sign-up, the export, the purchase.
Now GA4 will build funnel and conversion reports around them, and you can finally see the drop-off. Two hundred started, forty imported, twelve saved, five exported. That gap between forty and twelve is where you go to work.
Why this beats click-tracking in GTM
You can also track clicks entirely inside GTM, with Click triggers that match CSS selectors. No code.
I used to do that. I stopped.
Selectors drift. You rename a class, restyle a button, and a trigger silently breaks. Weeks later you notice a funnel step went to zero, not because people stopped, but because the tracking did.
An event in the code sits right next to the action it measures. When I move the button, I see the track() call. It comes along. It does not rot.
The whole thing
One track() helper. Calls at the steps that matter. One GTM tag that forwards them all to GA4. A few events marked as conversions.
An afternoon of work, and the black box turns into a funnel you can actually read.
Pageviews tell you people showed up. This tells you what they did once they were there. That second question is the one worth answering.


