Upskilled GA4 Audit
Red Pandas · Upskilled · tracking hand-over

Upskilled GA4 Audit

The current GA4 setup works, but it counts course enquiries more than once, records brochure requests as enquiries, and doesn't treat contact-form submissions as a key event. Below is what is wrong, what was changed on 28 Oct 2026, and a suggested rebuild.

GA4 property 290186940 (account 3213499) Stream G-MV5MHWE322 GTM GTM-N68QMX, live version 213 Login marketing_ops@upskilled.edu.au

Changed today (read this first)

GA4 page_view was firing twice. GTM's copy is now switched off.

The site's page source hard-codes gtag('config','G-MV5MHWE322'), and the GTM tag GA 4 Config loaded the same ID, so every page sent two page_view events. In GTM v213 I set send_page_view = false on GA 4 Config. Every page now sends one page_view (checked live). GA4 event tags in GTM are unaffected.

Dependency: page_view now comes only from the hard-coded snippet. If the developers remove that snippet, set send_page_view back to true on the same day, or GA4 will get no page views. The GA4-created key event new_lead__course_enquiry (built from page_view) would stop too.

Reporting impact: page views, sessions-based ratios and new_lead__course_enquiry were double-counted up to 28 Oct 2026. Use an annotation and compare like-for-like only after that date.

The Meta work also added two clean, de-duplicated dataLayer events the GA4 setup can reuse: trk_lead and trk_contact. The reference table is at the end.

Problems, most serious first

Critical

One course enquiry counts as two key events

On the thank-you page /enquiry/course-enquiry, GA4 receives:

  • lead___course_enquiry_form_submitted, a key event, from GTM tag DOM Ready - Course Enquiry
  • new_lead__course_enquiry, a key event, from a GA4 "Create event" rule on page_view for that path (it was counted three times while page_view was doubled)
  • Lead - Course Enquiry Form, not a key event, from GTM tag Lead - Course Enquiry Form (AT)

Fix: keep one course-enquiry key event and stop marking the others as key events. Keep their history; don't delete them.

Critical

Brochure requests are recorded as course enquiries

GTM tag GA4 - Analytics - Course Enquiry Form sends Lead - Course Enquiry Form Submitted, but its trigger is Page - Thank You Course Brochure. Every brochure request is reported as a course enquiry, and real course enquiries never send this event.

The Microsoft Ads tag Analytics - Course Enquiry Form (Microsoft UET) has the same wrong trigger. Pass that on to whoever runs Bing.

Fix: point it at the course-enquiry trigger, or retire it as part of the rebuild below.

High

Thank-you page triggers fire on every page load

All form conversions in GA4 (and the Google Ads conversion tag) fire on Page View, URL contains /enquiry/…. A refresh, the back button, a bookmarked or shared thank-you URL, or a crawler all count as another conversion.

