TapCub is live — analytics, insights and live chat, free on one platform

App analytics New users, active users, retention. For your app, at a glance.

iOS, Android, HarmonyOS, Flutter and React Native. Which store brought the installs, which version is crashing, and who comes back after day one — in the same project as your website and mini-programs.

  • iOS · Android · HarmonyOS
  • D1 / D7 / D30 retention
  • Crashes, ANR, launch time
  • Same project as the website
app.tapcub.com
acme.appOverviewLast 14 daysAll platformsAll versions

New users

6,120

▲ 9.1%

DAU

42,093

▲ 12.4%

Launches

128,460

▲ 8.3%

D1 retention

41.6%

▲ 1.8 pts

Crash rate

0.42%

▼ 0.08 pts

DAU · daily

This periodPrevious
Sep 18Sep 21Sep 24Sep 27Sep 30Oct 1

New users by source · 14 days

App Store18,420
Google Play12,106
Huawei AppGallery8,240
Newsletter4,110
Direct download2,318
Sample data
Core metrics

Six numbers that say whether the app is healthy

Every metric comes with a trend and a period-over-period delta. Click through to the report — no definitions to assemble.

New users

6,120▲ 9.1%

Devices or accounts that opened the app for the first time. Split by store, channel and version.

Active users

42,093▲ 12.4%

DAU, WAU and MAU, with the DAU/MAU stickiness ratio.

Launches

128,460▲ 8.3%

Cold and warm starts counted separately; 3.1 launches per user per day.

D1 retention

41.6%▲ 1.8 pts

Share of installs that open again the next day. D7 is 24%, D30 is 12%.

Time per session

6m 42s▲ 14s

Median session length; the long tail by hour is under engagement.

Crash rate

0.42%▼ 0.08 pts

Per launch. Crash-free users 99.1%. Most useful when read against versions.

Users and retention

After the install, who comes back

New-user retention asks whether this week's installs opened the app again. Active retention asks whether existing users are slipping away. Dormant and returning users get their own rows so you can run win-back campaigns.

  • Cohorts by install week, D1 / D7 / D30 in one row
  • New-user and active retention computed separately
  • Dormant, churned and returning users become segments in one click

Example scenario: Ops notices the Sep 15 cohort has D7 retention 8 points below the previous weeks. Opening the cohort shows most installs came from one app-store promotion — a traffic-quality issue, not a product one.

app.tapcub.com
acme.appRetentionLast 6 weeksNew-userActive

New-user retention · by install week

Install weekInstallsD0D1D3D7D14D30
Aug 251,204100%44%38%33%29%24%
Sep 11,318100%47%40%35%30%
Sep 81,276100%51%43%37%
Sep 151,402100%49%42%
Sep 221,366100%53%

Active retention · by active week

Week 168%
Week 254%
Week 347%
Week 443%

Dormant and returning · this period

Dormant (7–30 days inactive)3,840Win back
Returning (opened after dormancy)1,126Back
Churned (30+ days)2,210Watch
Sample data
  • Open the people inside a cellEvery cell shows which users it holds and what device they installed on.
  • Alert when retention dipsFor example, notify WeCom or email when D1 drops below 35%.
  • One person across web and appRetention merges across website and app for the same user — no double counting.
Versions and channels

Has the new build rolled out, and which channel brings quality

Version share tells you whether a fix has actually reached users. The channel quality matrix puts "how many installed" and "how many stayed" on one chart, so the channel worth more budget is obvious.

  • Version share and upgrade speed
  • New users × retention quadrant
  • D1 retention and crash rate for every channel
on the latest version
58%
on the latest version
install channels
5
install channels
since 4.2.1 shipped
9 days
since 4.2.1 shipped
app.tapcub.com

Version share · active users

4.2.158%
4.2.024%
4.1.89%
4.1.x5%
Older4%

4.2.1 shipped 9 days ago and covers 58% of active users; 9% are still on 4.1.x or older, where the crashes concentrate.

Channel quality · new users × D1 retention

App Store and Google Play bring both volume and retention; direct downloads retain only 28% on day one — mostly one-off installs.

Sample data

Example scenario: After shipping the 4.2.1 crash fix, the product team waits for version share to pass 80% before judging whether the overall crash rate really fell — instead of reading the number on release day.

Engagement

How long, how often, when, and where they go

Four charts for usage habits. Hour-of-day tells you when to schedule pushes; screen paths show which screen people leave from.

Session length

Median 6m 42s; a third of sessions last 1–5 minutes.

<1m1–5m5–15m15–30m30m+

Active hours

Peak at 8–10 pm; weekends are flatter during the day.

048121620

Frequency

Opens per week; 35% open four times or more.

1×38%
2–3×27%
4–6×21%
7×+14%

Screen paths

From launch onward. The highlighted path reaches checkout.

Sample data

Stability

Crashes, ANR and launch time, read against versions

Crash rate is per launch; ANR and launch time are shown by device. Every crash group carries a stack summary, the screen and the version, ready to hand to whoever ships the release.

  • Crashes grouped by version and screenIdentical crashes are merged, with affected users and share.
  • ANR and launch timeCold-start P50 / P90, with device models over 2 seconds listed separately.
  • Crash-free usersCloser to what users feel than crash rate; 99.1% here, target 99% or above.
  • Watch 48 hours after a releaseNotify when a new version crashes 1.5× more than the previous one.

