How to Track Form Submissions in Google Analytics 4 With Google Tag Manager
ฝัง
- เผยแพร่เมื่อ 28 มิ.ย. 2023
- Tracking form submissions as conversions in Google Analytics 4 is an almost identical process to how it was done in Universal Analytics. I would even argue it is slightly easier.
In this video, I will walk you through how to use Google Tag Manager to send a form submission event to GA4, and then how to turn that event into a conversion inside of GA4.
#FormTracking #GoogleTagManager #GoogleAnalyticsFormTracking
P.S. Sorry about the button clicks. I have no idea why my mic decided to pick them up so loudly.
---
Sign up to receive more tips and strategies to level up your SEO at theseopub.com/
Connect with me: / mikerfriedman
My Toolbox:
🔎 Semrush - Competitor and Keyword Analysis - theseopub.com/semrush
✔ Monday.com - For task management and organizing all of my client work - theseopub.com/monday
🗄 Frase - Content optimization and article briefs - $1 trial offer - theseopub.com/frase
👑 ContentKing App - Site crawler, monitoring, and audit tool - theseopub.com/contentking
Sometimes I tweet about SEO, beer, baseball, and other topics at / theseopub - วิทยาศาสตร์และเทคโนโลยี
After days trying to figure this out and watching every youtube video, I finally made it. Thank you man!
No problem. Happy to help.
Great, clear and simple video, I listened to a few that took me round in circles, I am really happy I stumbled across yours!
Glad you found it helpful.
This video is one of a kind, it resolved a lot of doubts I had. Sincerely thank you!
great video! no beating around the bushes, clear, concise. Thank you! for some reason, it doesnt show my form id, but i used other variables to differentiate forms.
Yeah, there are other variables you can use to identify the form. Usually the form ID is readily available and easy to find. You can even find it in the source code. I just wanted to keep that part of the video simple and not overwhelm people who may not be use to looking at code.
Thanks for a great video - well explained and to the point
Thanks.
This was so helpful! I'm finally able to accurately track my form submissions. OH BTW... found your video using Google Gemini AI - prompt: "find a youtube video that shows me how to track gravity forms submissions with GA4"
So I'm already AI optimized. Awesome! :)
Thank you! This was very helpful.
You are welcome.
thanks, exactly what I was looking for.
You're welcome.
super easy to follow thanks
No problem.
Thank you!
You're welcome.
Thank you!!
Sure. No problem.
Hi, very great video dude. It helped me a lot. Do you have a video to get these events firing up through Google Ads ?
I do not.
Thanks for a super easy-to-follow video! I have set up the event parameter and value for the page url. My question is how do I see this data in GA4? Is there a particular report I need to create in order to see this? Thank you!
Once the events start showing up in GA4, go to Admin >> Events. Then you will see a switch to start tracking that even as a conversion.
Thank you for a great video! I cant see my form submission in "event" or "conversions" but i can se it in the "real time" rapport when I test filling the form. it has gone almost a week since i created the tag - So do you have any tips on how I can make it appear in events and conversions? :)
It won't start appearing right away. It might take a few hours.
Awesome video, thank you! One Q - why can the number of event conversions on the page differ from the number of actual form-fills? Is the 'Form interactions' box checked the only reason?
That is the only reason I have encountered so far for that happening in GA4. I can't really think of anything else that would do it unless there is something weird setup in the form trigger to make it trigger more than once. Have you tried the Preview mode in GTM to see if is triggering twice in Tag Manager?
Great Video, thank you! Is there a way to track from what source a form was received? Like did they fill it out from a Google Ad, a FB ad, from organic search? I am happy to be able to track the forms now, but just wanting to find a way to see how our forms are found on our website from different sources...
Inside Google Analytics you can use one of the traffic sources reports or landing page report to get some ideas where they came from. You could also create custom reports for your needs.
@@TheSEOPub #next video idea. :)
Great video! But I'm also wondering how to tie in tracking our Google Ad traffic towards those form submissions. All form submissions counted as a conversion is great, but it would be even better if we could attribute Google Ad traffic to form submissions as a different conversion knowing not all form submissions on the site are going to come from our ads. Suggestions?
Analytics already does that for you. You would just look at the Traffic Acquisition report or set up a custom report. Right there you can see how many of the form submissions came from ads, organic search, social media, referrals, etc.
Thanks for the content. Could you please help me with the url parameter you have given during the trigger setup. You have said we can track from which page the event is happening.
The value is {{Page URL}}.
@@TheSEOPub Yes that's there in video, you have mentioned it clearly. But in Analytics can we see those urls?
@@tomskurian Currently, there is no report that gives you a complete list or history of the event parameters. You can only see them in the real-time reports, which only show activity for the past 30 minutes.
There are two ways right now to see a complete list of event parameters:
1. Export the data to BigQuery and build the report in BigQuery or in Data Studio.
2. Register the parameter as a Custom Dimension in Google Analytics 4 and then use that to build your report.
@@TheSEOPub Thank you
Can you make a video creating reports with most important data to check after you run a campaign that need form to filled, to define what are some problems?
No. That would be dependent on what data is important to the business. It wouldn't be the same for everyone.
Great video - I have to do 12 forms on Monday and I'm curious if I would be repeating all of these steps 12 times, or if the form submission trigger just happens once? I want to track all 12 forms separately. The client uses Gravity Forms if that makes a difference. This video looks super clear so I'm not too worried about it, but if you have any tips for me to do that many forms, it would be greatly appreciated.
It depends if you want all 12 forms tracked as different events or not. If you want to track each separately, then yes, you will need to do this 12 times.
@@TheSEOPub thanks so much. Going to dive into this now. ::cracks knuckles::
I have another question@@TheSEOPub - when adding the trigger, can I make it so that there is just one trigger, but that it uses the correct form ID for each tag? Or do I do 12 unique triggers for 12 unique tags?
@@taction8412 You have to do 12 triggers. Once the trigger is created, it is created with 1 form ID. 12 triggers. 12 tags.
@@TheSEOPub I created the 12 triggers, 12 tags, and checked that they are all firing. Everything is working correctly. It's been 5 days and GA4 still hasn't recognized any of them for me to mark as conversions. Any idea what could've happened there?
Hi I have question, is that possible to take form submission value, for example my form has 2 attribute which is ID and Cost. Does GA4 can track total Cost from all form that has been submitted that day.
I don't see why you couldn't. It wouldn't be much different than how GA4 can track ecommerce sales.
Hi Mike, not sure why I can’t reply to your comment in the previous thread but to answer your question, I’m using HubSpot for my forms. I’m wondering also if submitting a form for file downloads would be different from submitting a form for eg contact purposes instead. If there’s a difference, wondering if that’s causing the issue of the form variables’ values to be unknown
As far as I know, everything should work the same way for HubSpot. I'm not sure about the file downloads thing, but I can't see why that would cause any sort of an issue. After people submit the form, can you redirect them to a thank you page?
@@TheSEOPub Hi! I have the same problem. I use Framer for the website and Formspark for the form. The form ID is empty for me too. Do you have a solution?
Thank you in advance!
@@bencelaska1586 As I said in the video, if there is no form ID, look for other variables to use... form class, form element, form text, etc.
@@TheSEOPub Thank you! Maybe I didn't notice, but I'll definitely check it now.
If i have 10 questions to fill, can I track at which question people are stoping and exiting the page, to identify which questions shouild be considered to be changed?
I have no idea. That sounds like more of a job of something recording visits like Hotfrog or Clarity.
if i'm using google ads campaign should i create the tag as a google ads conversion or google analytics event?
I would do it as an GA event. Turn that into a conversion. Then import conversions from GA into Google Ads.
For some reason some of the screens are different on my laptop as the google tag managern environment might have been updated. do you have an update to this video?
for example for the google tag event parameter now there's something extra there called Variable type - by default shows Google Tag - event settings that can be edited.
for some reason I can't trigger the form submit although I am submitting plenty of test forms on the website. just like you I have two forms on the same page.
I'm not seeing anything different.
The most common reason for the form not submitting is not turning on the form elements as I show at 2:45 in the video. Also make sure you published the workspace to make it go live.
Second most common reason is not having Tag Manager installed correctly on the page.
I would go back and check those two things first.
I am not getting the form ID after the form is getting triggered. I even check mark all the form variables the way you did in the beginning.
Then look for a different variable (form class, form element, etc.) or see if there are settings in whatever form you are using to change it. If not, if the form is just on one page, you can trigger it to fire on just that URL too.
What happens if I don't see the form submit action in the left column? I just see clicks. How do I add that form submit action?
Did you add the form submission trigger and then submit the form?
Hi Mike, thanks so much for this video. It was helpful! But I'm encountering this issue where all my form variables are unknown so I can't identify the form ID... Any idea how I can fix this, or what's causing the problem?
Did you follow the part at 2:40 to turn on the form variables in Tag Manager?
@@TheSEOPub yes I did. I see them but there’s just no values attached :/
@@vanessetang5153 What are you using to create your form?
@@TheSEOPub I’m using HubSpot
@@TheSEOPubhi, slfr I thought I had replied. I’m currently using HubSpot!
great video! what about 100 pages tracking. Should I connect tag assistant to all pages ?
Tag Manager needs to be on any page you want to track.
@@TheSEOPub so if I enabled single page, it will automatically reflect 100 pages ?
@@kuriasjoy I'm not sure what you mean. The script for Tag Manager must be on every page you want to track.
@@TheSEOPub yes
@@kuriasjoy Did that answer your question?
silly question, but does Google consider website signups as also form_start?
I don't know what you mean by form_start.
Hi. My tag is still not firing (event = gtm.formsubmit) it shows a cross sign (not firing). Followed all steps. any suggestion. what should I check?
I would start with checking that the trigger is set up properly. Also make sure you adjusted the settings in Tag Manager like I show at 2:38 of the video.
The form submission tag is firing on an invalid form submission
In debug view without filling the fields I am clicking on submit button. The form is not submitted but the tag is firining.
Yep. That's the way it works. You can select "Check Validation" on the form submission trigger, but that sometimes interferes with tracking. You can try it and see how it works. Unless your form is overly complex, the number of false submissions should be statistically insignificant. If your form is that complex that it is causing a lot of invalid submissions, I might rethink the form.
Is it possible to fetch the data from the forms? Will the data be available after 30 mins or after as well?
I believe you could do that with either event tracking or custom variables, but I have never tried it. I also wouldn't recommend it. Depending what you are collecting (especially names and email addresses), some of it would likely be considered personal information and violate Google Analytics' terms of service. I'm not a lawyer, but part of the reason we have GA4 now instead of UA is because it is not collecting personal data like UA did.
@@TheSEOPub so the scenario is i am using google tag manager and google analytics with my angular app. There’s a form for which i have created custom events and variables that link my form. Whenever i submit my form the event is triggered and i am able to fetch the event details along with the information of the form in live. But When the event is 30 mins older the information disappears. However it still displays the count of event details so was hoping if this is possible.
@@fitncode I think you can do it with variables or with the event data. It's something I would have to play around with along with a web developer. It's similar to what you can do on the ecommerce side where you can push in data about what people bought, how much they spent, etc. Again, you would just have to be careful about what you are trying to push in there.
I follow every steps in this video but still can't make it. The tag doesn't fire.
When submitting a form on my website it will goes to a thank you page, is that the problem? I see in your video, there is no thank you page after submitting a form. Please help me, thank you very much.
Nope. That would not have any impact. What you can do instead is create an event anytime the thank you page URL is visited and then track that event as a conversion instead.
My Thank you page trigger is not firing. Can anyone advise what could be the issue?
Did you make sure to submit the changes in GTM so the trigger is live?
I do everything in the video step by step but still can not make it. I don't know why the form submit doesn't fire in tag assistant. Can you please help me with this?
You must have missed something. Start with the most obvious. Is the Tag Manager code installed on your website?
Did you turn the form variables on? That's at 2:40.
Did you set up the GA4 event configuration correctly?
Is the form submission trigger set to All Forms or something else? Start with All Forms and make sure it is firing correctly that way.
@@TheSEOPub i dont see Type: Google Analytics: GA4 Configuration to choose. Looks like it is a different GA4 version from yours. Can I message you on Linkedin about my situation?
Hello, I am aware that i frame form tracking is possible only if in my case the form allows to inject GTM codes. They said it is possible and code has been added.
How can I verify if the GTM code has been actually added or nor? Thank you very much.
Just use the preview mode GTM and test it.
Hello @@TheSEOPub , thank you very much for your response. I have a message i GTM assistant saying: "Unknown domain - The domain Gecko Form is not enabled for debugging. Would you like to enable it?". Do I break something if I enable it? Thanks again for helping me.
@@Save_The_Bees_ I don't think it would break anything. I've never seen that message before.
You are using the GTM account used for the domain, right?
@@TheSEOPub Thank you for coming back to me. I am using GTM for the main site and inside a particular page we have an i frame Gecko form embedded. That message which appears at the top is for Gecko domain. My colleagues added the GTM container code to that specific form to make the tracking possible (as I am aware that i frame tracking is possible only if they allows GTM). Have you ever tracked i frame forms with GTM? Thanks again for your reply.
@@Save_The_Bees_ Sorry. I've never used Gecko or tried tracking a form inside of an . I would imagine it works the same though unless the is coming from another site. Then you would probably need to set up cross domain tracking in GA4 across both domains for it to work.
I'm just guessing though. Never had to work with an . I generally avoid them.
Make a video like this but for jotforms please!
It would work the same for Jotforms as long as you are embedding the form on your site with the code and not using an .
Unfortunately, false (error) form submissions are still being tracked for me this way.
I doubt they are a statistically significant portion of your submissions. If they are, you may need to simplify your form so people aren't having so many problems with it. Or you can validate the forms, and see if the tracking still works. It sometimes doesn't.
There is an issue. The tag fires for both successful and failed submissions. I want to track only successful submissions. Please help.
On the form submission trigger, you can select "Check Validation", but that can cause problems in tracking some forms, so test it.
@@TheSEOPub I have tried it also but that too not working. Is there any permanent solution for this.
@@chasjadsajid A coder might be able to create some sort of custom event for you.
I probably wouldn't worry about it too much unless your form is overly complex and you have a lot of false submissions.
@@TheSEOPub Maybe you won't but what if the client requires?
@@chasjadsajid Then you will need to hire someone that can custom code a solution.
I do not have the form ID on my variables, anyone know how to fix it?
Did you turn the variables on like I showed at 2:40 of the video? That would be the most obvious reason for them not showing up.
@@TheSEOPub Yes I have!. I have the Form ID variable, but at 7:06 you copy"fluentform_2" and on my tag manager the result is "", the same for Form Target. If you know the answer to fix it I would be grateful. Thanks for the reply!
@@ItsSilvaa There may be some setting in whatever forms you are using to give it a name and that will usually show up as the ID. If not, use some other unique identifier as I mentioned in the video. Class for example.
is this works on google form on a website?
I never tried it, but probably not. I think the only way to embed a Google Form is through an and to track what happens in an , you need to put Google Analytics onto the website the is coming from. If there is another way to embed a Google Form, then it might work.
This doesn't seem to work for iFrame forms.
Yeah I imagine this wouldn't work for that, nor would just about any other tracking method. You would probably have to track it on the analytics account for the site you are pulling the iFrame from.
Hello if we want data of email I'd also then how we can do that
I have no idea.
@@TheSEOPub hey thanks for the reply I found out that you need create a custom variable for it using the same parameter name which passes in datalayer in backend when somebody tries to register or login
@@akshatadani122 Is that still GDPR compliant?
@@TheSEOPub yes, what I am trying to say is if you have register page on your website, then when ever insert their email I'd for register you will get that data in your backend, you just need that value to pass when register button triggers using datalayer.push function.
would this work if I have wpforms?
Never used wpforms, but I don't see any reason why it wouldn't.
Thank you! what do you use for forms? or your not using wp@@TheSEOPub
My form ID value is: "" . Why I don't have a value like yours?
Did you turn on all the form variables?
@@TheSEOPub yes
@@shaharzohar8616 Then the only thing I can think of is that you are using some odd form plugin or a hand coded form that isn't providing a form ID. As I mentioned in the video, just us some other variable that comes up that is unique to the form instead.
Doesn’t work anymore, when I try to do it I have to set a manual ID, when I do that I get errors
It absolutely does work. I just set one up this week using these exact steps and it worked fine. Instead of an ID, you may have to use some other identifier. Most form solutions tag forms with an ID though. You could also use Form Element or Form Class if they are unique identifies. That or you missed or did a step wrong somewhere along the way.
My form Id changes every time, and I don’t see a reliable way to use the form element. All forms have the same form class. Is there another way to ID the form? (Wordpress)
It doesn't work with WPForms plugin.
so this steps wont work ?
If the form has any sort of unique identifier, such as the ID I used in the video, it should work fine.
what if the form id is an empty string "" ?
I have never seen that. You would either need to find a way to give the form an ID or pick something else that is a unique identifier. Form element or form class would be good options.
@@TheSEOPub I'm having the same issue. The form triggers everything apart from an empty string on Form ID. Did you ever fix this Tryden?
@@JamesWatson-zx8ku Like I said above, just use the form element or form class instead then.
@@TheSEOPub is that instead of using a "form submission" trigger. I don't have those options, so assume I need to configure a new variable in the left variables column?
@@JamesWatson-zx8ku No. You need to use the form submission trigger and change it to some forms instead of all forms. Watch the video starting at 7:10.
how to track form submission.
I would think the same way would work unless the is from another site. In that case, you would have to track it through Analytics on that site.
@@TheSEOPub Yes, the form is from another site. I tried your method, it's not working. Kindly create video on this topic.
@@jassimb280 I would move the form to the main website instead of serving it through an . Maybe you can set up some sort of cross domain tracking to track it properly. I don't know. I would never use a setup like you are describing.
@@TheSEOPub ok