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
- In GTM, go to Triggers → New → Trigger Configuration → Page View.
- Choose Some Page Views.
- Set the condition to:
-
Page URL — contains —
form_status=submitted
-
Page URL — contains —
- Name the trigger something clear, like
Form Submitted – All Forms. - 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
- Go to Tags → New → Tag Configuration → Google Analytics: GA4 Event.
- Enter your Measurement ID (your GA4 property).
- Give it an Event Name, e.g.
All_Form_SubmissionorEvent_Form_Submission. You can name it whatever makes sense for your reporting. - Under Triggering, select the trigger you created in Step 1 or Step 2.
- Save the tag.
Step 4: Test in the Preview mode
- Click Preview in GTM.
- Submit a test form on your OpenApply site, as if you were a parent.
- Confirm the tag fires on the success page and the variables show the values you expect.
- 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.