boltEvents & Variables

Complete reference for all tracked events and variables

GitBook Assistant

This is the complete reference for all events and variables captured by ListenLayer's website tracking.


Event & Variable Naming

ListenLayer uses two naming formats:

Format
Where Used
Example

Short Code

Wire format (SDK → Edge)

pv, clk, fsu

Long Name

Data warehouse, event_type field

pageview, click, form_submit

Tables below show both formats. See Code Examples for full event structures as they appear in the data warehouse.


Standard Events

ListenLayer automatically tracks these events without any configuration (although you can use the SDK API to explicitly provide eCommerce events and identity events). Events are grouped by category and the tables indicate the event type collected from each event.

Core Events

Fundamental page and session tracking.

Short Code
Long Name (Event Type)
Description

pv

pageview

Page load or SPA navigation

ss

session_state

Session end with engagement metrics

con

consent

User consent preferences changed

pd

platform_detection

Third-party platform detected on page

See Code Examples → Core Events for full event payload structures.

Click Events

ListenLayer automatically tracks clicks on links, buttons, download links, phone/email links, and elements with role="button". You can also track clicks on any element by adding data-ll-* attributes or configuring custom click rules in your account settings.

Short Code
Long Name
Description

clk

click

User clicked an interactive element

chevron-rightClick Typeshashtag

Each click includes a click_type field that classifies the interaction:

Type
Description

link

Standard link click

button

Button element click

download

File download link

tel

Phone number link

mailto

Email link

cta

Call-to-action element

rule

Click matched a tracking rule

other

Other clickable element

chevron-rightCustom Click Ruleshashtag

Click rules let you track specific elements that aren't automatically tracked. Configure rules in your account settings with a CSS selector:

When a rule matches, the click_type becomes rule and the rule field contains your rule ID.

Custom Attributes

Add data-ll-* attributes to any element to track it automatically:

These attributes are captured in the event payload.

See Code Examples → Click Events for full event payload structures.

Scroll Events

Page engagement depth tracking at milestones: 25%, 50%, 75%, 90%, 100%.

Short Code
Long Name
Description

scr

scroll

User scrolled to depth milestone

See Code Examples → Scroll Events for full event payload structures.

Form Events

Complete form lifecycle tracking.

Short Code
Long Name
Description

fl

form_load

Form added to page

fv

form_visible

Form scrolled into viewport

fs

form_start

User begins interacting with form

ffs

field_start

User focuses on a field

ffc

field_complete

User completes a field

fsc

form_step

Multi-step form progresses

fvf

form_validation_fail

Form validation error

fsu

form_submit

User submits form

fab

form_abandon

User leaves without submitting

See Code Examples → Form Events for full event payload structures.

See Integrations → Forms for a list of form platforms we automatically track.

Identity Events

ListenLayer automatically detects identity from forms, chats, and other sources. See Identity for configuration and SDK usage.

Short Code
Long Name
Description

id

identify

Explicit identity via _ll.identify()

pp

possible_person

Detected identity (form, chat, etc.)

See Code Examples → Identity Events for full event payload structures.

Chat Events

Chat widget interaction tracking.

Short Code
Long Name
Description

chl

chat_load

Chat widget loaded on page

cho

chat_open

User opened chat widget

chs

chat_start

User began conversation

cms

chat_message_sent

User sent a message

cmr

chat_message_received

Bot or agent sent message

cec

chat_email_captured

Email collected in chat

cmb

chat_meeting_booked

Meeting scheduled via chat

cof

chat_offline_form

Offline form submitted

che

chat_end

Conversation ended

See Code Examples → Chat Events for full event payload structures.

See Integrations → Chat for a list of chat platforms we automatically track.

Video Events

Video engagement tracking.

Short Code
Long Name
Description

vld

video_load

Video player loaded

vpl

video_play

User pressed play

vpa

video_pause

User paused video

vpr

video_progress

Video reached progress milestone

vsk

video_seek

User seeked in video

ven

video_end

Video completed

vfs

video_fullscreen

Fullscreen toggled

vmt

video_mute

User muted video

vum

video_unmute

User unmuted video

See Code Examples → Video Events for full event payload structures.

See Integrations → Video for a list of video platforms we automatically track.

Scheduling Events

Meeting booking tracking.

Short Code
Long Name
Description

sld

scheduling_load

Scheduling widget loaded

sop

scheduling_open

Widget opened

sds

scheduling_date_selected

User selected a date

sts

scheduling_time_selected

User selected a time

sfs

scheduling_form_start

User began booking form

sch

scheduling_scheduled

Booking confirmed