Stability · acme.app

Last 14 days · all platforms

Crash rate

0.42%

−0.08 pts vs previous

ANR rate

0.11%

Android · flat

Cold start P90

1.8s

iOS 1.4s · Android 2.1s

Crash-free users

99.1%

Target ≥ 99%

Top crashes · by affected users

  • NullPointerException · CheckoutViewAndroid · 4.1.818631%
  • EXC_BAD_ACCESS · ImageDecoderiOS · 4.2.09416%
  • SocketTimeout · OrderAPIAndroid · 4.2.16110%
  • OutOfMemory · FeedListAndroid · 4.1.x488%

Crash rate · by version

4.1.80.91%
4.2.00.38%
4.2.10.21%

Fixing the checkout null pointer in 4.2.1 took the crash rate from 0.91% to 0.21%.

Sample data
Install attribution

Bring in attribution results and read them next to retention

Receive install attribution from AppsFlyer, Adjust and similar platforms, so every install carries its campaign and channel. TapCub does not replace the attribution platform — it connects its results to what happens afterwards: retention and payment.

  • Installs, D1 and D7 retention and paying rate per campaign
  • Organic installs on their own row, never mixed with paid
  • Clicks on the website by the same person connect too
app.tapcub.com
acme.appInstall attributionLast 30 daysExport CSV
ChannelCampaignInstallsD1D7PayingSource
Apple Search Adssummer_launch_ios4,82046%31%8.4%AppsFlyer
Ocean Enginebrand_search_cn3,10642%27%6.1%Adjust
Metaretarget_cart1,98458%39%12.6%AppsFlyer
WeChat Momentswechat_moments1,41037%22%4.3%Adjust
Organic—12,64049%34%7.2%Store organic
5 rows · attribution synced hourly
Sample data
  • Works with AppsFlyer, Adjust and othersReceive install attribution through a postback — no SDK change.
  • Quality per campaignEvery campaign gets D1, D7 retention and paying rate, not just install counts.
  • Import ad spendOnce costs are in, app-install ROI sits on the same chart as the website.
SDK

One site key per platform, a few lines to start

Start once and launches, screens, crashes and device info are collected automatically; business events go through track. Event names and fields are shared across every platform.

AppDelegate.swift
import TapCub

// Initialise once at launch
TapCub.start(siteKey: 'SITE_KEY')

// Business event: payment
TapCub.track('order_paid', props: [
  "amount": 74, "currency": "USD"
])
Under ≈ 200 KB compressed, adds < 30 ms to launch; crash collection can be switched off separately.Read the full docs
Platforms

Native, cross-platform and HarmonyOS, side by side in one project

Seven SDKs share one event vocabulary. Each platform gets its own site key; reports can be merged or split by platform.

iOS and Android

Native Swift / Kotlin SDKs with crashes, ANR, launch time and push-source detection.

HarmonyOS

ArkTS SDK for native apps and atomic services, same fields as every other platform.

Flutter, React Native, uni-app

Wrappers for each cross-platform framework — instrument once, both iOS and Android report.

FAQ

Questions about app analytics

Still have a question?

Chat with the team behind TapCub — we usually reply within a few hours on business days.

How is this different from web analytics?

Web analytics counts pages, sources and visitors. App analytics counts launches, new users, active users, retention, versions, store channels and crashes. Both live in the same project and one user counts once. See web analytics.

Which platforms are supported?

Native SDKs for iOS, Android and HarmonyOS, plus Flutter, React Native and uni-app. One site key per platform; reports merge or split as you like.

What is in the crash report?

Crash rate, ANR rate, cold-start time, crash-free users, and top crashes grouped by version and screen with a stack summary and affected users. Abnormal crash rates within 48 hours of a release trigger an alert.

Can I bring in AppsFlyer or Adjust attribution?

Yes. Install attribution arrives through a postback, so each install carries its channel and campaign, then sits next to D1 / D7 retention and paying rate. TapCub does not replace your attribution platform.

Which plan includes app reports?

Web analytics is on every plan; app and mini-program analytics start on Pro ($9/month). See pricing.

How long is app data kept?

Same as the website: Free 6 months, Pro 12 months, VIP 24 months or more. Enterprise retention is set by contract.

Will the SDK slow down the app?

It adds under 30 ms to launch. Events are batched and compressed in the background, cached locally on poor networks and sent when the connection returns. Crash collection can be disabled on its own.

Get started

Four steps to connect your app

Same account and project as your website — no separate sign-up.

  1. 1

    Create a project

    Free account, no credit card. If you already have a web project, add the app inside it.

  2. 2

    Add the app

    Pick the platform and get its site key.

  3. 3

    Add the SDK

    Start it with the code above; add business events as needed.

  4. 4

    Ship a build

    Once the build reaches users, launch data appears within minutes.

Read the install guide, or explore the console with demo data first. Install guide

See your data clearly. Find your growth.

Every click, backed by data. Install one line of code and see your first numbers in a minute.

No credit card · Free plans for analytics and chat · Cookieless analytics