Every platform, one set of numbers.
Installs, active users, sessions, and screens for iOS, Android, and web. The same events everywhere, so the numbers add up.
WaterChamp, last 30 days
iOS, Android, and webInstalls and visits by source
Platforms
Top screens
SessionsOne customer, from the first click to the renewal.
A visitor clicks an ad on the web, installs on iPhone, and signs in on an Android tablet. DataDad joins it into one person with one history.
- Link a signed-in account, and each device joins one history.
- Subscriptions, in-app purchases, and ad revenue land on the same customer.
- Every install keeps the campaign that brought it in.
Customer journey
WaterChamp, sample customerRetention
See who comes back.
Weekly install cohorts show how many people return in each week after the install. Compare platforms, releases, and campaigns.
Retention by install week
Share of each install week that opened the app again. Sample data.
Day 1, 7, and 30.
The standard retention points, for every platform and every app version.
Cohorts by campaign.
See which network brings people who stay, not only people who install.
Releases in context.
Compare cohorts before and after each release to see what changed.
Set up in three steps.
Add the Swift package to your iOS app. For Android, send events from your server with one HTTP call.
Add your app.
Create an app project in DataDad. You get a project ID and your keys.
Send events.
Call
start()in your iOS app. For Android, post events from your server to/v1/ewith the write key.Watch them arrive.
Events show up in the live view as they happen. Installs, sessions, and retention fill in from there.
iOS, Swift package
import DataDad
let analytics = try DataDad(configuration: .init(
projectID: "app_…",
ingestionKey: "mk_…",
appVersion: "1.4.0"
))
analytics.start()
try analytics.track("trial_started")Your server, events API
curl -X POST https://c.data.dad/v1/e \
-H "Authorization: Bearer wk_…" \
-H "Content-Type: application/json" \
-d '{"site_id":"app_…","event_type":"event",
"goal_name":"app_open","user_id":"u_123",
"platform":"android","app_version":"1.4.0"}'App analytics, answered.
What is app analytics?
App analytics measures how people find, use, and pay for your app. It covers installs, sessions, screens, retention, and in-app events. DataDad adds the revenue and the campaign behind each customer.
Does DataDad work on iOS and Android?
Yes. iOS apps use the DataDad Swift package. For Android, your server sends the same events through the events API. Both land in the same reports, next to your website.
Can I connect app users and website visitors?
Yes. When a person signs in, send your account ID for them. DataDad joins their web visits, app sessions, and purchases into one customer.
Do I need an App Tracking Transparency prompt?
No. The SDK uses no advertising identifier and does not track people across other companies' apps. Start collection when your app's privacy settings allow analytics. Privacy and consent.
How fast do events show up?
Events appear in the live view as they arrive. Installs, sessions, and retention reports update from the same events.
Which setup does each platform need?
iOS uses the DataDad Swift package with iOS 15 or later and Swift 6. Enable mobile collection in app settings and use the public mobile key. Android and cross-platform apps send events through a trusted backend to the server events API. Keep the server write key on that backend.
How should I identify a signed-in customer?
Use a stable internal account ID when sign-in succeeds. The iOS SDK uses linkUserIdentity to link that ID inside the project. Clear the identity at sign-out. Do not use an email address as the account ID. First opens count tracked use, not App Store downloads.
What should I measure first?
Start with first open, key screens, onboarding completion, and the first paid action. Give each event one fixed name. Compare retention across groups that have had the same time to return.