Skip to main content

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:

Event Design Guidelines

  • Use snake_case for 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

Track Push Engagement

AppDNA pushes are tracked for you: the SDK records push_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:

Handle Push Tap Callbacks

Route the user to the right screen when they tap a push notification:

Step 3: Measure Love Score with Surveys

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
No code needed for trigger-based surveys — they appear automatically.

Manual Trigger

For precise control over timing, present a survey manually:

Capture Survey Responses

Use the survey delegate to react to responses in real-time:

Step 4: Smart Review Prompting

The smart review prompt is a two-step flow that maximizes positive App Store / Play Store reviews:
  1. In-app question: “Do you enjoy using [app]?”
  2. Positive response — shows the native store review dialog
  3. Negative response — shows a free-text feedback form (captures the complaint instead of sending them to the store)
The review prompt is configured in the Console as a survey and delivered by the SDK’s survey pipeline — there is no dedicated promptReview method. Either let it fire automatically from a Console trigger (recommended), or present the review survey manually after a positive moment:
Rate-limited: the native store review dialog shows at most 3 times per year, at least 90 days apart. The SDK enforces these limits automatically — even if the review survey is presented, the SDK decides whether to actually show the store dialog.

Step 5: Close the Feedback Loop

React to Feedback in Your App

Use survey callbacks to create follow-up experiences based on sentiment:

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_completed in 7 days
  • Send milestone congratulations for streak_achieved events
These campaigns are configured entirely in the Console under Retention > Push Campaigns — no code changes needed.

View Feedback in the Console

Survey responses flow into the Console dashboard automatically:
  1. Feedback > Love Score — NPS/CSAT trends over time
  2. Feedback > Responses — individual responses with sentiment analysis
  3. Feedback > Alerts — get notified when NPS drops below a threshold

Full Wired Example