Consider this scenario, my client is in the Adventure Motorcycle Accessories business. Occasionally, he co-hosts bike touring festival events along with the rider community.

He’s also using his site to draw traffic to this event, but the organizer wants to use a Google Form to collect the leads, and my client has to comply.

So he’s not using his website contact form to track the form submission, but has simply pasted google form link on the event page on his site to get all the leads.

This is fine till now, but for a marketer like me, this is a nightmare to track.

Few important information before we move ahead:

  1. Traffic driving channel to the client site: Organic and Google Ads
  2. Website built on: Shopify
  3. Tracking used tools: GA4 & GTM

Now, let’s continue…

So I want to track how many forms were submitted using Google Ads traffic.

Here’s the solution I could find Track Google Form Submission in GA4, and wished to share here: 

using Google Tag Manager (GTM), we can use a “Listener” script. This is the most reliable way because Google Forms are “black boxes” (iframes)—GTM can’t see what’s happening inside them, but it can see when the iframe reloads.

When a user hits “Submit” on a Google Form, the iframe reloads itself to show the “Thank you” message. We will track that second load.

Step 1: Create the Iframe Listener (Custom HTML Tag)

This script sits on your Shopify page and “watches” the Google Form.

  • In GTM, go to Tags > New.
  • Tag Type: Custom HTML.

Paste this code:

JavaScript

<script>
(function() {
var iframe = document.querySelector(‘iframe[src*=”docs.google.com/forms”]’);
if (!iframe) return;

var loadCount = 0;
iframe.onload = function() {
loadCount++;
if (loadCount > 1) {
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
‘event’: ‘google_form_submit’,
‘form_name’: ‘Camping Festival’
});
}
};
})();
</script>

  • Triggering: Set to Page View on the specific page: Page URL contains (add the URL where google form link is pasted)
  • Save as: cHTML – Google Form Listener.

Step 2: Create the Custom Event Trigger

Now we need GTM to recognize the google_form_submit event the script just created.

  • Go to Triggers > New.
  • Trigger Type: Custom Event.
  • Event Name: google_form_submit (must match the code exactly).
  • This trigger fires on: All Custom Events.
  • Save as: Custom – Google Form Submitted.

Step 3: Create the GA4 Event Tag

Finally, send that data to Google Analytics.

  • Go to Tags > New.
  • Tag Type: Google Analytics: GA4 Event.
  • Measurement ID: Enter your GA4 ID (starts with G-).
  • Event Name: generate_lead (This is the standard GA4 name for form sign-ups).
  • Triggering: Select the trigger you made in Step 2 (Custom – Google Form Submitted).
  • Save as: GA4 – Event – Camping Form Submission.

Step 4: Preview and Test

  • Click Preview in GTM.
  • Enter your URL where the google form link is pasted.
  • Fill out the form and submit it.
  • In the Tag Assistant window, look for the google_form_submit event on the left sidebar.
  • If it appears, your tag fired successfully!

Important Note: If you have multiple pages in your Google Form (e.g., “Next” buttons), this method might trigger on every page click. If your form is just one page, this works perfectly.

Now Let’s track the event created above as Conversion and import in Google ads to add it on any Campaign you’re running to drive traffic for festival event. 

Once your GTM tags are live and firing, you need to tell GA4 that the generate_lead event is specifically a Conversion (now called a Key Event in the new GA4 interface).

Since you’ve named the event generate_lead in GTM, GA4 often marks this as a conversion automatically because it’s a standard “Recommended Event.”

However, here is how to verify and manually set it up to ensure it shows up in your marketing reports.

Step 1: Mark as Key Event (Conversion)

  • Log into your Google Analytics 4 account.
  • Go to the bottom left and click Admin (the gear icon).
  • Under the Data Display section, click on Events.
  • Look for generate_lead in the list.
  • Toggle the switch under Mark as key event to “On.”

Note: If the event hasn’t appeared in the list yet (it can take 24 hours to show up), you can do it manually:

  • Go to Admin > Key Events.
  • Click New key event.
  • Type the name exactly: generate_lead.
  • Click Save.

Step 2: Change “Counting Method” (Optional but Recommended)

For a camping festival registration, you probably only want to count one registration per person, even if they accidentally submit the form twice.

  • In the Key Events list, find your generate_lead event.
  • Click the three dots (⋮) on the far right.
  • Click Change counting method.
  • Select Once per session (instead of “Once per event”). This prevents “over-counting” if someone refreshes the page.
  • Click Save.

Step 3: View Your Data
After 24 hours, you can see which marketing channels are driving these sign-ups:

  • Go to Reports > Acquisition > Traffic acquisition.
  • Look for the column titled Key Events.
  • Select generate_lead from the dropdown menu to see exactly which sources (Facebook ads, Instagram, Organic Search) are sending you the most registrations for the Tourbugs Camping Festival.

Final: You can also import this to your google ads account although it will be automatically added after 24 hours. Just add the conversion action to your traffic Campaign it would start tracking all form submission as conversion.