Documentation
Event reference
When each snippet event fires, which Tracking setting enables it, and the fields it sends.
Events the snippet sends once a setting is on. Each entry is the name you will see in the event log: when it fires, which toggle enables it, and the fields that matter.
Session events also carry session_id, tab_id, and session_number. Conversion names (purchase, form_submit, and the rest) are listed in Events & identity. Turn capture on under Tracking.
Page and session
These fire with the snippet on a verified origin. No extra toggle.
Page view
Event: page_view
When: A page loads, including client-side route changes. Fields: page_url, page_title, referrer, timestamp. Client-side and restored pages add reason (spa_navigation, bfcache_restore, or resume_after_idle).
Page exit
Event: page_exit
When: The visitor leaves the page. A real navigation or close, not a tab switch. Once per page view. Fields: page_url, page_title, reason (pagehide or spa_navigation), active_seconds, timestamp.
Session start
Event: session_start
When: A new session starts (first page, or activity after the session timed out). Fields: reason, timestamp.
Session exit
Event: session_exit
When: The session goes idle. Closing a tab sends page_exit and does not end the session by itself. Fields: reason, duration_seconds, active_seconds, ping_count, timestamp.
Content Type Journey
Setting: Content Type Journey.
Adds content_type to page_view and page_exit. The URL stays the specific page. The type is how those URLs compare.
Detected types: homepage, article, page, category, product, cart, checkout, search.
Session content journey
Event: session_content_journey
When: The session ends, with session_exit. The path is the last 10 typed pages in that tab. Fields:
| Field | Meaning |
|---|---|
content_sequence | Path, such as homepage > article > product > cart |
content_counts | How many of each type |
first_content_type | First typed page in the session |
last_content_type | Typed page on screen at the end |
reached_transactional | true when the path included product, cart, or checkout |
pages_typed | How many typed pages are in the sequence |
Content
Setting: Content Intelligence, plus the sub-toggle named on each event.
Content intelligence loaded
Event: content_intelligence_loaded
When: The page is analyzed on load. Setting: Content Intelligence. Fields: content_intelligence.type, depth (shallow, medium, deep, comprehensive), reading_time_minutes, word_count, engagement_score, engagement_potential, primary_intent (transactional, informational, navigational, commercial), plus counts and flags for video, forms, CTAs, pricing, FAQ, and testimonials.
Cta exposure
Event: cta_exposure
When: A marked CTA enters the viewport. Once per CTA per page. Setting: CTA exposure. Fields: cta_label, cta_position, cta_total.
Cta click
Event: cta_click
When: A marked CTA is clicked. Setting: CTA exposure. Fields: cta_container_label, cta_button_label, cta_element_type.
Section engagement
Event: section_engagement
When: A marked section stays in view for 3 seconds. Setting: Section engagement. Fields: section_id, dwell_time_seconds, section_word_count.
Last engaged section
Event: last_engaged_section
When: The visitor returns to the tab after engaging a section. Setting: Last Engaged Section. Fields: section_id, time_since_engagement_ms.
Video
Setting: Video Intelligence.
The snippet finds videos already on the page. No markup is required. It watches HTML5 <video> elements, YouTube iframes, and Vimeo iframes. YouTube embeds get enablejsapi=1 so playback can be read. The snippet loads the YouTube or Vimeo player API only when that embed is on the page. It scans again every few seconds and when the page inserts a video later.
Pause stops the progress check. It does not send its own event.
Video start
Event: video_start
When: Playback starts. Once per video. Fields: video_title, video_url, video_provider (html5, youtube, or vimeo), video_duration (seconds).
Video progress
Event: video_progress
When: Playback reaches 0%, 25%, 50%, 75%, 90%, or 100%. Each milestone once. Fields: video_title, video_url, video_provider, video_duration, video_percent.
Video complete
Event: video_complete
When: Playback reaches the end. Once per video. Fields: video_title, video_url, video_provider, video_duration.
Hover
Hover intent
Event: hover_intent
When: The pointer stays on a button or link for 800ms. A pass across the element does not count. The same element reports once every 30 seconds. Setting: Hover Intent Tracking. Fields: hover_label (the data-adt-hover name, or the button text), hover_element (the tag, such as button or a).
Unmarked buttons and links outside the header, nav, and footer are included when nothing is marked.
Engagement
Setting: The matching engagement toggle. These are Ask-depth signals.
Scroll depth
Event: scroll_depth
When: Scroll passes 25%, 50%, 75%, or 100% on that page. Each threshold once. Fields: scroll_percent, page_path.
Scroll back up
Event: scroll_back_up
When: The visitor scrolls back up a meaningful distance. Fields: scroll_distance, page_path.
Active time
Event: active_time
When: Focused time on the page crosses a milestone, and once more when that stretch ends. Fields: seconds, is_final, page_path.
Tab visibility
Event: tab_visibility
When: The tab is hidden. Fields: state, tab_switches.
Time on page is stored for engagement scores. It does not send its own event.
Clicks
Element click
Event: element_click
When: A tracked button, link, or other control is clicked. Identical clicks are throttled. Setting: Click tracking. Fields: click_type (link, button, or element), element_id, element_tag, element_text. Links also include link_url and is_outbound.
Forms
Setting: Form vendor tracking.
| Event | When |
|---|---|
form_view | The form enters the viewport. Once per form. |
form_start | The visitor focuses a field. |
form_submit | The form is submitted. This is a conversion. |
form_abandon | The visitor leaves after starting and before submitting. |
Fields: form_id, form_name, form_action, form_method, form_vendor, form_vendor_id. Field-level metadata is added only when field tracking is on.
Ecommerce
Setting: Ecommerce tracking. Browse and cart events enrich the journey. purchase is the conversion that credits revenue.
| Event | When |
|---|---|
view_item | A product is viewed |
view_item_list | A product list is viewed |
select_item | A product is chosen from a list |
add_to_cart | A product is added |
remove_from_cart | A product is removed |
view_cart | The cart is viewed |
begin_checkout | Checkout starts |
add_shipping_info | Shipping is added |
add_payment_info | Payment is added |
purchase | The order completes |
refund | An order is refunded |
Fields: currency, value, and items (item id, name, category, price, quantity). Lists include item_list_name.
Names that are aliases
The event log uses the names above. Older or internal names (page_load, ci_video_play, ci_hover_intent, session_ping, adt_form_*) are not a second set of events.
Next
- Tracking — which toggles to turn on
- Events & identity — sessions, user hash, conversion names
- SDK reference —
ADThelpers - Debug overlay — see a live event on the page