Custom GTM Tracking for Complex Sites and Tools
When built-in triggers cannot see an action, we write custom listeners and templates in Google Tag Manager. Embedded booking tools, chat widgets, calculators, multi-step forms and cross-domain journeys are tracked and sent to GA4, Google Ads and Meta.
- Hidden Action
- Custom Listener
- dataLayer Event
- GTM Tags
- Conversion Data
- Custom JavaScript event listeners
- iframe and postMessage tracking
- Custom GTM tag and variable templates
- Cross-domain session stitching
Sites using embedded tools, custom apps or journeys that standard GTM triggers cannot capture
Actions Standard Triggers Cannot See
Some of your most valuable conversions happen inside tools GTM cannot read by default. Without custom work, they simply do not appear in reports.
- 01
Conversions Inside Iframes
Booking, scheduling and payment widgets load in iframes on another domain, so their confirmations never reach your container.
- 02
Multi-Step Flows Look Like One
Quote builders and multi-step forms change content without page loads, hiding where people drop off along the way.
- 03
Sessions Split Across Domains
Visitors moving to a separate checkout or app domain start a new session, breaking source attribution for the conversion.
Custom Components We Build for You
Each solution is built for your specific tools and code, documented and tested, so it can be maintained after handover.
- 01
Custom Event Listeners
Custom HTML tags that listen for widget callbacks, DOM changes or JavaScript events and push them to the dataLayer.
- 02
postMessage Integration
Listeners for messages sent by embedded tools like Calendly or HubSpot meetings, converted into GTM events.
- 03
Multi-Step Form Tracking
Step-by-step events with step names and numbers, so funnel reports in GA4 show where users leave.
- 04
Custom Templates
Sandboxed GTM tag and variable templates for platforms without an official one, replacing raw custom HTML.
- 05
Cross-Domain Configuration
GA4 linker settings and URL parameter handling so sessions carry across domains and subdomains.
- 06
Custom JavaScript Variables
Variables that parse URLs, clean values, read cookies or format data before it is sent to tags.
How Custom Tracking Captures Hidden Actions
A custom listener detects the action, translates it into a clean dataLayer event, and GTM routes it like any other tracked event.
- 01Hidden ActionBooking confirmed inside an embedded widget
- 02Custom ListenerScript detects the callback or message
- 03dataLayer EventListener pushes a named event with details
- 04GTM TagsCustom event trigger fires platform tags
- 05Conversion DataGA4, Google Ads and Meta record the action
From audit to validated data.
How Custom Tracking projects run. Nothing goes live until it has been tested.
- 01
Audit
Audit the tools, widgets and journeys where actions are currently invisible
- 02
Strategy
Plan the detection method, event names and data for each custom solution
- 03
Implementation
Build listeners, templates and variables in GTM with commented code
- 04
Testing
Test across browsers, devices, slow connections and real user journeys
- 05
Validation
Validate events in GA4 and ad platforms, then publish and document the build
What's Included in Custom Tracking
Everything is documented and handed over, so your team knows exactly what was built and why.
- 01
Technical Feasibility Review
An upfront check of what each tool exposes, so you know what can be tracked before any build begins.
- 02
Custom Code in GTM
Listeners, templates and variables written, commented and organized in clearly named folders.
- 03
Funnel Event Design
Step events designed to support GA4 funnel explorations and remarketing audiences based on progress.
- 04
Cross-Domain Testing
Session continuity checked across every domain in the journey, with referral exclusions set in GA4.
- 05
Edge Case QA
Tests for slow loads, repeat submissions, browser differences and blocked scripts to avoid false or missing events.
- 06
Code Documentation
A written explanation of each custom component, what it depends on and what to check if a vendor changes their tool.
Platforms
The tools involved in a typical Custom Tracking implementation.
- Google Tag ManagerCustom templates
- Google Analytics 4Funnels and events
- Calendly or HubSpotEmbedded widgets
- Google AdsConversion tags
- Meta PixelCustom events
- JavaScriptListeners and APIs
Tested before anything goes live.
Test across browsers, devices, slow connections and real user journeys. Validate events in GA4 and ad platforms, then publish and document the build.
- GTM PreviewEvery trigger tested against real interactionschecked
- Tag AssistantTags load once, in order, with consent respectedchecked
- dataLayer inspectionEvent names and variables match the specificationchecked
- Version notesEach published version documented for rollbackchecked
Each check is repeated after launch on live traffic.
Can every embedded tool be tracked?
Not always. It depends on what the tool exposes. Many booking, chat and form tools send postMessage events or offer callbacks we can listen for. Some provide no signal at all, in which case we look at alternatives like redirecting to a confirmation page or using the vendor's own integration.
Is custom JavaScript in GTM safe?
It can be, when written carefully. We keep custom code small, avoid blocking page rendering, guard against errors and prefer sandboxed custom templates where possible, since templates limit what code is allowed to do. Every piece of code is documented.
What happens if a vendor updates their widget?
Vendor changes can break custom listeners, which is why we document what each listener depends on. If a change affects tracking, the documentation shows exactly what to check. We can also set up simple monitoring in GA4 to flag when an event stops arriving.
Can you track a multi-step form as a funnel?
Yes. Each step fires an event with a step name and number, and completion fires a final event. In GA4 you can then build a funnel exploration to see how many visitors reach each step and where they leave.
Do you build custom GTM templates?
Yes. When a platform has no template in the Community Template Gallery, we can build a custom tag or variable template. Templates are easier to configure than raw custom HTML and run in a sandbox with defined permissions.
- Google Tag Manager
DataLayer Implementation
A documented dataLayer spec and build that gives GTM stable, structured values for every event.
View service → - Lead & Form Tracking
Booking Tracking
Track booked appointments from Calendly, Acuity and other schedulers as real conversions.
View service → - Analytics & Reporting
Tracking Audit
A full review of GA4, GTM, Google Ads and Meta tracking with a prioritized fix list.
View service →
Get Custom Tracking right the first time.
Build a tracking and measurement system you can trust.
Get Free Tracking Audit →Talk to GrowthUper →Free 30-minute review · No obligation