Common reasons form-submission tracking doesn’t fire
- GTM container not published - You imported the container but didn’t click Submit → Publish.
- GTM snippet not installed on your site - The GTM code needs to be in your site’s <head> and <body>.
- Form submits via AJAX (no page reload) - A Form Submission trigger in GTM only fires on native HTML form submissions that cause navigation. AJAX forms need a custom event or DOM listener.
- Form plugin intercepts the native submit - Many WordPress and Shopify form plugins call
event.preventDefault(), which stops the native form submit event from reaching GTM. - Confirmation popup instead of redirect - If the form shows a success message inline without navigating, a Page View trigger on a thank-you URL won’t fire.
- Multiple forms on the same page - Your trigger may fire on the wrong form. Use the Form ID or Form Classes variable in your trigger to target the correct form.
- Webflow forms use their own submission handler - Webflow’s native forms submit via AJAX to Webflow’s servers. The native GTM Form Submission trigger won’t detect this. You need to listen for the
submitevent on the form element or detect the success state.
Step-by-step debugging checklist
- Verify GTM is installed - Visit your site, right-click → View Page Source, search for “GTM-”. If you don’t see it, GTM isn’t installed.
- Check GTM Preview mode - In GTM, click Preview. Navigate your site and trigger the event. Look for your tag in the Tags Fired section.
- Check the trigger - If the tag shows as “Not Fired”, click on it to see which trigger conditions aren’t met.
- Check if the form is AJAX-based - Submit the form and watch the browser address bar. If the URL doesn’t change and no full page reload happens, it’s AJAX. You’ll need a Custom Event or DOM listener trigger instead.
- Look for plugin-specific JavaScript events - Many form plugins dispatch custom DOM events on success (e.g., CF7 dispatches
wpcf7mailsent). Use a Custom Event trigger matched to that event name.
Webflow-specific issues
Webflow’s native form handling submits form data via AJAX to Webflow’s servers. After successful submission, Webflow shows a success message div (with a class like .w-form-done) and hides the form. GTM’s Form Submission trigger won’t detect this.
Options for tracking: (1) listen for the submit event on the form element using a Custom HTML tag, (2) use a Mutation Observer to detect when .w-form-done becomes visible, or (3) configure Webflow to redirect to a thank-you page after submission and use a Page View trigger on that URL.
How to verify it’s working
- Open GTM Preview/Debug mode
- Navigate to your site
- Trigger the event (submit the form)
- Check the GTM debug panel - your tag should appear under “Tags Fired”
- Check GA4 DebugView (GA4 → Admin → DebugView) to confirm the event arrived
Still didn’t work?
Our team can help. Describe what’s happening and we’ll get back to you within 24 hours.