Don't have one? Create one ↗
← All courses

Lesson 16 of 17

Form Start & Submit

① Connect your GTM container

Paste your container ID to load it into this page. It only ever runs here.

Advanced: use a specific environment

Counting form submissions tells you who finished, but not how many started and gave up. A form that 500 people begin and 50 complete has a problem you would never spot from the 50 alone. To see abandonment you need both ends of the funnel.

So the page fires two events, mirroring GA4 Enhanced Measurement: form_start on the first field interaction and form_submit on submit. You build a Custom Event trigger for each, and form_start ÷ form_submit gives you a completion rate.

Goal

Fire a tag on both form_start (first interaction) and form_submit to measure abandonment.

Build it in GTM

  1. Know what the page pushes

    The first time a field is focused the page pushes dataLayer.push({ event: "form_start" }), and on submit it pushes dataLayer.push({ event: "form_submit" }). GTM sees both event names.
  2. Create the form_start trigger

    Go to Triggers → New → Custom Event and set Event name to form_start, matching the pushed string exactly.
  3. Create the form_submit trigger

    Add a second Custom Event trigger with Event name form_submit. Two events means two triggers.
  4. Fire a tag on each

    Add both triggers to your tag's firing triggers (or use two tags). On a real site these are GA4 Event tags, form_start and generate_lead; here a Custom HTML tag named Custom HTML - Test containing <script></script> stands in for either.

Debug in Tag Assistant

Copy this lesson's live URL and paste it into GTM Preview, that is the page Tag Assistant connects to. It has the clickable elements, so this page stays clean for reading.

  1. In your GTM, click Preview.
  2. Paste the live URL above and click Connect.
  3. Interact with the live page and watch your tag fire in Tag Assistant.

What you should expect to see

Focus a field and a form_start event appears in Tag Assistant; submit and a form_submit event follows. Your tag shows under Tags Fired for each, so you can compare the two counts.

Verify your container

Built it? Export your container, Admin → Export Container, choose your workspace, then drop the JSON here to check it against this lesson.

Drop your container .json here

or browse · checked in your browser, nothing is uploaded