For developers · PH13 · 11 November 2026
Tagging and tracking plan
The pages already push these events to the dataLayer. Developers add the GTM container and map events to each platform. Placeholders are marked [DEV] in the page code.
Events
What the pages send
Every event also carries page_type and study_area. Platform mapping is proposed; Platformance's media team confirms it.
| Event | When it fires | Parameters | Send to | Conversion |
|---|---|---|---|---|
page_context | Every page load, before GTM | page_type, study_area, level, page_language, intake, site_section | Data layer variables only | — |
generate_lead | Thank-you page load after a valid form (once per lead) | programme, lead_study_area, intake | GA4 key event · Google Ads conversion · Meta Lead · Snap SIGN_UP · TikTok SubmitForm · LinkedIn Lead | Primary |
form_submit | Valid form submitted, before redirect | programme, whatsapp_opt_in | GA4 | Back-up for the primary |
form_start | First focus inside the form | form_location | GA4 | — |
form_error | Submit blocked by a validation error | fields (names only) | GA4 | — |
enroll_click | Any Enroll Now button | cta_location, cta_text, programme | GA4 | — |
whatsapp_click | Any WhatsApp button | cta_location | GA4 · Meta Contact · TikTok Contact | Secondary |
apply_click | Continue to the application (SIS) | cta_location, link_url | GA4 · Google Ads secondary conversion | Secondary |
programme_view | A programme panel opens (click or deep link) | programme | GA4 · Meta ViewContent · TikTok ViewContent | — |
study_area_select | Hub tile clicked | target | GA4 | — |
section_nav | Sticky section bar link | section | GA4 | — |
menu_open | Study areas menu opened | — | GA4 | — |
faq_open | A question is expanded | question | GA4 | — |
job_seeker_redirect | 'I'm looking for a job at DAU' chosen in the form | cta_location | GA4. Exclude from remarketing audiences | Negative |
language_switch | العربية link | to_language | GA4 | — |
outbound_click | Any other link opening in a new tab | link_url, cta_location | GA4 | — |
scroll_depth | 25, 50, 75 and 90% of the page, once each | percent | GA4 | — |
Form
Hidden fields sent to HubSpot
Filled automatically from the landing URL and kept for the session.
intake_of_interest | January 2027 (same value as DAU's site form) |
study_area | Page slug, e.g. business |
page_language | en / ar |
landing_page | First page of the session, with query string |
referrer | document.referrer on landing |
utm_source · utm_medium · utm_campaign · utm_content · utm_term | First touch in the session |
gclid · gbraid · wbraid | Google Ads click IDs, for offline conversion upload |
fbclid | Meta click ID (also send _fbc/_fbp via Conversions API) |
ScCid | Snap click ID |
ttclid | TikTok click ID |
li_fat_id | LinkedIn click ID |
enquiry_type | study / job (job is never sent as a lead) |
company_website | Honeypot: must stay empty |
Before go-live
Checks for developers
- Consent banner (PH42) sets Consent Mode v2 to granted or denied before any vendor tag fires.
- GTM container installed in the head and noscript after the body opens; placeholders are marked [DEV] in every page.
- No personal data (name, mobile, email) is ever pushed to the dataLayer or to pixels. Advanced matching only server-side, hashed, with consent.
- generate_lead fires once per lead, on the thank-you page, only after HubSpot returns success.
- Each study area has its own thank-you URL or the lead_study_area parameter, so media can optimise per landing page.
- Click IDs and UTMs reach HubSpot on every lead; admissions are uploaded back to Google Ads and Meta weekly (offline conversions).
- Test with GTM preview, GA4 DebugView, Meta Events Manager, Snap and TikTok pixel helpers, in the Snapchat, TikTok and Instagram in-app browsers.
- UTM convention agreed with Platformance: utm_source = platform, utm_medium = paid_social / cpc / email, utm_campaign = jan27_[audience], utm_content = [ad id].