Documentation
Targeting + Triggers
Runtime targeting and trigger behavior that put the right message in front of the right visitor at the right moment.
Path targeting behavior
- If
targeting.pathsis empty or missing, message matches all paths. - Path matching ignores query/hash segments (uses pathname only).
- Trailing slash is normalized (
/pricing/equals/pricing). - Wildcard
*patterns are supported. - Regex-like patterns are supported when pattern starts with
^or ends with$.
Snippetjson
{
"targeting": {
"paths": ["/pricing", "/account/*", "^/docs/.*$"],
"trigger": {
"type": "SCROLL",
"scrollPercent": 60
}
}
}Audience filter behavior
devices: matches runtime device classification.referrers: case-insensitive substring match against document referrer.utm: exact case-insensitive match for source/medium/campaign values.countries: uppercase code match; requires context country value.firstVisit/returningVisitor: visitor-state match in persistent mode.
Trigger normalization
- Unsupported or missing trigger type defaults to
IMMEDIATE. delayMsis clamped to a non-negative integer.scrollPercentis clamped to0..100(default50).clickSelectoris trimmed before use.
Trigger runtime semantics
IMMEDIATE: eligible on initial render cycle.DELAY: fires once after normalizeddelayMs.SCROLL: checks immediately, then on scroll/resize until threshold is met.CLICK: requires non-empty selector; click is matched viatarget.closest(selector).- Invalid click selectors are ignored safely and message never becomes trigger-ready.
EXIT_INTENT: triggers on mouseout when cursor leaves at top edge (<= 12px from top) and no relatedTarget exists.