Use Case: Analytics, Push & Feedback
This guide covers the retention and measurement side of your app: tracking meaningful events, registering for push, measuring user sentiment with surveys, prompting for App Store reviews, and closing the feedback loop.What You’ll Build
Step 1: Track Meaningful Events
Custom events power everything in AppDNA — analytics, experiment goals, survey triggers, in-app message triggers, and webhook payloads.What to Track
Focus on events that represent meaningful user actions:- iOS
- Android
- Flutter
- React Native
Event Design Guidelines
- Use
snake_casefor event names and property keys - Include relevant properties (duration, type, count, category)
- Don’t duplicate auto-tracked events — the SDK already tracks session, onboarding, paywall, billing, push, and experiment events
- Events automatically include session ID, device info, and active experiment exposures
Custom events can be used as experiment conversion goals, webhook triggers, in-app message triggers, and survey triggers — all configured in the Console with no code changes.
Step 2: Set Up Push Notifications
Register for Push
- iOS
- Android
- Flutter
- React Native
Track Push Engagement
AppDNA pushes are tracked for you: the SDK recordspush_delivered and push_tapped (with the delivery id) for every
push it handles — on iOS through its automatic notification handler, on Android through its messaging service and
AppDNA.handlePushTap(intent), or your forwarding with AppDNA.push.handleMessage / handleTapData. Do not also track those pushes by hand, or they are counted
twice. The manual calls below are only for pushes the SDK does not see (for example a push shown by another system),
and they run in your app, not in a Notification Service Extension:
- iOS
- Android
- Flutter
- React Native
Handle Push Tap Callbacks
Route the user to the right screen when they tap a push notification:- iOS
- Android
- Flutter
- React Native
Step 3: Measure Love Score with Surveys
Trigger-Based (Recommended)
Configure surveys in the Console to appear automatically based on events and conditions. For example:- NPS survey after 7 days of usage and 5+ sessions
- CSAT survey after the user completes their 10th workout
- Feedback prompt after a support interaction
Manual Trigger
For precise control over timing, present a survey manually:- iOS
- Android
- Flutter
- React Native
Capture Survey Responses
Use the survey delegate to react to responses in real-time:- iOS
- Android
- Flutter
- React Native
Step 4: Smart Review Prompting
The smart review prompt is a two-step flow that maximizes positive App Store / Play Store reviews:- In-app question: “Do you enjoy using [app]?”
- Positive response — shows the native store review dialog
- Negative response — shows a free-text feedback form (captures the complaint instead of sending them to the store)
promptReview method. Either let it fire automatically from a Console trigger (recommended), or present the review survey manually after a positive moment:
- iOS
- Android
- Flutter
- React Native
Step 5: Close the Feedback Loop
React to Feedback in Your App
Use survey callbacks to create follow-up experiences based on sentiment:- iOS
- Android
- Flutter
- React Native
Connect Events to Push Campaigns
In the Console, you can target push campaigns based on user behavior and survey responses:- Send “We’ve improved based on your feedback” push to users who gave
NPS <= 6 - Send “Share with friends” push to users who gave
NPS >= 9 - Send re-engagement pushes to users who haven’t triggered
workout_completedin 7 days - Send milestone congratulations for
streak_achievedevents
View Feedback in the Console
Survey responses flow into the Console dashboard automatically:- Feedback > Love Score — NPS/CSAT trends over time
- Feedback > Responses — individual responses with sentiment analysis
- Feedback > Alerts — get notified when NPS drops below a threshold
Full Wired Example
- iOS
- Android
- Flutter
- React Native

