Skip to main content

When to Use What in Userpilot

This guide helps you choose the right Userpilot feature for your use case.

Content Type Selection

Flow vs Spotlight vs Banner vs Checklist

Use CaseBest ChoiceWhy
Multi-step onboardingFlowGuide users through sequences
Feature announcementBannerNon-intrusive, persistent visibility
Highlight single elementSpotlightDraws attention without interrupting
Onboarding tasksChecklistTracks progress, user-driven pace
Important alertModal (Flow)Demands attention, blocks interaction
Contextual hintTooltip (Spotlight)Appears on hover, non-disruptive
In-app help centerResource CenterSelf-service, always accessible
SituationUse
Critical information user must seeModal
Longer content that doesn’t block UISlideout
Quick tip about specific elementTooltip
Step-by-step walkthroughTooltip sequence (Flow)
Announcement with dismiss optionModal or Slideout

NPS vs Survey vs Flow Form

GoalUse
Measure overall satisfactionNPS
Detailed feedback on specific featureSurvey
Collect info during onboardingFlow with form fields
Quick rating (1-5 stars)Survey with rating question
Open-ended feedbackSurvey with text question

SDK vs API

When to use JavaScript SDK

ScenarioMethod
Browser-based web appuserpilot.identify()
User interacts with UIuserpilot.track()
Real-time content displaySDK required
Single-page applicationSDK with reload()

When to use HTTP API

ScenarioMethod
Server-side user creationPOST /v1/identify
Backend event trackingPOST /v1/track
Bulk data importImport API
Data export for analyticsExport API
Update users without page loadHTTP API
Mobile app (native)Mobile SDK or HTTP API

When to use both

ScenarioApproach
User signs up via backendAPI to create user, SDK to display content
Server-side event + UI updateAPI to track, SDK to trigger content
Historical data + real-timeImport API for history, SDK ongoing

Targeting Decisions

Segment vs Direct Targeting

SituationUse
Reusable audienceCreate Segment
One-time targetingDirect targeting rules
Complex AND/OR logicSegment
Simple property matchDirect targeting
Target across multiple contentSegment

User Property vs Event-based

GoalTarget By
Users on specific planUser property (plan)
Users who completed actionEvent (completed_action)
Users who haven’t done somethingEvent NOT performed
Users with certain attributesUser properties
Users based on behavior patternsEvents + properties combined

Page Targeting Options

GoalMethod
Exact URLExact match
All pages in sectionContains or starts with
Dynamic URLsRegex pattern
Multiple specific pagesMultiple URL rules (OR)
Exclude certain pagesNOT contains rule

Trigger Timing

When to use each trigger

TriggerBest For
Page loadWelcome messages, page-specific tips
After delayNon-urgent info, avoid overwhelming
Element clickContextual help, on-demand guidance
Custom eventAction completion, behavioral triggers
Manual (API)Backend-triggered, external conditions
Scroll depthLong pages, engagement-based

Frequency settings

SettingUse When
Only onceOnboarding, announcements
Every timeContextual tips that stay relevant
Once per sessionSession-specific reminders
Until dismissedImportant recurring notices
Until completedRequired acknowledgments

Installation Scenarios

Which installation method

ScenarioMethod
Full control, engineering availableJavaScript snippet
Already using SegmentSegment integration
Marketing needs to installGoogle Tag Manager
Need to bypass ad blockersCustom domain hosting
iOS native appiOS SDK
Android native appAndroid SDK
React Native appReact Native SDK
Flutter appFlutter SDK

Analytics Decisions

Which report to use

QuestionReport
How do users move through steps?Funnel
What do users do before/after X?Path
Do users come back over time?Retention
How is metric trending?Trends
Where do users drop off?Funnel
Which features are used together?Path

Dashboard vs Custom Report

NeedUse
Quick overview of standard metricsPre-built Dashboard
Specific metric trackingTrends Report
Custom KPI monitoringCustom Dashboard
Share with stakeholdersDashboard + sharing
Deep dive investigationIndividual Reports

Integration Decisions

CRM sync

GoalIntegration
Sync user data to CRMHubSpot or Salesforce
Trigger Userpilot from CRMWebhooks + API
Sync NPS/survey responsesNative integration

Analytics sync

GoalIntegration
Already using SegmentSegment source
Send events to analyticsAmplitude, Mixpanel, GA
Unified event trackingSegment as hub

Data warehouse

GoalMethod
Raw event exportData Sync (BigQuery, Snowflake, S3)
One-time exportExport API
Custom analysisData Sync + BI tool