sca

scheduling_cancelled

Booking cancelled

srs

scheduling_rescheduled

Booking rescheduled

sbc

scheduling_confirmed

Confirmation received

See Code Examples → Scheduling Events for full event payload structures.

See Integrations → Scheduling for a list of scheduling platforms we automatically track.

eCommerce Events

Complete purchase funnel tracking.

Short Code
Long Name
Description

evi

view_item

User viewed a product

eil

view_item_list

User viewed product list/category

esi

select_item

User selected a product

atc

add_to_cart

Product added to cart

rfc

remove_from_cart

Product removed from cart

eca

view_cart

User viewed cart

eco

begin_checkout

Checkout started

esh

add_shipping_info

Shipping details entered

epi

add_payment_info

Payment details entered

epu

purchase

Purchase completed

erf

refund

Purchase refunded

epr

view_promotion

Promotion viewed

eps

select_promotion

Promotion selected

ewl

add_to_wishlist

Item added to wishlist

See Code Examples → eCommerce Events for full event payload structures.

See Integrations → eCommerce for a list of eCommerce platforms we automatically track.


Custom Events

Use the _ll object to track custom events, identify people, and capture eCommerce transactions. The _ll object is available globally after installing the ListenLayer script.

Ensure SDK is Ready

Custom events may fire before the SDK finishes loading. Wrap calls with waitFor() to prevent race conditions:

circle-exclamation

Generic Events

Track any event specific to your business using _ll.track():

Short Code
Long Name
Description

cus

custom

Any event tracked via _ll.track(); the event name is captured in the name property

See Code Examples for more patterns including revenue tracking and content interactions.

chevron-rightReserved Event Nameshashtag

These names are reserved for ListenLayer's automatic tracking and cannot be used with _ll.track():

Core Events pageview, pv, session_state, ss, consent, possiblePerson, pp

Click Events click, linkClick, buttonClick, ctaClick, downloadClick, telClick, mailtoClick

Form Events form, formLoad, formVisible, formStart, formFieldStart, formFieldComplete, formStepChange, formValidationFail, formSubmit, formAbandon, form_load, form_visible, form_start, form_field_start, form_field_complete, form_step_change, form_validation_fail, form_submit, form_abandon, fl, fv, fs, ffs, ffc, fsc, fvf, fsu, fab

Engagement Events scroll, scrollDepth, contentEngagement, pageExit

Identity Events identify, identifyPerson

Chat Events chat, chatLoaded, chatOpened, chatStarted, chatMessageSent, chatMessageReceived, chatEmailCaptured, chatMeetingBooked, chatOfflineForm, chatEnded, chat_loaded, chat_opened, chat_started, chat_message_sent, chat_message_received, chat_email_captured, chat_meeting_booked, chat_offline_form, chat_ended, chs, cho, che, cms, cmr, cec, cmb, cof

Video Events video, videoLoaded, videoPlay, videoPause, videoProgress, videoSeek, videoEnd, videoFullscreen, videoMute, videoUnmute, video_loaded, video_play, video_pause, video_progress, video_seek, video_end, video_fullscreen, video_mute, video_unmute, vpl, vpa, vpr, vpg, ven, vsk, vmt, vum, vfs, vxf

Scheduling Events scheduling, schedulingLoaded, schedulingOpened, schedulingDateSelected, schedulingTimeSelected, schedulingFormStarted, schedulingScheduled, schedulingCancelled, schedulingRescheduled, scheduling_loaded, scheduling_opened, scheduling_date_selected, scheduling_time_selected, scheduling_form_started, scheduling_scheduled, scheduling_cancelled, scheduling_rescheduled, sld, sop, sds, sts, sfs, sch, sca, srs, sbc

eCommerce Events ecommerce, view_item, view_item_list, select_item, add_to_cart, remove_from_cart, view_cart, begin_checkout, add_shipping_info, add_payment_info, purchase, refund

circle-info

Reserved name checking is case-insensitive. For example, PageView, PAGEVIEW, and pageview are all reserved.

DataLayer Method

ListenLayer intercepts dataLayer.push() calls and can capture them as custom events based on rules in your account—no code changes required.

Short Code
Long Name
Description

cus

custom

DataLayer event matched by a rule

When a dataLayer push matches a rule, it becomes a custom event. The rule ID you configure in your account becomes the event's name field, and the original event property is preserved as _dl_event in the params.

See Code Examples → DataLayer Events for dataLayer patterns and how they translate to your data warehouse.

Identify People

Associate visitors with known identity information:

