Skip to main content

Auto-Tracked Events

The SDK automatically tracks the events listed below. You do not need to call track() for any of them. Tracking them manually will result in duplicate data. These events can be used as:
  • Experiment conversion goals in the Console
  • Webhook triggers for server-side integrations
  • In-app message and survey triggers
  • Analytics filters in dashboards and exports

Core Events

EventTriggerKey Properties
session_startNew session beginssession_id
session_end30 minutes of inactivity or app enters backgroundsession_id, duration_ms
app_openApp enters foreground
app_closeApp enters background
A new session starts when the app comes to the foreground after 30 minutes of inactivity. The session_id is included in all events for the duration of the session.

Onboarding Events

EventTriggerKey Properties
onboarding_flow_startedAn onboarding flow beginsflow_id
onboarding_step_viewedA step is displayed to the userflow_id, step_id, step_index
onboarding_step_completedUser completes a step (e.g., answers a question)flow_id, step_id, step_index
onboarding_step_skippedUser skips a stepflow_id, step_id, step_index
onboarding_flow_completedUser completes the entire flowflow_id, total_steps
onboarding_flow_dismissedUser dismisses the flow before completingflow_id, step_index

Paywall Events

EventTriggerKey Properties
paywall_presentedA paywall is displayedpaywall_id, placement
paywall_actionUser interacts with a paywall elementpaywall_id, action
paywall_dismissedPaywall is closedpaywall_id, dismiss_reason

Billing Events

EventTriggerKey Properties
purchase_startedA purchase flow beginsproduct_id
purchase_completedA purchase completes successfullyproduct_id, transaction_id
purchase_failedA purchase fails with an errorproduct_id, error
purchase_canceledUser cancels the purchase dialogproduct_id
restore_startedA restore operation begins
restore_completedA restore operation completesrestored_count

Push Notification Events

EventTriggerKey Properties
push_token_registeredDevice token is registered with AppDNA
push_permission_grantedUser grants push notification permission
push_permission_deniedUser denies push notification permission
push_deliveredA push notification is delivered to the devicepush_id
push_tappedUser taps on a push notificationpush_id, action

Experiment Events

EventTriggerKey Properties
experiment_exposureFirst getVariant() call per session per experimentexperiment_id, variant
Exposure is tracked once per session per experiment. Calling getVariant() multiple times in the same session does not create duplicate exposure events.

In-App Message Events

EventTriggerKey Properties
message_presentedAn in-app message is displayedmessage_id, message_type
message_actionUser taps an action in the messagemessage_id, action
message_dismissedMessage is closedmessage_id

Survey Events

EventTriggerKey Properties
survey_presentedA survey is displayedsurvey_id, survey_type
survey_response_submittedUser submits a survey responsesurvey_id, question_type
survey_dismissedSurvey is closed without completingsurvey_id

EventTriggerKey Properties
deep_link_receivedA deep link is openedurl, source
deferred_deep_link_resolvedA deferred deep link is resolved on first launchurl, referrer

Server-Driven Screen Events

EventTriggerKey Properties
screen_presentedA server-driven screen is displayedscreen_id, presentation
screen_dismissedA server-driven screen is closedscreen_id, dismiss_reason
screen_actionUser taps a CTA or interactive element in a screenscreen_id, section_id, action_type
screen_section_viewedA section scrolls into the viewportscreen_id, section_id, section_type
screen_section_actionUser interacts with a specific sectionscreen_id, section_id, action
flow_startedA multi-screen flow beginsflow_id, total_screens
flow_completedA multi-screen flow finishesflow_id, screens_viewed
flow_abandonedA flow is dismissed before completionflow_id, screen_index, screens_viewed
flow_screen_transitionUser navigates between screens in a flowflow_id, from_screen_id, to_screen_id
slot_registeredA screen slot first renders in the appslot_id
slot_renderedA slot displays content from a screen configslot_id, screen_id
slot_emptyA slot renders with no assigned contentslot_id
interception_triggeredA navigation interception fires and injects a screenscreen_id, source_screen
interception_dismissedAn intercepted screen is dismissedscreen_id, dismiss_reason

Web Entitlement Events

EventTriggerKey Properties
web_entitlement_activatedWeb subscription becomes activeplan_name, status
web_entitlement_expiredWeb subscription expires or is canceledplan_name, status