LR
← Back to projects

DataLayer & Tracking (GTM/GA).

Standardized GTM/GA dataLayer for a multilingual WordPress site: unified events, reliable CTA and form tracking.

wordpressphpjavascriptgtm/ga
DataLayer & Tracking (GTM/GA)

Challenges

  1. 01.Standardize events on a multilingual WordPress site
  2. 02.Infer program/specialty from heterogeneous URLs
  3. 03.Handle dynamic DOM (injected CTAs, forms)
  4. 04.Ensure reliable form tracking (real success) + de-duplication + hash

Solutions

  1. 01.Shared core: init event + logger + utilities + observeDOM
  2. 02.Specific script: CTA/brochure tracking + per-page rules + safe redirect
  3. 03.Maintainable JSON mapping (program/specialty) based on URL
  4. 04.Ninja Forms tracking: snapshot + hooks + MutationObserver + SHA-256
Init dataLayer + unified loggerjavascript
1window.dataLayer = window.dataLayer || [];
2document.addEventListener('DOMContentLoaded', function () {
3 const initEvent = {
4 event: "initialization_page",
5 page_language: wpDataLayer.page_language || '',
6 page_type: wpDataLayer.page_type || '',
7 page_program: wpDataLayer.page_program || '',
8 page_speciality: wpDataLayer.page_speciality || ''
9 };
10 window.dataLayer.push(initEvent);
11 console.log('✅ Event - initialization_page (core):', initEvent);
12});
13
14window.logDataLayerEvent = function(label, data) {
15 console.log(`✅ Event - ${label}:`, data);
16 window.dataLayer.push(data);
17};
→ NextOther projects
DataLayer & Tracking (GTM/GA) | Louis Rotellini