Track Form Submissions in Google Analytics 4 - GA4

The OpenApply Team
The OpenApply Team
  • Updated

This tutorial walks you through setting up conversion tracking for your OpenApply forms in Google Tag Manager (GTM) and Google Analytics 4 (GA4). By the end, you'll be able to count form submissions — across all your forms or just specific ones — as conversions in GA4.

What you'll be able to do

Every time a parent submits a form on your OpenApply site, the success page URL now automatically includes a standard set of tracking parameters. This means you can set up conversion tracking once, and it will work across all your forms — applications, enquiries, event registrations, questionnaires, re-enrolments, and more — without needing custom work from OpenApply each time.

No setup is required on the OpenApply side. These parameters are already live on your instance. 

You only need to configure GTM/GA4 if you want to turn these submissions into tracked conversions.


Understand the URL parameters

After a form is submitted, OpenApply appends these parameters to the success page URL:

Parameter Value Applies to
form_status Always submitted All forms
form_type The form type, matching the name shown in form settings All forms
event_type The event type (e.g. Open Day, Tour) Event forms only
form_name The actual form name/title All forms except Re-Enrolment

If you were already tracking conversions using the older application_success or enquiry_success=true parameters, those still work and haven't changed.

form_type reference

Form type in Admin → Forms → Form Settings form_type value
Registration of Interest registration_of_interest
Application application
Supplementary supplementary
Questionnaire questionnaire
Event event
Enrollment enrollment
Re-Enrollment (any status) reenrollment
Feeder School Reference feeder_school_reference
Alumni alumni
Constituent constituent
Contact ⛔️ Not supported yet

A note on spaces and special characters

form_name and event_type come straight from your form title or event name, so if those contain spaces or symbols, the URL will encode them. In the URL, a space becomes a plus sign (+), and other special characters are percent-encoded.

Name in OpenApply How it appears in the URL
Open Day event_type=Open+Day
Grade 1 Application form_name=Grade+1+Application
Application & Contract (2025/26) form_name=Application+%26+Contract+%282025%2F26%29

Before you start

You'll need to have GTM installed on your OpenApply instance and a GA4 property connected. 

If GTM is not yet installed, you need to install it under Settings > Integrations > Google Analytics


Step 1: Create a trigger for form submissions

  1. In GTM, go to Triggers → New → Trigger Configuration → Page View.
  2. Choose Some Page Views.
  3. Set the condition to:
    • Page URL — contains — form_status=submitted
  4. Name the trigger something clear, like Form Submitted – All Forms.
  5. Save.

⚠️ One important note for schools already tracking conversions: Always use contains, instead of equals. A trigger set to "equals" locks onto one exact URL, and it will silently stop firing the moment any extra parameter gets added to that URL. 

Step 2: Create triggers for specific forms

If you only want to track one form type, or one individual form, add a second condition to the same trigger.

Only event forms:

  • Page URL contains form_status=submitted
  • AND Page URL contains form_type=event

Only one named form:

  • Page URL contains form_status=submitted
  • AND Page URL contains form_name=Open+Day+2026

Note: use the URL-encoded value (Open+Day+2026), not the plain name as it appears in your form settings (Open Day 2026).

Step 3: Create the GA4 event tag

  1. Go to Tags → New → Tag Configuration → Google Analytics: GA4 Event.
  2. Enter your Measurement ID (your GA4 property).
  3. Give it an Event Name, e.g. All_Form_Submission or Event_Form_Submission. You can name it whatever makes sense for your reporting.
  4. Under Triggering, select the trigger you created in Step 1 or Step 2.
  5. Save the tag.

Step 4: Test in the Preview mode

  1. Click Preview in GTM.
  2. Submit a test form on your OpenApply site, as if you were a parent.
  3. Confirm the tag fires on the success page and the variables show the values you expect.
  4. Once confirmed, click Submit in GTM to publish the container live.


FAQ

1. My conversion tracking stopped working recently — did something break? 

Most likely, no bug — this is almost always a trigger set to "equals" instead of "contains." Check your GTM trigger's match type and switch it to "contains" as shown in Step 2.

2. Does this affect the old application_success / enquiry_success parameters? 

No, those are unchanged. Only triggers using an exact-match ("equals") rule need updating.

3. Do the parameters show up on my own custom redirect/thank-you page? 

Yes — for embedded forms with a custom redirect, the parameters are appended to your configured thank-you page URL. If you're tracking that page with an exact URL match, apply the same "contains" fix.

4. Why doesn't form_type tell me if a re-enrolment was confirmed, undecided, or declined? 

One re-enrolment submission can cover a whole family, with a different decision for each child, so a single form type can't capture that. Every re-enrolment submission reports form_type=reenrollment. If you need the breakdown by decision, use the REE dashboard instead.

5. Why is there no form_name for Re-Enrolment forms? 

For the same reason — one submission can involve several re-enrolment forms, or none at all. Trigger on form_type=reenrollment instead.

6. A parent refreshed the success page — did that count as two submissions? 

Yes, most likely. Refreshing the page, or navigating back and forward, re-fires the GTM Page View trigger. If your GA4 numbers look higher than your actual submission count in OpenApply, this is usually why. As a workaround, report on users rather than events in GA4.

7. Does this work for forms embedded on our own website? 

Yes, but the tracking rule needs to live in the GTM container running on the page where the parent actually lands:

  • With a custom redirect URL, that's your school's own website container.
  • Without one, the parent stays on an OpenApply page, so it's the container installed in OpenApply that needs the rule.

8. Does the form name change based on the parent's language? 

No. form_name always reflects the form's original title, not the translated version, so your GA4 data stays consolidated regardless of what language parents used.

9. What happens if I rename a form? 

form_name will reflect the new name going forward, but historical data isn't rewritten — so GA4 will show the old and new names as two separate values. If you rename forms often, trigger on form_type instead, or time renames to the start of an admissions cycle.


 

Share

Was this article helpful?

1 out of 1 found this helpful