Skip to content

Display modes, triggers, and targeting

In-product behavior is stored in studyConfig on the study record. Configure these in the Build tab alongside questions (in-product settings panel).

ModeDescription
MODALCenter overlay dialog (default)
BANNERHorizontal bar (top or bottom placement rules)
EMBEDDEDInline in a container (targetSelector / placement CSS selector)
TOASTSmall corner notification style

Each mode supports dimensions (width/height) — defaults apply per mode if not customized.

PlacementDescription
TOPTop of page
BOTTOMBottom of page
AFTER_SECTIONAfter a CSS selector match
INSIDE_CONTAINERInside a matched container

Visibility options:

  • Show only when target is visible
  • Hide after answer
  • Hide on mobile below a breakpoint (default 768px)

Control which URLs can show the survey.

Match when URL:

  • Contains, equals, or starts with a string
  • Matches a regex
  • Has a URL parameter name/value pair

Combine rules with OR or AND logic.

Same rule types as include. Exclude wins when matched (typical pattern: show on /app/* but exclude /app/settings).

A survey shows only when targeting passes and at least one trigger fires:

Trigger typeParameters
TIME_ON_PAGESeconds on current page
ELEMENT_EVENTClick, hover, or input change on a CSS selector; optional text contains filter
SCROLL_DEPTHPercentage scrolled; optional scroll container selector
EXIT_INTENTCursor leaves viewport (desktop pattern)
CUSTOM_JS_EVENTEvent name fired via FromUsers.trackEvent()

Combine multiple triggers according to your trigger logic configuration in the builder.

Limit how often users see the survey:

CapBehavior
ONCE_EVEROne impression per browser/storage profile
ONCE_PER_SESSIONOnce per browser session
CUSTOMMinimum interval — value + unit (minutes, hours, days)

Legacy field frequency (ONCE, DAILY, WEEKLY, MONTHLY) may still exist on older studies.

Quarantine rule — after any in-product survey is shown, block other surveys for a cooldown period (value + minutes/hours/days). Reduces survey fatigue.

When the SDK displays a survey, FromUsers records an impression (visible in results as impression counts).

Use Logic & Variables for:

  • URL parameters (?plan=pro)
  • Data layer / analytics variables
  • Cookies
  • Session variables
  • Formulas (IF, SUM, etc.)

The SDK DynamicValuesCapturer resolves only variables defined on the study.