Fix: fire conversions from trk_lead / trk_contact instead. These are pushed only after a real form submit, and only once (a reload of the thank-you page doesn't fire again).

High

Contact-form submissions aren't a key event

Lead - Contact Form Submitted (Get in Touch form) arrives in GA4 but isn't marked as a key event. The same goes for Lead - Course Brochure Form Submitted and Lead - Course Enrol Now Form Submission. The only form key events receiving data are the course-enquiry ones, Lead - Funding Form Submitted, Lead_Phone_Call and LiveChat TY page.

Fix: agree with the client which actions are conversions, then mark exactly those.

High

Brochure thank-you page sends three events

/enquiry/course-brochure triggers Lead - Course Brochure Form Submitted, Lead - Course Brochure Form (when the URL has ?course=/courses/) and the misfiring course-enquiry event above.

Fix: one brochure event, with the course passed as a parameter.

Medium

Universal Analytics leftovers

  • Event names use spaces, hyphens and capitals (Lead - Contact Form Submitted). GA4 naming wants letters, numbers and underscores (contact_form_submit). The mixed styles are why the property has Lead - Phone Call, Lead_Phone_Call and lead___phone_call side by side.
  • Tags send UA-style parameters (Action, Label, eventAction, eventLabel). They show in reports only if registered as custom dimensions, and Label = {{Page URL}} duplicates GA4's built-in page location.
  • About 30 "Create event" rules match event_category from the UA days and have received no data in the last 28 days. Several key events on the list are empty (main___lead___course_enquiry, lead___contact_us and others).

Fix: clean up when the new events are live. Un-mark empty key events and remove dead create-event rules.

Medium

Enhanced Measurement overlaps GTM tags

Enhanced Measurement is on. Its click (outbound links) and file_download duplicate GTM tags GA4 - Analytics - Outbound Link Click and GA4 - Analytics - Event PDF Downloaded. Its form_start / form_submit fire for any form, including validation failures, so they aren't conversion-grade.

Fix: keep one source for each interaction. Usually that means turning off EM form interactions and pausing the two GTM duplicates.

Check

Things to confirm

  • enquiryform_form_submit (GTM tag Google Analytics GA4 Event - form_submit, carries user-provided data) is pushed by the site itself. Confirm whether it fires on a successful submit or on any submit click.
  • Unused triggers can go: the 0-tag Data Layer - … triggers, the old ASP.NET click trigger (ctl00_iwGovernmentFunding…), Click - LMS Link and others.
  • The Google Ads conversion tag uses the same thank-you page triggers, so it has the same reload inflation (outside GA4, but worth raising with the Ads owner).

Suggested rebuild

  1. Conversions from dataLayer, not thank-you URLs. Create GA4 event tags on Custom Event triggers trk_lead and trk_contact (the triggers CE - trk_lead and CE - trk_contact already exist in GTM). For example, use generate_lead with form_type = course_enquiry / contact, form_source = {{dlv - trkFormSource}} and event_id = {{dlv - trkEventId}}.
  2. Enhanced conversions / user-provided data. Build a User-Provided Data variable from {{dlv - trkEmail}} and {{dlv - trkPhone}} (phone is already in 61… format) and attach it to those tags.
  3. Key events. Mark the new events as key events. Run old and new side by side for about two weeks, then un-mark the old ones (lead___course_enquiry_form_submitted, new_lead__course_enquiry).
  4. Brochure, Enrol Now, Funding. The trk_ push currently covers only /enquiry/course-enquiry and /enquiry/contact-us. To move the other forms over, extend the thank-you regex and event map in cHTML - Enquiry Thank-you dataLayer Push (trk). The form stash already captures every Kentico CourseEnquiry and StudentSupport form.
  5. Register custom dimensions for any parameter people will report on (form_type, form_source).
  6. Then clean up the UA leftovers, Enhanced Measurement duplicates and dead triggers listed above.

dataLayer events available now

Pushed by the GTM tag cHTML - Enquiry Thank-you dataLayer Push (trk) on the thank-you page, after a real submit. GTM data layer variables for each key already exist (dlv - trkEmail and so on).

KeyExampleNotes
eventtrk_lead / trk_contactLead = Enquire Now popup or any course-enquiry form (sends to /enquiry/course-enquiry). Contact = Get in Touch (sends to /enquiry/contact-us).
trkEventIdenq-1793169…-x8k2Unique per submission. Meta uses it for deduplication; reuse it as GA4 event_id.
trkEmailplain textUse only in a User-Provided Data variable, never as an event parameter (PII).
trkPhone61426…Normalised to E.164 without the plus sign. Same PII rule applies.
trkFirstName, trkLastNameplain textPII, user-provided data only.
trkFormSource/your-careerPage path where the form was submitted. Safe as a parameter.
trkFormIdform-CourseEnquiry-2796Kentico form instance. Changes when the form is rebuilt, so don't build reports on it.

How to test: submit the form, then on the thank-you page run dataLayer.filter(e => /^trk_/.test(e.event)) in the console. A reload of the thank-you page should not add a second entry.

Test submissions already in the system

Three test enquiries were sent on 28 Oct 2026 with email luca@redpandas.com.au, phone 0426831207, name "Marketing Test RedPandas" and comment/company "MARKETING TEST REDPANDAS": two Get in Touch, one Enquire Now popup (from /your-career). Filter them out of GA4 and CRM checks.