Flow tracking
Track important journeys that happen inside a screen.
Flow tracking is for product journeys that are not fully represented by screen navigation.
Use it when a user moves through several meaningful steps inside one screen, modal, tab, panel, or in-screen view. Do not use it for flows made of separate screens; navigation tracking already captures those.
When to use trackFunnelStep
Use trackFunnelStep for flows such as:
- an onboarding screen with multiple in-screen steps
- a checkout form that advances inside one screen
- a paywall modal with plan selection, confirmation, and result states
- an account setup panel with several in-screen views
import { trackFunnelStep } from '@asgami-digital/signalfox-react-native';
trackFunnelStep({
funnelName: 'onboarding',
signalFoxNodeId: 'create-account',
signalFoxNodeDisplayName: 'Create account',
stepIndex: 1,
});Use stable names. funnelName identifies the overall funnel, and signalFoxNodeId identifies the current step. The dashboard still maps these to the canonical funnel event (flow_step_view).
Available fields (public API, camelCase):
funnelName(required)signalFoxNodeId(required)signalFoxNodeDisplayName(optional)stepIndex(optional)
When to use trackSubview
Use trackSubview for meaningful areas inside a screen that are not steps in a funnel. Good examples are tabs, panels, sections, or modes that change what the user is seeing.
import { trackSubview } from '@asgami-digital/signalfox-react-native';
trackSubview({
signalFoxNodeId: 'settings-billing',
signalFoxNodeDisplayName: 'Billing settings',
});
Naming tips
Keep names stable, clear, and compact.
Good examples:
onboardingcheckoutchoose-planbilling-settings
Avoid generated IDs, translated text, timestamps, user-specific values, or route params that change for the same product step.