Comprehensive testing for ListenLayer custom event tracking via SDK API and dataLayer methods
This page tests custom event tracking using two methods:
_ll.track('event_name', { props })dataLayer.push({ event: 'event_name', ... })To debug:
_ll.debug(true) in browser consoleSDK Source: services/collect/tracker/src/
Direct ListenLayer tracking calls
_ll.track('my_event', { key: 'value' })
GTM-style events (captured by rules)
dataLayer.push({ event: 'my_event', ... })
| Rule ID | Name | Event Pattern | Match | Extract Params |
|---|---|---|---|---|
dl_banner_impression |
Banner Impression | custom_banner_impression |
eq | - |
dl_promo_click |
Promotional Click | promo_click |
eq | - |
dl_video_engagement |
Video Engagement | video_* |
sw | video_title, video_duration, video_percent |
dl_form_abandon |
Form Abandonment | *_abandon |
ew | - |
dl_newsletter_signup |
Newsletter Signup | newsletter |
ct | - |
dl_user_action |
User Action | user_ |
sw | action_type, action_value |
SDK API
Simple event tracking using the _ll.track() method with just an event name.
Code: _ll.track('event_name')
SDK API
Event tracking with custom properties passed as the second argument.
Code: _ll.track('event_name', { property: 'value' })
dataLayer eq
Events that match an exact event name. These trigger the dl_banner_impression and dl_promo_click rules.
Code: dataLayer.push({ event: 'exact_event_name' })
dataLayer sw
Events that match a prefix pattern. These trigger the dl_video_engagement and dl_user_action rules.
Code: dataLayer.push({ event: 'video_*' }) or dataLayer.push({ event: 'user_*' })
dataLayer ew
Events that match a suffix pattern. These trigger the dl_form_abandon rule.
Code: dataLayer.push({ event: '*_abandon' })
dataLayer ct
Events that contain a specific substring. These trigger the dl_newsletter_signup rule.
Code: dataLayer.push({ event: '*newsletter*' })
dataLayer
Rules configured with extract_params will pull specific properties from the dataLayer event and include them in the ListenLayer event.
Example: dl_video_engagement extracts: video_title, video_duration, video_percent
These events fire automatically when the page loads. Check the Event Log below to see them.
Fired on DOMContentLoaded:
_ll.track('page_load_sdk_test')dataLayer.push({ event: 'custom_banner_impression', ... })dataLayer.push({ event: 'video_autoplay', ... })Events fired on this page will appear below.