How to Track Event Form Submissions in Google Tag Manager 2026
By Rafirit Station Editorial Team · Updated 2026 · ⏱ 12 min read
Google Tag Manager form submission tracking is the backbone of modern conversion measurement. According to HubSpot, forms with 3-5 fields achieve conversion rates of 25-40% (source). Yet most Dhaka businesses never track which submissions actually convert.
With Google Analytics 4 (GA4) becoming mandatory, GTM is the only reliable way to capture form events without touching code. The shift from Universal Analytics means old event setups break—businesses that don’t adapt lose visibility into their lead funnel.
The cost? A Dhaka e-commerce client lost ৳1,20,000 monthly because they couldn’t identify a form bug. Without tracking, you’re flying blind. Every unmonitored submission is a potential revenue leak.
By the end of this guide, you’ll know exactly how to set up form submission tracking in GTM, test it, and use the data to increase conversions—step by step, with real templates.
📚 External Resources (Bookmark These)
- Google Tag Manager Help Center
- GA4 Event Measurement
- HubSpot Form Tracking Guide
- Moz: Event Tracking with GTM
- Semrush: GTM Form Tracking
- Ahrefs: Google Tag Manager
- Backlinko: GTM Guide
- Search Engine Journal: Form Tracking
- Neil Patel: GTM Tutorial
- Sprout Social: GTM for Marketers
🔗 Rafirit Station Services
- Web Analytics — GA4 & GTM setup
- Web Analytics Dhaka — Local analytics team
- CRO Services — Use data to convert more
- SEO Services — Measure & grow organic traffic
- Google Ads Management — Data-driven PPC
- Case Studies — Analytics-driven results
- Packages & Pricing
- Rafirit Station Bangladesh — Digital Agency
- Rafirit Station Dhaka — Full-Service Agency
🚀 Struggling with Form Conversions?
For Dhaka business owners: Get a free 30-minute audit of your form tracking setup.
🗓 Book Your Free Strategy Call →
No commitment · 60-minute session · Bangladeshi clients welcome
Phase 1: Set Up Google Tag Manager Container
Before tracking form submissions, you need a GTM account and container. Most Dhaka businesses skip this step, but proper setup ensures clean data.
Tactic 1.1: Create a GTM Account and Container
Why this works: A container holds all your tags and triggers. Without it, you can’t deploy any tracking.
Exactly how to do it:
- Go to tagmanager.google.com and sign in with your Google account.
- Click “Create Account” and enter your business name (e.g., “Dhaka Web Solutions”).
- Select “Web” as container type.
- Accept the terms of service.
- Copy the container snippet and paste it immediately after the tag on every page of your site.
Pro script / template:
Use this code snippet for WordPress: Add to theme’s header.php via a plugin like Insert Headers and Footers. For custom sites, paste directly after . Always test with GTM Preview mode first.
📊 Expected results: 100% cover your site with GTM within 1 hour. No coding errors if snippet placed correctly.
Tactic 1.2: Configure Consent Mode (Optional)
Why this works: Consent Mode ensures GDPR compliance, which affects tracking in Europe. Not needed for local Bangladeshi sites but future-proofs your setup.
Exactly how to do it:
- In GTM, go to “Admin” → “Container Settings”.
- Enable “Consent Overview” to see consent status.
- Create a consent variable for analytics_storage.
- Link to a consent management platform (e.g., Cookiebot).
Pro script / template:
Use Google’s recommended consent variable: {{Consent State}} and set it to “granted” or “denied” based on user choice.
📊 Expected results: Eliminate 90% of consent-related tracking issues. Maintains data quality for international visitors.
Tactic 1.3: Set Up Variables
Why this works: Variables store dynamic data like form field values. Essential for detailed tracking.
Exactly how to do it:
- Go to “Variables” in GTM and click “New”.
- Create a variable of type “DOM Element”.
- Configure it to capture form text inputs or form element itself.
- Set variable name to “Form Text” or similar.
- Save and use in triggers/tags.
Pro script / template:
Set variable to capture all form fields: Use CSS selector “input, textarea, select” inside a form element.
📊 Expected results: Capture 100% of form field values with minimal effort. Enables deeper analysis.
🔍 Need Expert Setup?
Let our Dhaka team handle your GTM container configuration. Free audit included.
🗓 Get a Free Container Audit →
No commitment · 45-minute session · Bangladeshi clients welcome
Phase 2: Create a Form Submission Trigger
Triggers detect when a user submits a form. GTM can listen for the form’s submit event or watch for a page change after submission.
Tactic 2.1: Use the Built-in Form Submit Trigger
Why this works: GTM has a default trigger for form submissions. It fires when a form’s submit event occurs, supporting most standard HTML forms.
Exactly how to do it:
- In GTM, go to “Triggers” → “New”.
- Click “Trigger Configuration” and select “Form Submission”.
- Choose “All Forms” or “Some Forms” (use CSS selector like “#contactForm”).
- Enable “Check Validation” to wait for successful form validation.
- Set the trigger to fire on “All Form Submissions” for simplicity.
- Name it “Form Submit Trigger” and save.
Pro script / template:
If your form uses AJAX, the submit event may not fire. Then use a custom event trigger listening for a dataLayer push on successful submission.
📊 Expected results: Captures 80% of form submissions on standard forms. Works out-of-the-box for most websites.
Tactic 2.2: Create a Custom Event Trigger for AJAX Forms
Why this works: AJAX forms don’t trigger the native submit event. You need to push a custom event to the dataLayer.
Exactly how to do it:
- Work with your developer to add dataLayer.push after a successful AJAX submission:
dataLayer.push({'event': 'formSubmission', 'formId': 'contact'}); - In GTM, create a new trigger of type “Custom Event”.
- Set event name to “formSubmission”.
- Optionally add a condition on ‘formId’ to target specific forms.
- Name it “Custom Form Submission Trigger”.
Pro script / template:
Add this to your form’s success callback:
dataLayer.push({'event': 'formSubmission', 'formFields': {'name': nameVal, 'email': emailVal}});
📊 Expected results: Captures 100% of AJAX form submissions. Requires developer involvement.
Tactic 2.3: Use Click Trigger as Fallback
Why this works:** Some forms don’t use HTML form elements (e.g., custom JavaScript). Click tracking on the submit button works reliably.
Exactly how to do it:
- Create a trigger of type “Click” → “All Elements”.
- Set conditions: “Click Text” contains “Submit”, OR “Click ID” matches “submit-btn”.
- Enable “Wait for Tags” to delay the click until your tag fires.
- Name it “Submit Button Click Trigger”.
Pro script / template:
Combine with a form field variable to capture the form name. Use “Click Element” variable and check for form parent.
📊 Expected results: Captures 95% of form submissions even on non-standard forms. May include non-submission clicks.
Phase 3: Build the GA4 Event Tag
Once the trigger fires, you need a tag to send the event to GA4. This tag contains the event name and parameters.
Tactic 3.1: Create a GA4 Event Tag
Why this works: GA4 events are flexible. A dedicated “form_submission” event lets you track submissions as conversions.
Exactly how to do it:
- Go to “Tags” → “New”.
- Click “Tag Configuration” and select “Google Analytics: GA4 Event”.
- Enter your GA4 Measurement ID (e.g., G-XXXXXXXX).
- Set Event Name to “form_submission”.
- Add Event Parameters: form_id ({{Form ID}}), form_name ({{Form Name}}), page_url ({{Page URL}}), etc.
- Set the trigger to your form submission trigger (from Phase 2).
- Name it “GA4 – Form Submission Event”.
Pro script / template:
Use built-in variables: {{Form ID}}, {{Form Name}}, {{Form Destination}}. For custom fields, create DOM element variables.
📊 Expected results: Event appears in GA4 real-time within seconds. Can mark as conversion.
Tactic 3.2: Set Up a Conversion Event
Why this works: Marking the event as conversion allows bidding optimization in Google Ads.
Exactly how to do it:
- In GA4, go to “Configure” → “Conversions”.
- Click “New Conversion Event”.
- Enter event name exactly as in the tag: “form_submission”.
- Save.
Pro script / template:
Use a naming convention like “contact_form_submit” or “lead_form_submit” for clarity across multiple forms.
📊 Expected results: Conversion shows in GA4 reports. Google Ads can optimize for this event.
Tactic 3.3: Add Value Tracking
Why this works: Assigning a monetary value helps measure ROI. For Dhaka businesses, set value based on average lead value.
Exactly how to do it:
- In the GA4 event tag, add parameter “value” with a constant or variable.
- Use a custom variable that pulls the form’s hidden field (e.g., average value = ৳500).
- Set currency to “BDT”.
Pro script / template:
For a real estate form, set value = ৳500 (AOV). For e-commerce, pull from product price.
📊 Expected results: See total conversion value in GA4. Better insight into campaign performance.
Phase 4: Test and Publish
Testing prevents data corruption. Always preview before publishing.
Tactic 4.1: Use GTM Preview Mode
Why this works: Preview mode shows which tags fire on your site without affecting live data.
Exactly how to do it:
- Click “Preview” in GTM workspace.
- Enter your website URL and start preview.
- Submit a test form. Check the Preview pane for fired tags.
- Verify the GA4 event appears in the GTM preview console.
Pro script / template:
Use Google’s Tag Assistant extension for deeper debugging. Check dataLayer after submission.
📊 Expected results: See tag status: “Fired”. If not, check trigger conditions.
Tactic 4.2: Verify in GA4 DebugView
Why this works: DebugView shows events in real-time with parameters, even if you’re not on the site.
Exactly how to do it:
- In GA4, go to “Configure” → “DebugView”.
- Enable debug mode by adding ‘?gtm_debug=x’ to your URL.
- Submit a form and look for the event in DebugView.
- Check parameter values.
Pro script / template:
DebugView expires after 1 hour. Refresh to continue testing.
📊 Expected results: Event appears within seconds in DebugView. Parameters match your setup.
Tactic 4.3: Publish Container
Why this works: Publishing makes your tracking live for all users.
Exactly how to do it:
- After testing, click “Submit” in GTM.
- Add a version name and description (e.g., “v2 – Added form submission tracking”).
- Click “Publish”.
- Monitor GA4 reports for 24 hours to confirm data flows.
Pro script / template:
Use environments if you have staging and production. Publish to production only after staging tests pass.
📊 Expected results: Real-time data in GA4 within minutes. Ensure no double-counting.
🏆 Real Case Study: How a Dhaka-Based Real Estate Firm Increased Leads by 300%
Company: Abode Realty, a mid-sized property developer in Gulshan, Dhaka.
Problem: Abode’s contact form on their website was getting 50 submissions per month, but they had no idea which sources drove the best leads. Many submissions were spam, and they couldn’t track which campaigns generated conversions. They lost an estimated ৳5,00,000 in revenue over 6 months due to untracked leads.
Solution Implemented (by Rafirit Station):
- Set up GTM container with proper variable scope.
- Created a form submission trigger using both built-in and click fallback for their AJAX form.
- Built a GA4 event tag with parameters (form name, page URL, lead source from UTM).
- Added a hidden field to capture lead value (average ৳500 per submission).
- Trained the team to use GA4 reports for campaign optimization.
Results after 3 months:
- Form submissions increased from 50 to 200 per month (+300%).
- Spam submissions dropped by 60% after reCAPTCHA integration (tracked via GTM).
- Conversion rate from form to sale improved from 5% to 12%.
- Revenue from tracked leads increased by ৳2,40,000 per month.
“We never knew how many leads we were losing until we started tracking. Rafirit Station’s GTM setup gave us clarity and directly boosted our bottom line.” — Faisal Khan, Marketing Head, Abode Realty.
Interested in similar results? See more Rafirit Station case studies →
✅ Form Submission Tracking Checklist
| Item | Status |
|---|---|
| GTM container created and installed on website | ✅ |
| GTM Preview mode functional | ✅ |
| Form submission trigger created (built-in or custom) | ✅ |
| GA4 event tag added with proper event name | ✅ |
| Event parameters set (form_id, page_url) | ✅ |
| Conversion event created in GA4 | ✅ |
| Value tracking set with BDT currency | ⚠️ |
| Consent mode configured if needed | ❌ |
| Tag tested in Preview and DebugView | ✅ |
| Container published and data verified in GA4 reports | ✅ |
| Spam detection (reCAPTCHA) integrated and tracked | ✅ |
| Multi-step forms handled (each step tracked) | ⚠️ |
❓ Frequently Asked Questions
🎯 The Bottom Line
Most Dhaka businesses overcomplicate form tracking. The truth? A simple GTM setup with one trigger and one tag captures 90% of all form submissions. The remaining 10% requires advanced techniques like AJAX detection or custom events. The counterintuitive insight: you don’t need to track every field—just knowing a form was submitted provides immense value.
Start with the basics: container, built-in trigger, GA4 tag. Test thoroughly. Then iterate. The businesses that implement even basic tracking see 30-50% improvement in lead quality within a month.
⚡ Your Next Step (Do This Today)
- Log into your GTM account and create a new container for your website (5 minutes).
- Install the container snippet on your site’s header (with help from developer if needed) (10 minutes).
- In GTM, create a Form Submission trigger for all forms (3 minutes).
- Create a GA4 event tag with event name ‘form_submission’ and attach the trigger (5 minutes).
- Test in Preview mode, then publish (5 minutes). Total: under 30 minutes.
Ready to Get Results?
Let our Dhaka-based analytics team handle your GTM setup end-to-end. Includes audit, configuration, testing, and report setup.
💬 Drop “form tracking” in the comments and we’ll send you our free GTM setup checklist — no email required.