You are currently viewing Getting GA4 and GTM to Talk: A Simple Way to Track What Matters

Getting GA4 and GTM to Talk: A Simple Way to Track What Matters

I’ll be honest. Setting up GA4 events through Google Tag Manager (GTM) isn’t exactly intuitive the first time you do it.

If you’ve ever thought, “I just want to know if people are clicking the phone number on my website or filling out a form,” but found yourself in a maze of triggers, tags, and missing buttons in Google Ads—same.

This post is a simple rundown of how I finally got everything firing properly between GTM, GA4, and Google Ads without throwing my laptop.

What I Needed to Track

Here’s what I wanted to see in GA4 and Google Ads:

  • When someone clicks a phone number (tel: link)

  • When someone clicks an email link (mailto:)

  • When a lead submits a HubSpot embedded form

These are super common actions on service business sites, and you’d think Google would make this easier to configure. But with the new GA4 and Ads interface changes, it feels like everything is constantly shifting.

The Key: Send Events from GTM to GA4 to Google Ads

After some trial, error, and refreshing DebugView 90 times, here’s what worked.

Click to Call and Click to Email Events

I created a GTM trigger for clicks where the Click URL starts with tel: or mailto:
Then I fired a GA4 Event Tag named click_to_call or email_click
In GA4, I marked those events as conversions
Then imported them into Google Ads as conversion actions

Within a day or two, I saw conversion data start flowing into Ads.

Tracking a HubSpot Form Submission

HubSpot forms are embedded, which means they don’t reload the page or use a regular form element you can easily target.

The workaround:

I added onFormSubmit to the embed code and pushed a custom event to the dataLayer:

onFormSubmit: function($form) {
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: “hubspot_form_submit”
});
}

Then in GTM, I created a custom event trigger for hubspot_form_submit
Fired a GA4 Event called conversion_event_submit_lead_form (that’s the exact name Google Ads expects)
Imported that event into Google Ads as a conversion

Google Ads now only shows the GA4 import option in many cases. No “Use GTM” option anymore. That threw me off for longer than I care to admit.

Final Thoughts

It took some digging to understand how GA4 and GTM play together, especially since Google is clearly moving toward a GA4-first approach for Ads tracking. But once the connection clicked, I realized everything runs through GA4 events now.

If you’re working with trades, contractors, or any service-based business, this kind of tracking is crucial. And once it’s up, it’s a game changer for understanding what’s actually working.

If you want help setting this up for your own site or a client project, get in touch or follow along as I keep sharing what I learn while bridging tools to trends.

Contact >

Leave a Reply