FOR WORDPRESS
Smarter Tracking, Strong Analytics
Stronger data, clearer insights, faster growth.
Full Journey Capture
Intent Signals Built-In
1-Click GTM Export
-
12:09:04 PM
page_view
{ "event": "page_view", "page": { "title": "Datalayer Tracker", "url": "https://whittfield.com/", "path": "/", "slug": "whittfield.com", "type": "page", "id": "6685" }, "user": { "role": "administrator" }, "device": { "screen": "2560x1440", "timezoneOffset": 300, "language": "en-US" }, "referrer": "https://whittfield.com/about/", "wp": { "isFrontPage": false, "isArchive": false, "isSearch": false } }
-
12:09:04 PM
gtm.js
{ "gtm.start": 1756660144088, "event": "gtm.js", "gtm.uniqueEventId": 3 }
-
12:09:04 PM
adt_consent_loaded
{ "event": "adt_consent_loaded", "adt_consent_status": "granted", "adt_consent_source": "adt-flag", "gtm.uniqueEventId": 4, "likelyIntent": "deep_dive", "likely_intent": "deep_dive", "stickyStage": "deep_dive" }
-
12:09:05 PM
pixel_health_check
{ "event": "pixel_health_check", "pixels_enabled": true, "dual_mode": true, "meta_ready": false, "tiktok_ready": false, "pinterest_ready": false, "linkedin_ready": false, "any_pixel_ready": false, "status_label": "Dual Pixel Mode
(Waiting for Pixels)", "fill_color": "#ffaa00", "last_checked_at": "2025-08-31T17:09:05.073Z", "hashed_user_id": null, "user_hash_mode": "none" }
-
12:09:04 PM
gtm.dom
{ "event": "gtm.dom" }
-
12:09:05 PM
cookie_consent_update
{ "event": "cookie_consent_update" }
-
8:56:27 AM
visitor_stage
Stage update (finalized intent){ "event": "visitor_stage", "visitor_stage": "deep_dive", "intent_score": 100, "timestamp": "2025-09-01T13:56:27.790Z", "score": 100, "ts": 1756734987789, "lastEvent": "adt_session_exit", "likely_intent": "deep_dive", "likelyIntent": "deep_dive", "stickyStage": "deep_dive", "gtm.uniqueEventId": 8 }
-
12:09:27 PM
timeOnPage
{ "event": "timeOnPage", "seconds": 26, "likelyIntent": "deep_dive", "intentScore": 100, "stickyStage": "deep_dive", "_adt_enriched": true }
-
12:09:39 PM
readingIntent
{ "event": "readingIntent", "likely_intent_key": "deep_dive", "likely_intent": "deep_dive", "intentScore": 100, "stickyStage": "deep_dive", "_adt_enriched": true }
-
12:25:20 PM
tabVisibility
{ "event": "tabVisibility", "state": "hidden", "likelyIntent": "shopper", "stickyStage": "shopper", "_adt_enriched": true }
-
12:28:27 PM
gtm.load
{ "event": "gtm.load" }
-
12:28:24 PM
scrollDepth
{ "event": "scrollDepth", "scrollMode": "simple", "timestamp": "2025-08-31T17:28:24.086Z", "page": {}, "scrollDirection": "none", "scrollVelocity": 16.21, "scrollVelocityBucket": "fast", "scrollPercent": 25, "likely_intent_key": "shopper", "likely_intent": "shopper", "intentScore": 100, "stickyStage": "shopper", "_adt_enriched": true }
-
12:41:11 PM
view_item_list
items: 2{ "event": "view_item_list", "ecommerce": { "currency": "USD", "item_list_name": "Shop – Datalayer Tracker", "item_list_id": "shop--datalayer-tracker", "items": [ { "item_id": "product_0", "item_name": "ADT Widget", "price": 2, "currency": "USD", "index": 0, "item_list_name": "Shop – Datalayer Tracker", "item_list_id": "shop", "item_brand": "", "item_variant": "", "item_category": "Shop", "item_category2": "", "item_category3": "", "item_category4": "", "item_category5": "" }, { "item_id": "product_1", "item_name": "ADT Widget Pro", "price": 2, "currency": "USD", "index": 1, "item_list_name": "Shop – Datalayer Tracker", "item_list_id": "shop", "item_brand": "", "item_variant": "", "item_category": "Shop", "item_category2": "", "item_category3": "", "item_category4": "", "item_category5": "" } ] }, "likely_intent": "detecting", "intentScore": 0 }
-
12:55:00 PM
view_item
items: 1{ "event": "view_item", "ecommerce": { "currency": "USD", "items": [ { "item_id": "advanced-datalayer-tracker", "item_name": "Cart Product", "price": 2, "currency": "USD", "quantity": 1, "item_brand": "", "item_variant": "difficulty: Choose an option", "item_category": "Software", "item_category2": "", "item_category3": "", "item_category4": "", "item_category5": "" } ] }, "likely_intent_key": "detecting", "likely_intent": "deep_dive", "intentScore": 0, "stickyStage": "deep_dive", "_adt_enriched": true, "likelyIntent": "deep_dive", "gtm.uniqueEventId": 9 }
-
1:00:08 PM
add_to_cart
items: 1{ "event": "add_to_cart", "ecommerce": { "items": [ { "item_id": "2820", "item_name": "Advanced DataLayer Tracker – Beginners", "price": 2, "quantity": 1, "currency": "USD", "item_variant": "Beginners", "item_variant_friendly": "Beginners", "variation_attributes": { "Difficulty": "Beginners" }, "variation_attributes_raw": { "Difficulty": "Beginners" } } ] } }
-
1:19:03 PM
view_cart
items: 1{ "event": "view_cart", "ecommerce": { "items": [ { "item_id": "advanced-datalayer-tracker", "item_name": "Advanced DataLayer Tracker - Beginners", "item_category": "", "item_brand": "", "quantity": 1, "price": 2, "currency": "USD", "item_list_name": "Cart", "item_list_id": "cart" } ], "value": 2, "currency": "USD" }, "likelyIntent": "deep_dive", "likely_intent": "deep_dive", "stickyStage": "deep_dive" }
-
1
1:31:31 PM
begin_checkout
items: 11/5 • Checkout Start 1 item -
3
1:31:31 PM
checkout_step_change
items: 03/5 • Review 0 items{ "event": "checkout_step_change", "ecommerce": { "checkout_step": 3, "checkout_step_label": "Review" }, "_adt_enriched": true, "intentScore": 100, "likelyIntent": "detecting", "likelyIntentLabel": "Detecting…", "stickyStage": "cart_add", "utmPresent": "no", "sourceType": "unknown", "likely_intent_key": "cart_add", "likely_intent": "cart_add" }
-
5
1:27:58 PM
purchase
items: 15/5 • Complete 1 item{ "event": "purchase", "ecommerce": { "transaction_id": "8232", "value": 2, "currency": "USD", "items": [ { "item_id": "Advanced DataLayer Tracker - Beginners", "item_name": "Advanced DataLayer Tracker - Beginners", "price": 2, "quantity": 1, "currency": "USD", "item_list_name": "Checkout", "item_list_id": "checkout" } ] }, "likely_intent_key": "cart", "likely_intent": "purchaser", "intentScore": 0, "stickyStage": "purchaser", "_adt_enriched": true, "likelyIntent": "purchaser" }
- ──── 1756650830s later ────
(Try the overlay)
Events Tracked Out of the Box
Advanced DataLayer Tracker doesn’t just capture raw clicks — it delivers the complete picture. Out of the box, more than 50 events are automatically tracked across WordPress and WooCommerce, including page views, cta exposure, scroll depth, add-to-cart, checkout steps, and purchases. But what makes ADT different is the intelligence baked into every signal.
Each event is enriched with consent status, journey stage, and even a “likely intent” score that helps you understand not just what happened, but why it happened. Content intelligence adds another layer, showing which sections drive true engagement. Combined with deduplication, consent gating, and one-click GTM export, you get enterprise-grade analytics without fragile hacks — a data foundation you can trust release after release.
“By combining journey capture, intent signals, and one-click GTM export, this tool delivers a level of clarity and speed that’s simply unmatched. It turns messy analytics into a streamlined engine for growth.”
Track with confidence — every event respects consent and privacy laws.
Built-in Peace of Mind
Stay GDPR/CCPA compliant automatically, without losing critical tracking.
Audit-Ready Reporting
Consent status is baked into every event, making compliance checks quick and easy.
No Data Leaks
Events don’t fire until consent is granted, protecting you from legal or trust issues.
Future-Proof Tracking
Support for TCF v2.2 and consent mode ensures you’re ready for new privacy rules.
See not just what users do,
but why they do it.
See the “Why,” Not Just the “What”
Intent scoring explains user behavior so you know what they’re likely to do next.
Optimize Content That Works
Content intelligence shows which pages, CTAs, and sections actually drive engagement.
Smarter Audience Segments
Build campaigns around real engagement signals like scroll depth and time on page.
Reduce Guesswork
Stop guessing about visitor behavior — know exactly where they are in the journey.
Capture every cart, checkout,
and purchase with clean, reliable data.
More Accurate Conversions
Track every WooCommerce event without duplicates or missing data.
Cleaner Product Data
See SKUs, variants, and categories clearly, making reports easier to analyze.
Recover Lost Insights
Deduplication ensures purchases and carts are logged correctly every time.
Better Campaign ROI
Accurate ecommerce signals mean ad platforms optimize against real conversions.
Save hours with one-click GTM export and real-time debugging.
Save Hours of Setup
One-click GTM export replaces days of manual configuration.
Faster QA
The debug panel makes testing events and payloads easy, no DevTools required.
Fewer Headaches for Teams
Clean, pre-wired exports mean marketing, dev, and analytics teams all see the same truth.
Scalable Analytics
From GTM to pixels, ADT grows with your stack instead of holding it back.
The Only Plugin Built for Enterprise-Grade DataLayers.
Advanced DataLayer Tracker untangles messy tags, unifies ecommerce and engagement tracking, respects consent out of the box, and gives you one-click GTM exports with pixel wiring, intent intelligence, and a real-time debug overlay — everything you need to trust your data and move faster.
Clarity, Control, and Confidence in Your Tracking
The best way to understand ADT is to watch it work. From consent-aware tracking to likely intent scoring and GTM export. Clean events, smart enrichment, and a powerful debug panel — now it’s time to see it for yourself.
Track with confidence — every event respects consent and privacy laws.
Consent-Aware
Tracking
Every event is gated by user consent, ensuring GDPR/CCPA compliance without breaking analytics.
Consent Mode
+ TCF v2.2
Works with Cookiebot, OneTrust, and IAB frameworks so platform consent is always honored.
Audit-Ready
Signals
Events automatically include consent status flags, making compliance reviews faster and easier.
Privacy-First
Defaults
Tracking is minimized until consent is granted — no fragile workarounds or gray areas.
Built-in Peace of Mind
Stay GDPR/CCPA compliant automatically, without losing critical tracking.
Audit-Ready Reporting
Consent status is baked into every event, making compliance checks quick and easy.
No Data Leaks
Events don’t fire until consent is granted, protecting you from legal or trust issues.
Future-Proof Tracking
Support for TCF v2.2 and consent mode ensures you’re ready for new privacy rules.
See not just what users do,
but why they do it.
Visitor Intent
Scoring
ADT calculates likely intent in real time, giving you deeper insight into where users are headed.
Content
Intelligence
Track reading intent, CTA exposure, section engagement, and word count to see what content drives action.
Session
Intelligence
Tracks time on page, active time, and engagement depth to build a richer session profile.
Scroll & Hover
Tracking
Capture micro-engagement signals like scroll depth milestones and hover intent for deeper audience insights.
See the “Why,” Not Just the “What”
Intent scoring explains user behavior so you know what they’re likely to do next.
Optimize Content That Works
Content intelligence shows which pages, CTAs, and sections actually drive engagement.
Smarter Audience Segments
Build campaigns around real engagement signals like scroll depth and time on page.
Reduce Guesswork
Stop guessing about visitor behavior — know exactly where they are in the journey.
Capture every cart, checkout,
and purchase with clean, reliable data.
WooCommerce
Integration
From add-to-cart to checkout, all ecommerce signals are captured and enriched with product metadata.
Export-Ready
Metadata
Every event includes clean IDs, variants, categories, and enrichment — perfect for GA4, BigQuery, or pixels.
Cart & Checkout
Journey
Track view item, view item list, add-to-cart, view cart, checkout steps, and purchase events with full deduplication.
Variant & Attribute
Parsing
Automatically captures human-readable variants like size and color from WooCommerce variation attributes.
More Accurate Conversions
Track every WooCommerce event without duplicates or missing data.
Cleaner Product Data
See SKUs, variants, and categories clearly, making reports easier to analyze.
Recover Lost Insights
Deduplication ensures purchases and carts are logged correctly every time.
Better Campaign ROI
Accurate ecommerce signals mean ad platforms optimize against real conversions.
Save hours with one-click GTM export and real-time debugging.
One-Click GTM
Export
Generate a clean container with events, triggers, and variables pre-wired — no manual setup required.
Live Debug
Panel
QA faster with an on-screen overlay that shows events, ecommerce payloads, session and consent status instantly.
Multi-Pixel
Dispatcher
Send deduped events to Meta, TikTok, Google Ads, and more from one unified data source.
Deduplication
Engine
Built-in safeguards prevent double-fires, duplicate purchases, and noisy data in GA4 or GTM.
Save Hours of Setup
One-click GTM export replaces days of manual configuration.
Faster QA
The debug panel makes testing events and payloads easy, no DevTools required.
Fewer Headaches for Teams
Clean, pre-wired exports mean marketing, dev, and analytics teams all see the same truth.
Scalable Analytics
From GTM to pixels, ADT grows with your stack instead of holding it back.
Consent-Aware Tracking
Every event is gated by user consent, so analytics and pixels only fire when they should.
Privacy First Design
Built to align with GDPR, CCPA, and TCF v2.2 standards — without fragile workarounds.
Respect privacy
by design.
From ecommerce to intent scoring, all signals carry consent status so your dataLayer stays accurate and audit-ready.
Clean, Compliant Data
Each signal carries consent status, giving you a reliable, audit-ready dataLayer with transparency.
CMP Integration Ready
Works with Cookiebot, CookieYes, OneTrust, and TCF v2.2. and More
Understand Visitor Intent with every interaction
Advanced DataLayer Tracker goes beyond events by scoring behavior and surfacing likely intent — from casual browsers to engaged buyers. Every signal is enriched so you can see not just what happened, but why, and act with confidence.
100%
INTENT AWARE
1-100
INTENT SCORE
7+
STAGE LABELS
1st
LIKELY INTENT


Turn Complex GTM Builds into a Single Download
Advanced DataLayer Tracker builds a clean GTM container with your events, triggers, and variables pre-wired. No manual mapping, no copy-paste errors — just export, import, and start tracking. What used to take days of configuration now happens in a single click.
QA Your Tags
Without the Guesswork
Advanced DataLayer Tracker includes a powerful on-screen debug panel that shows events, ecommerce data, and intent signals in real time. No more guessing if tags fired or digging through DevTools. Pin notes, inspect payloads, and confirm consent status instantly — so QA takes minutes, not hours, and your tracking stays bulletproof.
Unlock Smarter Tracking
Schedule a Walkthrough and get to know ADT.
SMARTER DATALAYER
Content Intelligence that Connects Every Interaction
Advanced DataLayer Tracker doesn’t just log clicks — it broadcasts content signals directly into your dataLayer. Word counts, scroll depth, reading intent, CTA exposures, and section engagement are all tracked automatically. The result: you know which content truly drives action, and you can optimize journeys with confidence instead of guesswork.
SMARTER DATALAYER
Deeper Visitor Engagement Tracking
Advanced DataLayer Tracker goes beyond events by scoring behavior and surfacing likely intent — from casual browsers to engaged buyers. Every signal is enriched so you can see not just what happened, but why, and act with confidence.
Read More About
Engagement Enrichment
Click a topic below
Engagement Enrichment
Advanced DataLayer Tracker doesn’t just capture events — it enriches every interaction with context. That means scrolls, clicks, form fills, and ecommerce events are wrapped with signals that explain how engaged the visitor really was and what intent they likely had.
What’s included:
- Depth & Attention – Scroll depth, reading intent, tab visibility, and time signals (time on page vs. active time).
- Content Context – Last section viewed, content stats (word count, read length), and content type detection.
- Micro-Conversions – CTA exposure, form field engagement, hover intent, and video progress.
- Behavioral Insights – Scroll back up, engagement flags, and session profiling.
- Intent Intelligence – A unified intent score (0–100) and qualitative labels (“first-time skimmer,” “engaged returner,” “checkout starter,” etc.) that flow into every event.
Why it matters:
This enrichment transforms raw activity into actionable insights. Instead of knowing that something happened, you learn:
- Did the visitor actually read or just skim?
- Where did they stop paying attention?
- Which CTAs were truly seen?
- How much intent did they show before leaving?
With these signals, you can segment audiences more intelligently, report on engagement with real nuance, and optimize experiences around the moments that matter most.
Intent Score
Beyond single events, ADT continuously computes a session-level intent score — a numeric scale (0–100) that reflects how likely a visitor is to convert.
Why it matters in reporting:
- Universal Benchmark – One number to compare engagement across campaigns, landing pages, and cohorts.
- Audience Segmentation – Build audiences of high-intent vs. low-intent visitors for remarketing.
- Attribution Clarity – See which traffic sources drive sessions with actual purchase or form-fill intent, not just bounces.
- Testing & Personalization – Target overlays, offers, or experiments to high-intent segments.
How it enriches events:
- Fired as
intentScore
with fields:intentScore
→ numeric value (0–100)likelyIntent
→ qualitative label (“first-time skimmer,” “engaged returner,” “checkout starter,” etc.)
- Enriched into nearly every event so you can filter and segment reporting at multiple levels.
Scroll Depth
Scroll depth measures how far down the page a visitor travels — typically at 25%, 50%, 75%, and 100% thresholds. In ADT, this is not just a raw metric: every scroll event is enriched with context like page metadata, user/session state, and inferred intent.
Why it matters in reporting:
- Engagement Quality – It distinguishes between a quick “skim” at 25% versus a deeply engaged session at 75%+. This allows you to classify visitors as skimmers, readers, or engaged returners.
- Attribution Support – When paired with UTM/cookie enrichment, scroll data tells you which traffic sources produce readers vs. bouncers.
- Content Intelligence – Combined with word count and reading intent detection, scroll depth helps approximate how much of your content was truly consumed.
- Intent Scoring – ADT uses scroll depth in its calculation of likely intent (e.g., “first-time skimmer” vs. “searcher with intent”). The further a visitor scrolls, the higher their contribution to the session’s intentScore.
- Micro-conversions – Scroll depth can be treated as a lightweight conversion for long-form pages, especially when no form or checkout is present.
How it enriches events:
Every scrollDepth
event in ADT carries not only the percentage and mode (simple, throttle, or intersectionObserver), but also gets enriched with:
- Page context (title, URL, type, categories)
- User/session profile (visit count, logged-in state)
- Likely intent label + score
This ensures downstream tools (GA4, Looker Studio, BigQuery) can segment by scroll behavior and tie it back to real intent, not just raw activity.
Last Engaged Section
The lastEngagedSection (or lastEngagedSection in ADT) captures which page section a visitor was actively engaging with when they left or switched focus. ADT does this by attaching observers to elements marked with data-adt-section
and recording the last one that was in view when the session ended.
Why it matters in reporting:
- Content Value Signals – Tells you which parts of a page actually held attention. If visitors consistently drop off after “Pricing,” you know where to refine copy or CTAs.
- Intent Insight – The last engaged section can reveal buying stage cues — e.g., finishing at “Testimonials” may suggest trust-building intent, while ending at “Checkout Instructions” indicates strong purchase readiness.
- Journey Mapping – Lets you see not just how far users went (scroll depth) but where they stopped. This provides richer funnel insights for non-ecommerce journeys (whitepapers, product pages, long blog posts).
- Optimization Targeting – Pairs well with A/B testing or personalization by showing which sections actually matter. If “Feature Grid” is often the last engaged area, prioritize content or CTAs there.
How it enriches events:
- The event is logged as
lastEngagedSection
, enriched with:- Section name (from the
data-adt-section
attribute) - Intent metadata (likelyIntent, intentScore)
- Page context (title, type, categories, UTM/cookies if enabled)
- Section name (from the
- Fired only when a visitor leaves the page (e.g., tab close, blur, or unload), ensuring that the final meaningful section is recorded — not every scroll stop.
This signal complements scroll depth: while scroll depth shows how much was seen, lastEngagedSection shows what mattered most right before exit.
Reading Intent
Reading intent is ADT’s way of distinguishing between a casual scroller and a visitor who slows down to actually consume content. It combines scroll behavior with pause timing: when someone has scrolled beyond 50% of the page and lingers instead of skimming rapidly, ADT fires a readingIntent
event.
Why it matters in reporting:
- Content Quality Signal – It shows which pages aren’t just being skimmed but truly read, helping you prioritize articles, product descriptions, or landing pages that foster deeper engagement.
- Better Audience Segmentation – Reading intent marks visitors who are more receptive to education, thought-leadership, or storytelling campaigns vs. those who bounce quickly.
- Campaign ROI – In paid traffic analysis, this signal helps separate empty impressions from traffic that actually consumed your message, giving you a clearer cost-per-engaged-reader metric.
- Lead Nurture Triggers – Marketers can use reading intent as a “micro-conversion,” retargeting people who read deeply but didn’t yet take action.
How it enriches events:
- The
readingIntent
event is enriched with:- Scroll context (percent, mode)
- Time-based interaction (fired only after a meaningful pause, not during quick scrolls)
- LikelyIntent + intentScore (e.g., “first-time reader” vs. “engaged returner”)
- Page metadata & session profile (title, URL, user state, visit count)
This goes beyond raw scroll depth. Where scroll depth answers “Did they reach this far?”, reading intent answers “Did they actually slow down and read?” — a much stronger indicator of meaningful engagement.
Tab Visibility
Tab visibility (also tracked as tabVisibility
in ADT) monitors when a visitor switches away from your page, minimizes the browser, or comes back into focus. This event is triggered through the browser’s visibilitychange
API and provides a lightweight but powerful signal about attention.
Why it matters in reporting:
- True Attention Measurement – A page open in a background tab isn’t the same as active engagement. Visibility events let you separate “loaded” time from “viewed” time.
- Session Quality – A visitor who frequently tabs away may be distracted or not ready to buy, while someone who stays focused shows stronger intent.
- Ad & Content Effectiveness – For publishers or marketers, visibility helps you see if long-form content, videos, or product comparisons are commanding focus.
- Optimization Opportunities – Knowing when users drop attention can guide you to reposition CTAs earlier or adjust page flow to capture interest before distraction.
How it enriches events:
- Fired as
tabVisibility
with astate
value of"visible"
or"hidden"
. - Enriched with:
- Intent metadata (likelyIntent, intentScore)
- Page context (title, type, categories, UTM/cookie signals if enabled)
- Device/session details (screen size, language, visit count, etc.)
- Works alongside timeOnPage and activeTime signals to provide a fuller attention profile, ensuring your reports reflect real engagement, not just technical session duration.
Where time on page shows how long the page was open, and active time shows user interaction, tab visibility bridges the gap — showing when attention was lost and regained.
CTA Exposure
CTA Exposure tracks when a call-to-action (CTA) element actually enters the visitor’s viewport, not just when it exists on the page. ADT watches elements marked with data-adt-cta
, and once a CTA is seen by a user for at least 50% of its height, it fires a ctaExposure
event.
Why it matters in reporting:
- Real Impressions vs. Loads – A CTA at the bottom of the page might technically be “present” from page load, but it only counts as meaningful exposure once a visitor scrolls it into view.
- Conversion Funnel Clarity – You can now see whether visitors had the chance to interact with your CTAs before bouncing, separating “not interested” from “never saw it.”
- Creative Effectiveness – Compare which CTAs (e.g., “Book a Demo” vs. “Get Started Free”) not only appear but are seen, giving you better attribution for A/B tests.
- Optimization Targets – If a CTA has low exposure rates, repositioning it higher in the flow or duplicating it could drastically improve performance.
How it enriches events:
- Fired as
ctaExposure
with alabel
(fromdata-adt-cta-label
or default"unknown"
). - Enriched with:
- Likely intent & intentScore (helping classify whether a user who saw the CTA is a “skimmer” vs. “intent shopper”)
- Page metadata & session profile (title, URL, categories, visit count)
- Consent & pixel readiness (only fires if user tracking is permitted)
By measuring CTA exposure, you answer the crucial question: “Did visitors actually see the offer before deciding not to click?” — turning invisible CTAs into measurable signals for funnel analysis.
Time On Page
Time on Page measures how long a visitor keeps your page open from load to exit. In ADT, this is captured as a timeOnPage
event whenever the user leaves or hides the tab.
Why it matters in reporting:
- Engagement Quality – Tells you whether people are bouncing in seconds or staying long enough to absorb your message.
- Content Performance – Pages with high time on page signal content that resonates, while low dwell times flag pages that may need stronger hooks.
- SEO & Campaign ROI – Google and ad platforms increasingly value engagement metrics. Longer session duration can indirectly boost quality scores.
- Conversion Correlation – Longer time often correlates with higher conversion rates in complex funnels (research, product comparison, enterprise SaaS).
How it enriches events:
- Fired as
timeOnPage
with aseconds
field showing the total elapsed time. - Enriched with:
- Likely intent & intentScore (so a “first-time skimmer” leaving at 8s looks different from an “engaged returner” who stays 3 minutes)
- Page metadata (title, type, categories, UTM/cookies if enabled)
- User/session context (visit count, logged-in state, referrer type)
This goes beyond just tracking pageviews. Pageviews say “they arrived.” Time on page says “they stayed.” It’s one of the most reliable signals of true engagement when combined with scroll depth and reading intent.
Form Field Engagement
Form field engagement goes deeper than just tracking form submissions. ADT captures two lightweight micro-conversions:
form_field_start
→ when a visitor begins typing or interacting with a fieldform_field_complete
→ when they finish editing and move away (blur/change)
This lets you measure form intent long before the final submit.
Why it matters in reporting:
- Early Intent Signals – Starting to type in a field (like email or phone) is already a strong indicator of interest, even if the form is abandoned.
- Funnel Diagnostics – By tracking which fields get started vs. completed, you can identify friction points (e.g., “Company Size” is where users drop).
- Micro-conversions – Not every visitor will submit. Form engagement provides additional KPIs for remarketing and nurturing campaigns.
- Attribution Enrichment – You can see not just which campaigns brought traffic, but which campaigns drove people to begin filling forms.
How it enriches events:
- Fired as
form_field_start
orform_field_complete
with:- fieldName → the name/ID of the field
- formId → identifier (form name, class, vendor ID, etc.)
- Likely intent & intentScore → so you can weigh the strength of the interaction in reporting
- Page + session context → URL, title, referrer, visit count, etc.
Form field engagement turns “invisible intent” into measurable data. Instead of only knowing who submitted, you know who started engaging, how far they got, and where they stopped.
Hover Intent
Hover intent tracks when a visitor lingers their cursor over a specific element (e.g., navigation, CTA button, product image) long enough to suggest curiosity or evaluation. In ADT, this is measured by detecting mouse mouseenter
events and applying a short delay (default ~300ms) before firing a hover_intent
event.
Why it matters in reporting:
- Pre-Click Interest – Even without a click, hovering shows where users are paying attention. It’s a softer intent signal that clicks alone can’t reveal.
- Funnel Drop-off Insight – If users hover over CTAs but don’t click, it may suggest uncertainty, poor messaging, or friction (e.g., missing trust signals).
- Navigation Testing – Hover patterns in menus reveal what users were considering, not just what they selected.
- Creative Validation – Shows whether design elements (icons, tooltips, micro-interactions) successfully attract attention.
How it enriches events:
- Fired as
hover_intent
with anelement
object containing:- text → visible label or text content
- id / class / tag → identifiers for context
- Enriched with:
- Likely intent & intentScore (to classify hover behavior alongside scroll, form, or cart activity)
- Page metadata & session details (title, URL, referrer, visit count)
- Requires consent (won’t fire if analytics tracking is blocked).
Hover intent is a subtle but valuable engagement marker. It helps you see what caught the visitor’s eye — even when they didn’t follow through with a click.
Video Progress
Video progress measures how far a visitor watches embedded videos, firing events at key milestones (25%, 50%, 75%, 100%). ADT listens to <video>
elements and pushes a video_progress
event when those thresholds are crossed. This converts passive video views into measurable, consent-aware engagement signals.
Why it matters in reporting:
- Content Effectiveness – A 75%+ watch rate signals strong engagement, while consistent drop-offs at 25% may indicate weak intros or misaligned content.
- Campaign ROI – Helps prove whether video ads, product explainers, or demo reels are actually consumed, not just loaded.
- Lead Qualification – Visitors who finish videos often have higher intent, making progress milestones a great retargeting trigger.
- Optimization Opportunities – Identifies which videos (or sections within them) hold attention, informing edits, CTA timing, or content placement.
How it enriches events:
- Fired as
video_progress
with:- milestone → the percentage watched (25, 50, 75, 100)
- videoSrc → the video file or stream source
- Enriched with:
- Likely intent & intentScore (deep viewers are weighted more heavily)
- Session profile (visit count, returner vs. new visitor)
- Page context (URL, title, content type, UTM/cookie signals if enabled)
Video progress turns one of the most opaque engagement channels into a clear, trackable funnel — showing not just who pressed play, but who stayed to watch.
Active Time
Active time measures only the moments when a visitor is actually interacting with the page (mouse movement, scrolling, keyboard input). Unlike time on page, which counts even when the tab is idle in the background, active time reflects true attention.
Why it matters in reporting:
- Real Engagement vs. Idle – Separates visitors who left a tab open from those who were genuinely engaged.
- Quality Benchmarks – A page with long idle time but short active time may be open but ignored.
- Campaign ROI – Ensures engagement metrics reflect actual attention for ad/landing page reporting.
How it enriches events:
- Fired as
activeTime
withseconds
= total active seconds. - Enriched with: page metadata, user/session profile, and intent scoring.
Scroll Back Up
Scroll back up detects when a visitor scrolls upward significantly after moving down the page. It’s a subtle but telling signal of comparison, hesitation, or re-reading.
Why it matters in reporting:
- Purchase Hesitation – Often triggered on product or pricing pages when visitors revisit earlier details.
- Content Re-engagement – Shows a user cared enough to go back for clarity or missed info.
- UX Diagnostics – Repeated scroll-back at the same section may highlight confusing layout or messaging.
How it enriches events:
- Fired once per session as
scrollBackUp
. - Enriched with: likely intent, page details, and engagement history.
Content Stats & Type
Content stats automatically analyze the page body to calculate word count and estimated reading length. ADT also detects content type (article, blog, product, category, etc.) and pushes it into the data layer.
Why it matters in reporting:
- Engagement Benchmarks – Compare whether long-form articles actually hold attention vs. shorter ones.
- Content Strategy – See which content types (case studies, product pages, guides) drive the deepest engagement.
- Performance Insights – Correlate word count with scroll depth, reading intent, and conversions.
How it enriches events:
- Fired as:
contentStats
→ withwordCount
andreadLengthMinutes
contentTypeDetected
→ with the detected content type
- Enriched with: page metadata, taxonomy tags, and session profile.
Advanced DataLayer Tracker Features
Category | Features |
---|---|
Core Tracking |
|
Engagement & Attention |
|
E-commerce |
|
Likely Intent & Visitor Stage |
|
Consent & Compliance |
|
Pixels & Ads |
|
Form Tracking |
|
GTM Exporter |
|
Debugging & QA |
|
Architecture & Extensibility |
|
Let’s Talk Data & Tracking
Not sure if Advanced DataLayer Tracker is right for your stack? Use the form below to reach out.
Whether it’s about features, setup, pricing, or custom implementations, we’re here to help. Send us your questions and we’ll get back to you quickly with clear answers. If you’d rather speak to someone schedule a demo call instead.
or use the form below.