Who's in your app right now, who installed today, who just bought — and a push when it happens. Two lines of Swift. No IDFA, no consent banner, and your App Store privacy answers written for you.
No credit card · 2-minute setup · Debug builds never send
// The whole integration:
Analytics.configure(apiKey: "lud_live_…")
// Track anything — it appears on the dashboard by itself:
Analytics.track("paywall.viewed")
// Optional: put a name on the install once someone signs in
Analytics.identify(email: user.email, name: user.name)
The easiest analytics setup you'll ever do. That's the whole point.
Sign up, add your app's name and bundle id, and copy its write key. Unlimited apps, free.
Add the package, Analytics.configure(apiKey:) at launch, .trackAppLifecycle() on your root view.
Debug and Simulator builds never send; TestFlight stays separate from production.
The dashboard fills in by itself, and the setup page flips green the moment your first event arrives — with your App Store privacy answers already written.
Built by an indie shipping nine apps, for people who want answers in one glance, not a query language.
A live count per app, refreshed every few seconds, plus today hour by hour in your own timezone.
The feed shows one row per visit — install → paywall.viewed → purchase — with how long it lasted and whether they're still there. Click a row for every event inside it.
Where your users are, by country. It comes from the device's region setting: never GPS, never IP.
Day 1 / 7 / 30 retention, any-events funnels, session lengths, version and OS breakdowns. The honest health metrics.
A push the moment someone buys, installs, or triggers any signal you choose. Via ntfy, Discord, or signed webhooks to your own server.
Pick any install and see when it arrived, its sessions, and every event it fired — without ever knowing who the person is.
Apps with accounts can put a name, email, or your own user id on an install with Analytics.identify. Search by it, see it on the feed. Off by default; anonymous is the point.
The setup page shows a preview of your App Store privacy label and updates it as you pick what to collect — then lists exactly which boxes to tick in App Store Connect.
CSV export on every table, an app-level delete that erases everything instantly, and a per-user delete for "please forget me" requests.
Most analytics make you nervous about App Review. This one comes with the answers — and shows you what your App Store label will say before you ship.
A random install id, generated on device, kept in the Keychain so reinstalls count once. No ATT prompt, ever.
Nothing personal is collected by default, so there's nothing to consent to.
Country comes from the device's region setting: a locale, not a location.
The setup wizard previews your label and generates the exact App Store Connect ticks — including what changes if you identify users.
Removing an app — or one user — erases every event it ever recorded. Immediately.
The SDK ships as readable Swift source with its own privacy manifest — audit every line your app runs.
Data linked with other companies' data for ads or brokers.
Data tied to your identity — an account, an email, a name.
Collected, but not tied to who you are.
Preview of the label the setup page generates. Apple's definitions apply; guidance, not legal advice.
Simple event-based plans, cheaper than anyone comparable.
forever
billed monthly · or $39 a year
billed monthly · or $119 a year
An event is an install, a session, or a signal you track. The once-a-minute "still here" ping the SDK sends while your app is open (we call it a heartbeat) powers "active right now" and session lengths — it's most of the raw traffic and it never counts. Over your plan? Never a hole in your charts: a 7-day grace period and a banner.
No. By default the SDK collects a random install id and usage events — nothing linked to a person, no cross-app tracking, no ad identifiers. Under Apple's definitions that's "Data Not Linked to You" with no tracking, so there's no ATT prompt, and under GDPR there's no personal-data banner to show. The setup wizard hands you the exact App Privacy answers.
Yes, if your app has accounts: Analytics.identify(id:email:name:) puts labels on the install,
setUserProperties adds anything else (plan, goal…), reset() forgets it on sign-out.
The install id stays the analytics identity; labels are searchable and shown on the feed. Turn it on in the setup
page and the privacy-label preview shows what changes: Contact Info appears, and your data moves to
"Linked to You". Still no tracking, still no ATT prompt.
Installs, sessions, and any signal you track count. While your app is open the SDK also sends a quiet once-a-minute "still here" ping — a heartbeat — which is how "active right now" and session lengths work. Heartbeats and user labels are plumbing: they never appear as events and never count toward your plan.
Firebase is free and enormous. It is also Google, it's heavy, and its answers hide behind BigQuery the moment you ask anything specific. This is one Swift package with no dependencies, a dashboard with the six numbers you actually check, and a privacy story that makes App Review boring.
Yes — open the live demo: the real dashboard on sample data from three apps, every tab clickable, no account needed. Create a free account and you'll see it with your own data minutes after adding the package.
Delete an app and every event it ever recorded is erased immediately; the button is in plain sight in Setup. Export CSVs any time before you go.