The Complete WordPress Event Tracking Reference
This comprehensive guide documents all 45+ tracking events available in Advanced DataLayer Tracker, providing complete tracking event documentation for WordPress analytics events. Whether you’re implementing custom event tracking for unique business needs, setting up ecommerce event tracking for WooCommerce stores, or configuring form tracking events to capture lead data, this reference covers every event type with detailed event parameters and real-world examples.

From core engagement events like scroll depth and active time to advanced session tracking events that measure user journey quality, each event integrates seamlessly with the WordPress datalayer for GTM event tracking and GA4 events WordPress implementations. Use this guide to master conversion tracking WordPress sites require, understand how each event fires, and leverage the full power of enterprise-grade analytics without writing a single line of code.
Why WordPress Event Tracking Matters
WordPress event tracking transforms raw website interactions into actionable analytics data. Unlike basic page view tracking, comprehensive WordPress event tracking captures engagement signals, conversion events, and user intent across your entire site. Whether you’re running a content site, ecommerce store, or lead generation platform, implementing proper WordPress event tracking is essential for understanding user behavior and optimizing conversion rates.
The Advanced DataLayer Tracker plugin makes WordPress event tracking accessible to everyoneโno coding required. With automatic event detection, server-side tracking capabilities, and GTM integration, you can implement enterprise-grade WordPress event tracking in minutes instead of weeks. This comprehensive approach to WordPress event tracking ensures you’re capturing every critical user interaction without gaps in your data.
Modern WordPress event tracking goes beyond simple page views. It includes engagement metrics like scroll depth and active time, conversion events like form submissions and purchases, and session-level summaries that aggregate behavior across multiple pages. This complete WordPress event tracking foundation enables accurate attribution, conversion optimization, and data-driven decision making.
Getting Started with WordPress Event Tracking
Setting up WordPress event tracking with Advanced DataLayer Tracker is straightforward. Once installed, the plugin automatically begins tracking 45+ events without any configuration. Each WordPress event tracking implementation follows industry best practices and integrates seamlessly with Google Tag Manager and GA4.
New to WordPress event tracking? Start with these foundational steps:
- Install Advanced DataLayer Tracker – Get the plugin from WordPress.org or install directly from your admin panel
- Verify Core Events – Confirm the page_view event is firing correctly using the Debug Overlay
- Configure GTM Integration – Export your pre-built container and import it to Google Tag Manager
- Enable Feature-Specific Tracking – Turn on WordPress event tracking for forms, video, ecommerce as needed
- Test Your Implementation – Use the Debug Overlay to validate all events are firing correctly
This WordPress event tracking setup process typically takes 15 minutes or less. Unlike manual implementations that require weeks of developer time, Advanced DataLayer Tracker provides production-ready WordPress event tracking immediately.
Core WordPress Event Tracking
WordPress core event tracking begins with two foundational events that establish the baseline for all analytics data. These core events fire on every page and provide essential context for all subsequent tracking.
- Each event integrates seamlessly with the WordPress datalayer for GTM event tracking and GA4 events WordPress implementations.
- New to Advanced DataLayer Tracker? Start with our Installation Guide or Quick Start Guide.
1. page_view
Event Name: page_view
Fires: Immediately on every page load
Frequency: Once per page
Description: The foundation event that fires on every page load with comprehensive page context and user session data. See our First Successful Event Guide to verify it’s working correctly.
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
page_title | string | Page title | 'About Us' |
page_location | string | Full URL | 'https://example.com/about' |
page_referrer | string | Previous page | 'https://google.com' |
session_id | string | Unique session ID | 'sess_abc123' |
session_number | number | Session count for user | 3 |
page_type | string | WordPress page type | 'page', 'post', 'product' |
logged_in | boolean | User login status | true |
Example DataLayer Push:
{
event: 'page_view',
page_title: 'About Us - Company Name',
page_location: 'https://example.com/about',
page_referrer: 'https://google.com',
session_id: 'sess_abc123_1234567890',
session_number: 1,
page_type: 'page',
logged_in: false
}
2. session_engagement_milestone
Event Name: session_engagement_milestone
Fires: When user crosses engagement thresholds
Frequency: Multiple times per session (at milestones)
Description: Tracks when users reach significant engagement levels during their session.
Milestone Thresholds:
- 30 seconds active time
- 60 seconds active time
- 120 seconds active time
- 3+ pages viewed
- 5+ pages viewed
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
milestone_type | string | Type of milestone reached | 'active_time_30', 'pages_3' |
session_id | string | Session identifier | 'sess_abc123' |
active_time | number | Total active seconds | 35 |
page_views | number | Pages viewed this session | 4 |
Engagement Event Tracking
Effective WordPress event engagement tracking requires understanding how users engage with your content. These engagement events measure true user interaction beyond simple page views, capturing scroll behavior, active time, and intent signals that indicate genuine interest.
For a deep dive into measuring true user engagement, read our complete Engagement Tracking Guide
3. scroll_depth
Event Name: scroll_depth (also scroll_25, scroll_50, scroll_75, scroll_100)
Fires: At scroll milestones
Frequency: Up to 4 times per page
Description: Tracks how far users scroll down the page at key milestones.
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
percent_scrolled | number | Scroll depth percentage | 25, 50, 75, 100 |
page_height | number | Total page height | 3200 |
viewport_height | number | Visible screen height | 800 |
session_id | string | Session identifier | 'sess_abc123' |
Example:
{
event: 'scroll_depth',
percent_scrolled: 75,
page_height: 3200,
viewport_height: 800,
session_id: 'sess_abc123'
}
4. scroll_back_up
Event Name: scroll_back_up
Fires: When user scrolls back up significantly
Frequency: Multiple times per page
Description: Detects when users scroll back up to re-read content, indicating confusion, hesitation, or high engagement with specific sections.
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
scroll_direction | string | Direction of scroll | 'up' |
scroll_amount | number | Pixels scrolled up | 450 |
current_position | number | Current scroll position | 1200 |
session_id | string | Session identifier | 'sess_abc123' |
5. time_on_page
Event Name: time_on_page
Fires: Every 30 seconds
Frequency: Multiple times per page
Description: Tracks elapsed time on page including background time (tab not focused).
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
time_seconds | number | Cumulative seconds on page | 30, 60, 90… |
page_visible | boolean | Tab currently visible | true |
session_id | string | Session identifier | 'sess_abc123' |
6. active_time
Event Name: active_time
Fires: Every 30 seconds
Frequency: Multiple times per page
Description: Most Important Engagement Metric – Tracks only the time users are actively interacting (mouse movement, scrolling, typing, clicking). This is the gold standard for measuring true engagement.
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
active_seconds | number | Cumulative active time | 28, 57, 83… |
page_visible | boolean | Tab currently visible | true |
interaction_rate | number | % of time active | 0.93 |
session_id | string | Session identifier | 'sess_abc123' |
Why It Matters:
- Filters out idle/background time
- True engagement indicator
- Quality traffic measurement
- Lead scoring foundation
7. focus_blur
Event Name: focus_blur
Fires: When tab focus changes
Frequency: Multiple times per session
Description: Detects when users switch tabs or windows, helping understand multi-tasking behavior.
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
visibility_state | string | Tab state | 'visible', 'hidden' |
time_away | number | Seconds tab was hidden | 45 |
session_id | string | Session identifier | 'sess_abc123' |
8. hover_intent
Event Name: hover_intent
Fires: When user hovers over interactive elements
Frequency: Multiple times per page
Description: Detects meaningful hover behavior (500ms+) over buttons, CTAs, and links.
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
element_text | string | Text of element | 'Request Demo' |
element_type | string | Element type | 'button', 'link' |
hover_duration | number | Hover time in ms | 750 |
element_classes | string | CSS classes | 'btn-primary cta' |
session_id | string | Session identifier | 'sess_abc123' |
Content Intelligence Events
Premium Feature
9. content_intelligence
Event Name: content_intelligence
Fires: Shortly after page load
Frequency: Once per page
Description: Automatically detects content type and analyzes page structure without manual tagging.
Auto-Detected Content Types:
homepageproduct_pageblog_postlanding_pagepricing_pageabout_pagecontact_pagedocumentationcheckoutcart
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
content_type | string | Detected content type | 'product_page' |
engagement_score | number | Predicted engagement score | 78 |
content_length | number | Content word count | 1450 |
has_video | boolean | Video present | true |
has_forms | boolean | Forms present | true |
section_count | number | Number of sections | 7 |
session_id | string | Session identifier | 'sess_abc123' |
10. section_engagement
Event Name: section_engagement
Fires: When user dwells on a section
Frequency: Multiple times per page
Description: Tracks which page sections users spend time in (3+ seconds of dwell time).
Markup Required:
<section data-adt-section="hero" data-adt-section-title="Hero Section">
<!-- Your content -->
</section>
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
section_id | string | Section identifier | 'hero' |
section_title | string | Human-readable title | 'Hero Section' |
dwell_time | number | Time spent in section | 12 |
scroll_depth | number | How far they scrolled | 85 |
session_id | string | Session identifier | 'sess_abc123' |
11. last_engaged_section
Event Name: last_engaged_section
Fires: On page exit
Frequency: Once per page
Description: Records which section the user was last engaged with before leaving or tabbing away.
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
section_id | string | Last section ID | 'pricing' |
section_title | string | Section name | 'Pricing Plans' |
total_time_in_section | number | Total dwell time | 23 |
session_id | string | Session identifier | 'sess_abc123' |
12. last_content_type_viewed
Event Name: last_content_type_viewed
Fires: On page exit
Frequency: Once per page
Description: Records the content type of the last page viewed before exit.
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
content_type | string | Content type | 'pricing_page' |
session_id | string | Session identifier | 'sess_abc123' |
13. cta_exposure
Event Name: cta_exposure
Fires: When CTA enters viewport
Frequency: Once per CTA per page
Description: Tracks when call-to-action elements become visible to users.
Markup Required:
<button data-adt-cta="Request Demo" data-adt-cta-position="hero">
Request Demo
</button>
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
cta_text | string | CTA button text | 'Request Demo' |
cta_position | string | Position on page | 'hero', 'footer' |
time_to_exposure | number | Seconds until visible | 3.2 |
scroll_depth_at_exposure | number | Scroll % when visible | 25 |
session_id | string | Session identifier | 'sess_abc123' |
Form Event Tracking
WordPress event tracking for forms is critical for conversion optimization. These events capture the complete form interaction lifecycle, from initial engagement to submission, enabling detailed analysis of form performance and abandonment patterns.
14. form_start
Event Name: form_start
Fires: When user focuses first field
Frequency: Once per form per page
Description: Indicates user intent to complete a form.
Auto-Detected Form Platforms:
- Gravity Forms
- Contact Form 7
- WPForms
- Formidable Forms
- Marketo (Premium)
- HubSpot (Premium)
- Pardot (Premium)
- Generic HTML forms
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
form_id | string | Form identifier | 'contact-form' |
form_name | string | Form name | 'Contact Us' |
form_vendor | string | Detected platform | 'gravity_forms' |
field_count | number | Number of fields | 7 |
session_id | string | Session identifier | 'sess_abc123' |
15. form_submit
Event Name: form_submit
Fires: When form is submitted
Frequency: Once per form submission
Description: The ultimate conversion event for forms.
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
form_id | string | Form identifier | 'contact-form' |
form_name | string | Form name | 'Contact Us' |
form_vendor | string | Detected platform | 'gravity_forms' |
completion_time | number | Seconds to complete | 47 |
field_count | number | Number of fields | 7 |
session_id | string | Session identifier | 'sess_abc123' |
16. form_field_interaction
Event Name: form_field_interaction
Fires: On field blur after interaction
Frequency: Multiple per form
Description: Tracks individual field interactions to identify friction points.
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
form_id | string | Form identifier | 'lead-form' |
field_id | string | Field identifier | 'email' |
field_type | string | Input type | 'email' |
field_name | string | Field name | 'user_email' |
interaction_time | number | Time in field (seconds) | 8 |
total_interactions | number | Focus/blur count | 3 |
field_value_length | number | Characters entered | 24 |
session_id | string | Session identifier | 'sess_abc123' |
Use Case: Identify which form fields cause users to hesitate or abandon.
17. field_interaction
Event Name: field_interaction
Fires: On focus, blur, or change
Frequency: Multiple per field
Description: Granular field-level event tracking.
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
form_id | string | Form identifier | 'lead-form' |
field_id | string | Field identifier | 'email' |
field_type | string | Input type | 'email' |
interaction_type | string | Event type | 'focus', 'blur', 'change' |
session_id | string | Session identifier | 'sess_abc123' |
Video Event Tracking
Video engagement is a key component of modern WordPress event tracking. These events measure how users interact with your video content across multiple platforms including YouTube, Vimeo, Wistia, and HTML5 video players.
18. video_start
Event Name: video_start
Fires: When video begins playing
Frequency: Once per video per page
Description: Tracks video engagement across multiple platforms.
Supported Platforms:
- HTML5 (
<video>tags) - YouTube (iframe embeds)
- Vimeo (Player API)
- Wistia (embed codes)
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
video_title | string | Video title | 'Product Demo' |
video_url | string | Video source | 'https://youtube.com/watch?v=xxx' |
video_provider | string | Platform | 'youtube', 'vimeo', 'html5' |
video_duration | number | Length in seconds | 180 |
video_id | string | Video identifier | 'demo-2024' |
session_id | string | Session identifier | 'sess_abc123' |
HTML5 Markup:
<video
data-adt-video-title="Product Demo"
data-adt-video-id="demo-2024"
controls>
<source src="demo.mp4" type="video/mp4">
</video>
19. video_progress
Event Name: video_progress
Fires: At viewing milestones
Frequency: Up to 6 times per video
Description: Tracks how much of each video users actually watch.
Milestones:
- 0% (start)
- 25%
- 50%
- 75%
- 90%
- 100% (completion)
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
video_title | string | Video title | 'Product Demo' |
video_percent | number | Progress milestone | 75 |
video_current_time | number | Playback position (sec) | 135 |
video_duration | number | Total length (sec) | 180 |
video_provider | string | Platform | 'youtube' |
session_id | string | Session identifier | 'sess_abc123' |
20. video_complete
Event Name: video_complete
Fires: When video reaches 100%
Frequency: Once per video per page
Description: Indicates user watched entire video. Same parameters as video_progress with video_percent: 100.
21. video_pause
Event Name: video_pause
Fires: When user pauses video
Frequency: Multiple times per video
Description: Tracks pause behavior to understand drop-off points or moment of high interest.
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
video_title | string | Video title | 'Product Demo' |
video_current_time | number | When paused (sec) | 67 |
video_percent | number | Percent watched | 37 |
session_id | string | Session identifier | 'sess_abc123' |
Ecommerce Event Tracking
Premium Feature – WooCommerce
WooCommerce WordPress event tracking follows the GA4 ecommerce standard, providing complete purchase funnel visibility. These events track every step from product view to purchase completion, enabling detailed conversion analysis and revenue attribution.
- All ecommerce events follow GA4 standard ecommerce schema.
- WooCommerce tracking follows the GA4 ecommerce specification.
- Setting up WooCommerce tracking? Our E-commerce Tracking Guide walks through the complete setup process.
22. view_item
Event Name: view_item
Fires: On product page load
Frequency: Once per product view
Description: Tracks product page views.
Parameters:
{
event: 'view_item',
ecommerce: {
currency: 'USD',
value: 49.99,
items: [{
item_id: 'SKU-12345',
item_name: 'Wireless Mouse',
item_brand: 'TechBrand',
item_category: 'Electronics',
item_category2: 'Accessories',
item_variant: 'Black',
price: 49.99,
quantity: 1
}]
}
}
23. view_cart
Event Name: view_cart
Fires: On cart page load
Frequency: Once per cart view
Description: Tracks when users view their shopping cart.
Parameters:
{
event: 'view_cart',
ecommerce: {
currency: 'USD',
value: 149.97,
items: [
{ item_id: 'SKU-001', item_name: 'Mouse', price: 49.99, quantity: 1 },
{ item_id: 'SKU-002', item_name: 'Keyboard', price: 99.98, quantity: 2 }
]
}
}
24. add_to_cart
Event Name: add_to_cart
Fires: When item added to cart
Frequency: Once per add action
Description: Critical conversion funnel event.
Parameters:
{
event: 'add_to_cart',
ecommerce: {
currency: 'USD',
value: 49.99,
items: [{
item_id: 'SKU-12345',
item_name: 'Wireless Mouse',
price: 49.99,
quantity: 1
}]
}
}
25. remove_from_cart
Event Name: remove_from_cart
Fires: When item removed from cart
Frequency: Once per remove action
Description: Indicates product friction or price sensitivity.
Parameters: Same structure as add_to_cart
26. begin_checkout
Event Name: begin_checkout
Fires: On checkout page load
Frequency: Once per checkout initiation
Description: User has committed to purchasing.
Parameters:
{
event: 'begin_checkout',
ecommerce: {
currency: 'USD',
value: 149.97,
items: [/* cart items */]
}
}
27. checkout_progress
Event Name: checkout_progress
Fires: At each checkout step
Frequency: Multiple per checkout
Description: Tracks progress through multi-step checkout.
Checkout Steps:
- Cart Review
- Shipping Information
- Payment Information
- Order Review
Parameters:
{
event: 'checkout_progress',
ecommerce: {
checkout_step: 2,
checkout_option: 'shipping_method',
value: 149.97,
items: [/* cart items */]
}
}
28. purchase
Event Name: purchase
Fires: On thank you page
Frequency: Once per completed transaction
Description: The ultimate ecommerce conversion event.
Parameters:
{
event: 'purchase',
ecommerce: {
transaction_id: 'ORDER-12345',
affiliation: 'Online Store',
value: 164.96,
tax: 14.99,
shipping: 0.00,
currency: 'USD',
coupon: 'SAVE15',
items: [{
item_id: 'SKU-12345',
item_name: 'Wireless Mouse',
price: 49.99,
quantity: 1,
item_brand: 'TechBrand',
item_category: 'Electronics'
}]
}
}
Related: Track conversions accurately with our Pixel Manager.
Session Summary Event Tracking
Premium Feature
Advanced WordPress event tracking includes session-level summaries that aggregate user behavior across multiple pages. These powerful events fire once per session on exit, providing comprehensive metrics about the entire user journey.
These events fire once per session on exit (tab close, navigation away, or timeout) and aggregate data from all pages in the session.
Key Feature: Cross-page persistence – summaries fire even if the final page doesn’t have tracking enabled for that specific feature.
Session summaries are powered by our Session Manager. Learn more in the Session Management Guide.
29. session_engagement_summary
Event Name: session_engagement_summary
Fires: On session exit
Frequency: Once per session
Description: Comprehensive engagement metrics rolled up across all pages.
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
session_id | string | Session identifier | 'sess_abc123' |
total_active_time | number | Active seconds | 267 |
total_time_on_site | number | Elapsed seconds | 412 |
engagement_rate | number | Active/elapsed ratio | 0.65 |
page_views | number | Pages viewed | 7 |
max_scroll_depth | number | Deepest scroll | 85 |
pages_scrolled_75 | number | Pages scrolled 75%+ | 4 |
page_quality_score | number | Engagement quality (0-100) | 73 |
scroll_back_ups | number | Re-read events | 3 |
hover_intents | number | CTA hovers | 5 |
Quality Score Formula:
quality_score = (
(active_time_weight * normalized_active_time) +
(scroll_weight * normalized_scroll) +
(page_views_weight * normalized_pages) +
(intent_signals_weight * intent_score)
) * 100
Use Cases:
- Audience segmentation by quality
- Lead scoring
- Campaign performance
- Bot detection (low quality scores)
30. session_content_summary
Event Name: session_content_summary
Fires: On session exit
Frequency: Once per session
Description: Aggregates content intelligence data across pages.
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
session_id | string | Session identifier | 'sess_abc123' |
content_types_viewed | string | Comma-separated list | 'homepage,product,pricing' |
primary_content_type | string | Most viewed type | 'product_page' |
sections_engaged | number | Unique sections | 12 |
top_section | string | Most engaged section | 'pricing-enterprise' |
total_section_time | number | Section dwell time | 87 |
31. session_attribution_summary
Event Name: session_attribution_summary
Fires: On session exit
Frequency: Once per session
Description: Multi-touch attribution data for the session.
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
session_id | string | Session identifier | 'sess_abc123' |
first_touch_source | string | Initial source | 'google' |
first_touch_medium | string | Initial medium | 'cpc' |
first_touch_campaign | string | Initial campaign | 'spring-sale' |
last_touch_source | string | Most recent source | 'email' |
last_touch_medium | string | Most recent medium | 'newsletter' |
last_touch_campaign | string | Most recent campaign | 'product-update' |
touch_points | number | Attribution events | 3 |
utm_parameters | object | All captured UTMs | {...} |
32. session_page_summary
Event Name: session_page_summary
Fires: On session exit
Frequency: Once per session
Description: Context about the final page viewed.
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
session_id | string | Session identifier | 'sess_abc123' |
final_page_type | string | Last page type | 'pricing_page' |
final_page_title | string | Last page title | 'Pricing Plans' |
final_page_url | string | Last URL | '/pricing' |
exit_active_time | number | Active time on last page | 45 |
33. session_video_summary
Event Name: session_video_summary
Fires: On session exit
Frequency: Once per session
Description: Aggregated video engagement metrics.
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
session_id | string | Session identifier | 'sess_abc123' |
videos_started | number | Videos played | 3 |
videos_completed | number | Videos watched 100% | 1 |
video_completion_rate | number | Completion ratio | 0.33 |
total_video_time | number | Seconds watched | 234 |
video_engagement_score | number | Quality score (0-100) | 67 |
most_watched_video | string | Top video | 'Product Demo' |
Video Engagement Score Formula:
- Starts: +10 points per video
- 50% completion: +20 points
- 100% completion: +40 points
- Multiple videos: +15 bonus
- Max: 100 points
34. session_commerce_summary
Event Name: session_commerce_summary
Fires: On session exit (WooCommerce sites)
Frequency: Once per session
Description: Ecommerce behavior summary for the session.
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
session_id | string | Session identifier | 'sess_abc123' |
products_viewed | number | Product pages visited | 7 |
cart_adds | number | Items added to cart | 2 |
cart_removes | number | Items removed | 1 |
checkout_initiated | boolean | Started checkout | true |
purchase_completed | boolean | Completed purchase | false |
session_revenue | number | Revenue if purchased | 0 |
Attribution Events
Premium Feature
35. utm_captured
Event Name: utm_captured
Fires: When UTM parameters detected
Frequency: Once per landing with UTMs
Description: Captures marketing attribution parameters on landing.
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
utm_source | string | Traffic source | 'google' |
utm_medium | string | Marketing medium | 'cpc' |
utm_campaign | string | Campaign name | 'spring-sale-2024' |
utm_term | string | Keyword | 'wireless mouse' |
utm_content | string | Ad variant | 'ad-variant-a' |
session_id | string | Session identifier | 'sess_abc123' |
Storage: UTMs are stored in cookies for 30 days for return visitor attribution.
36. utm_restored
Event Name: utm_restored
Fires: When stored UTMs retrieved
Frequency: Once per return visit
Description: Restores original attribution data for returning visitors.
Parameters: Same as utm_captured plus:
| Parameter | Type | Description | Example |
|---|---|---|---|
days_since_capture | number | Days since first visit | 7 |
return_visit_number | number | Return visit count | 3 |
37. attribution_ping
Event Name: attribution_ping
Fires: Periodically during session
Frequency: Every 2 minutes
Description: Maintains attribution context throughout session.
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
attribution_active | boolean | Attribution tracked | true |
utm_source | string | Current source | 'google' |
session_id | string | Session identifier | 'sess_abc123' |
Consent Events
38. consent_loaded
Event Name: consent_loaded
Fires: When CMP finishes loading
Frequency: Once per page
Description: Indicates consent management platform is ready.
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
cmp_detected | boolean | CMP found | true |
cmp_vendor | string | CMP name | 'cookieyes', 'complianz' |
session_id | string | Session identifier | 'sess_abc123' |
39. consent_granted
Event Name: consent_granted
Fires: When user grants consent
Frequency: Once per consent action
Description: User has given consent for analytics tracking.
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
consent_types | array | Granted categories | ['analytics', 'marketing'] |
session_id | string | Session identifier | 'sess_abc123' |
40. consent_revoked
Event Name: consent_revoked
Fires: When user revokes consent
Frequency: Once per revoke action
Description: User has withdrawn consent.
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
consent_types | array | Revoked categories | ['analytics'] |
session_id | string | Session identifier | 'sess_abc123' |
41. consent_change
Event Name: consent_change
Fires: When consent state changes
Frequency: Multiple per session
Description: Generic consent change event.
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
previous_state | string | Before change | 'denied' |
new_state | string | After change | 'granted' |
consent_category | string | Category changed | 'analytics' |
session_id | string | Session identifier | 'sess_abc123' |
Click Events
42. click
Event Name: click
Fires: On link/button clicks
Frequency: Multiple per page
Description: Generic click tracking with context.
Parameters:
| Parameter | Type | Description | Example |
|---|---|---|---|
link_text | string | Clicked element text | 'Learn More' |
link_url | string | Destination URL | '/products' |
link_domain | string | Link domain | 'example.com' |
link_type | string | Link classification | 'internal', 'outbound', 'download' |
element_id | string | Element ID | 'nav-products' |
element_classes | string | CSS classes | 'btn btn-primary' |
session_id | string | Session identifier | 'sess_abc123' |
Event Firing Patterns
Immediate Events
Fire instantly on trigger:
page_viewform_startform_submitvideo_start- All ecommerce events
click
Milestone Events
Fire at specific thresholds:
scroll_depth(25%, 50%, 75%, 100%)video_progress(0%, 25%, 50%, 75%, 90%, 100%)session_engagement_milestone
Periodic Events
Fire on regular intervals:
active_time(every 30 seconds)time_on_page(every 30 seconds)attribution_ping(every 2 minutes)
Exit Events
Fire on session end:
- All
session_*_summaryevents last_engaged_sectionlast_content_type_viewed
Two-Push Pattern
Important: ADT uses a “two-push” pattern for all events to ensure visibility in GTM Preview mode.
How It Works:
// Push 1: Parameters
window.dataLayer.push({
video_title: 'Product Demo',
video_provider: 'youtube',
video_duration: 180
});
// Push 2: Event trigger
window.dataLayer.push({
event: 'video_start'
});
This ensures GTM Preview can see all parameter values when the event fires.
Custom Event Tracking
Want to fire your own events? Use this pattern:
// From your theme or plugin
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'custom_event_name',
custom_param1: 'value1',
custom_param2: 'value2',
session_id: window.ADTSession?.id() || null
});
Best Practices:
- Use
snake_casefor event names - Include
session_idwhen available - Add descriptive parameters
- Document your custom events
- Avoid conflicting with ADT event names
Learn more about dataLayer implementation from Google’s official documentation.
For GA4 event naming conventions, see Google’s recommended events guide.
Troubleshooting
Events Not Firing?
Check:
- Plugin activated?
- Feature enabled in settings?
- Consent granted (if using CMP)?
- Browser console errors?
- GTM container published?
Debug Commands:
// Check if ADT loaded
console.log('ADT Loaded:', window.ADTData);
// Check session manager
console.log('Session:', window.ADTSession?.id());
// Check dataLayer
console.log('DataLayer:', window.dataLayer);
// View all events
window.dataLayer.filter(e => e.event);
GTM Preview Not Showing Events?
- Clear browser cache
- Use incognito/private window
- Verify GTM container ID matches
- Check if events are blocked by consent
- Enable debug mode in ADT settings
Need help setting up Google Tag Manager? Follow our GTM Setup Guide for step-by-step instructions.
Use the <a href=”https://datalayer-tracker.com/knowledge-base/feature-carousel-breakdown/”>Debug Overlay</a> to see events firing in real-time.
Support
Plugin Settings: /wp-admin/admin.php?page=adt-settings
GTM Export: /wp-admin/admin.php?page=adt-settings&tab=gtm_export
Debug Overlay: Enable in Settings (Premium)
For additional help, consult the plugin documentation or contact support.
For advanced implementation, see our Server-Side Tracking Guide.
Version: 1.0
Last Updated: 2025
Total Events: 42+
WordPress Event Tracking FAQ
What is WordPress event tracking?
WordPress event tracking is the process of capturing and measuring user interactions on your WordPress site. This includes page views, clicks, form submissions, video engagement, ecommerce transactions, and dozens of other behavioral signals that help you understand how visitors use your site. Effective WordPress event tracking provides the data foundation for all analytics and optimization efforts.
Why do I need WordPress event tracking?
WordPress event tracking provides the data needed to make informed decisions about your website. Without proper event tracking, you’re missing critical insights about user behavior, conversion bottlenecks, and content performance. Comprehensive WordPress event tracking enables data-driven optimization, improved user experience, and better ROI on your marketing investments. It’s the difference between guessing and knowing what works.
How do I implement WordPress event tracking?
The easiest way to implement WordPress event tracking is with the Advanced DataLayer Tracker plugin. It automatically tracks 45+ events without requiring any code. Simply install the plugin, configure your GTM integration, and start collecting comprehensive event data immediately. This approach to WordPress event tracking eliminates the weeks of development time typically required for custom implementations.
What’s the difference between WordPress event tracking and Google Analytics?
WordPress event tracking is the foundation that feeds data into Google Analytics. While GA4 displays and analyzes data, WordPress event tracking captures the raw interaction events. Advanced DataLayer Tracker provides the event tracking layer that makes GA4 implementations accurate and comprehensive. Think of WordPress event tracking as the data collection engine, and GA4 as the reporting and analysis tool.
Can I track custom events with WordPress event tracking?
Yes! Advanced DataLayer Tracker supports custom WordPress event tracking. You can fire your own custom events using the dataLayer.push() method, and they’ll integrate seamlessly with the existing WordPress event tracking infrastructure. This flexibility allows you to track business-specific interactions while maintaining consistency with standard event tracking patterns.
Does WordPress event tracking slow down my site?
No. Advanced DataLayer Tracker is optimized for performance and has minimal impact on page load times. The WordPress event tracking code is lightweight, loads asynchronously, and uses efficient event detection methods. Most sites see no measurable performance degradation when implementing comprehensive WordPress event tracking with this plugin.
Is WordPress event tracking GDPR compliant?
Yes, when configured correctly. Advanced DataLayer Tracker includes built-in consent management that integrates with popular CMPs. The WordPress event tracking respects user consent preferences and can operate in server-side mode to enhance privacy compliance. See our Consent Management Guide (https://datalayer-tracker.com/knowledge-base/consent-management-guide/) for complete GDPR compliance setup.
What platforms integrate with WordPress event tracking?
WordPress event tracking through Advanced DataLayer Tracker integrates with Google Tag Manager, GA4, Google Ads, Meta Pixel, TikTok, LinkedIn, Pinterest, and more. The WordPress event tracking data flows into the dataLayer, making it accessible to any tag management or analytics platform that supports the dataLayer standard.
Mastering WordPress Event Tracking
Implementing comprehensive WordPress event tracking is no longer optionalโit’s essential for understanding user behavior and optimizing conversions. With Advanced DataLayer Tracker, you get enterprise-grade WordPress event tracking without the complexity of manual implementation. Every event is automatically detected, properly structured, and ready to integrate with your analytics stack.
From basic page views to advanced session summaries, this WordPress event tracking reference covers everything you need to build a complete analytics foundation. Whether you’re tracking engagement, forms, video, or ecommerce, each event provides valuable insights into how users interact with your site. The comprehensive approach to WordPress event tracking ensures you’re capturing every critical interaction without gaps in your data.
Modern WordPress event tracking goes beyond simple metric collection. It enables sophisticated analysis like multi-touch attribution, customer journey mapping, conversion funnel optimization, and predictive analytics. By implementing proper WordPress event tracking from the start, you build a data foundation that scales with your business and supports increasingly sophisticated analytics use cases.
Ready to transform your WordPress event tracking? Install Advanced DataLayer Tracker today and start capturing the data that drives better business decisions. With automatic event detection, pre-built GTM containers, and comprehensive documentation, you’ll have production-ready WordPress event tracking running in 15 minutes or less.
Questions about WordPress event tracking? Check out our complete documentation (https://datalayer-tracker.com/knowledge-base/) or reach out to our support team for personalized assistance with your WordPress event tracking implementation.
Related Resources
Getting Started
Advanced Guides
- Engagement Tracking Guide
- E-commerce Tracking Guide
- Session Management Guide
- Consent Management Guide