Calling _ll.identify() emits an identify event. ListenLayer also auto-detects identity from forms, chats, and other sources as possible_person events. Use tthe identify call when you want to explicitly notify us of the visitor's identity.

See Identity Events above for the event details.

See Code Examples → Identity Events for full event payload structures.

eCommerce Events

Track eCommerce transactions via the SDK:

See eCommerce for the complete list of methods and field reference.


Standard Variables

Every event includes these standard variables automatically.

Base Fields

Present on all events.

Short Code
Long Name
Description

a

account_id

Your ListenLayer account identifier

t

event_type

Event type code (pv, clk, fsu, etc.)

ts

timestamp

When the event occurred (Unix ms)

url

url

Full page URL

pvid

pageview_id

Unique ID linking events on same page

cs

consent_state

User's consent preferences based on client-side CMP

tm

tracking_mode

id, anon, or dnt

Identity Fields

User and session identification.

Short Code
Long Name
Description

did

device_id

Unique device identifier

pid

person_id

Cross-device person identifier

sid

session_id

Current session identifier

nd

is_new_device

First event from this device

ns

is_new_session

First event of new session

Page Context

Page-level information.

Short Code
Long Name
Description

tt

page_title

Document title

ref.url

referrer_url

Previous page URL

ref.host

referrer_host

Previous page domain

ref.type

referrer_type

search, social, referral, direct

ref.same

is_same_site

Referrer from same domain

Attribution

Traffic source attribution.

Short Code
Long Name
Description

utm.s

utm_source

Traffic source

utm.m

utm_medium

Marketing medium

utm.c

utm_campaign

Campaign name

utm.n

utm_content

Ad content identifier

utm.t

utm_term

Search term

chevron-rightSupported Click IDshashtag
Parameter
Platform

gclid

Google Ads

gbraid

Google Ads (iOS)

wbraid

Google Ads (web-to-app)

fbclid

Facebook/Meta

msclkid

Microsoft Ads

ttclid

TikTok

li_fat_id

LinkedIn

twclid

Twitter/X

epik

Pinterest

qclid

Quora

sccid

Snapchat

rdt_cid

Reddit

_kx

Klaviyo

irclickid

Impact Radius

wickedid

WickedReports

dclid

Google Display

ScCid

Snapchat (alt)

ef_id

Adobe/Efficient Frontier

s_kwcid

Adobe Analytics

Device & Browser

Client environment.

Short Code
Long Name
Description

vp.w

viewport_width

Browser width (px)

vp.h

viewport_height

Browser height (px)

vp.dpr

device_pixel_ratio

Screen density

conn.type

connection_type

4g, 3g, 2g, slow-2g

conn.dl

downlink

Connection speed (Mbps)

Geo & Network

Location and network data (added at edge).

Short Code
Long Name
Description

cli.co

country

Country code

cli.rg

region

State/region

cli.ct

city

City name

cli.pc

postal_code

Postal/ZIP code

cli.tz

timezone

IANA timezone

cli.lat

latitude

Geographic latitude

cli.lon

longitude

Geographic longitude

cli.cont

continent

Continent code

cli.eu

is_eu_country

In European Union

cli.asn

asn

Network provider ID

cli.aso

asn_organization

Network provider name

Performance

Page load metrics.

Short Code
Long Name
Description

cwv.lcp

largest_contentful_paint

Largest Contentful Paint (ms)

cwv.fid

first_input_delay

First Input Delay (ms)

cwv.cls

cumulative_layout_shift

Cumulative Layout Shift

cwv.inp

interaction_to_next_paint

Interaction to Next Paint (ms)

cwv.ttfb

time_to_first_byte

Time to First Byte (ms)

cwv.fcp

first_contentful_paint

First Contentful Paint (ms)


Custom Variables

Define your own variables to enrich events with business context.

Custom variables can pull data from:

  • Page elements (CSS selectors, data attributes)

  • JavaScript (window variables, functions)

  • URL (path, query params, hash)

  • Cookies (first-party cookies)

  • DataLayer (GTM-style dataLayer)

circle-info

Configure custom variables in Settings → Custom Variables. They're automatically added to matching events.

Use Cases

Use Case
Source
Example

User ID

JavaScript

window.userId

Plan type

Data attribute

[data-plan]

A/B test variant

Cookie

ab_variant

Product category

URL path

/products/:category/:id

Cart value

DataLayer

ecommerce.cart.total


Event Counts

Category
Events

Core

4

Click

1

Scroll

1

Form

9

Identity

2

Chat

9

Video

9

Scheduling

9

eCommerce

14

Custom

Total Standard

58

Last updated

Was this helpful?