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

How do I track app versions?

The SDK adds the app version to every event automatically. Read each version's share of active users and crashes, and compare stability by release.

App analytics2 min readLast updated Nov 5, 2026TapCub team

Short answer

No extra code is needed: the SDK adds $app_version to every event from versionName (Android, HarmonyOS) or CFBundleShortVersionString (iOS). Open App analytics › Users › Versions for each version's share of active users, crash count and first-seen date; set appVersion in the config only to override.

Short answer

You do not need extra code: the TapCub SDK adds $app_version to every event, taken from versionName on Android, CFBundleShortVersionString on iOS and versionName on HarmonyOS. Open App analytics › Users › Versions to see each version's share of active users, crash count and first-seen date.

1. Check where the version comes from

PlatformDefault versionOverride
AndroidversionName (build versionCode)appVersion in the config
iOSInfo.plist short versionappVersion in the config
HarmonyOSversionNameappVersion in the config

Override only when your store version differs from the build value, for example when one build ships under two names:

TapCub.preInit(this, TapCubConfig(siteKey = "YOUR_SITE_KEY", appVersion = "2.4.0"))

Keep the format consistent (2.4.0, not v2.4 in one build and 2.4.0 in the next), or one release shows as two rows.

2. Read the versions report

Each row is a version with its platform, share of active users, crash count and first-seen date. The stacked chart shows the top 8 versions and groups the rest as Other. The release cards on App overview highlight only the newest version per platform; the full list is on this page.

Sample: a week after release, 2.4.0 holds 46% of active users, 2.3.2 holds 38%, and older versions hold the remaining 16%.

3. Compare stability by version

Click a version row to add it as a filter on the current page. For crash detail, open App analytics › Quality & attribution › Stability; crash-free share is explained in crash-free rate. Rising crashes on the newest version while older ones stay flat point at the release, not the device mix.

Switching reports from the sidebar keeps only the platform and single-app filters; the version filter does not carry over, so add it again on the next report.

4. Channels

App analytics › Users › Channels groups users by the $channel value on events (not the media source from an attribution callback). Events without it fall under (no channel).

Common problems

SymptomCauseFix
One release shows as two versionsDifferent version strings across buildsUse one format, or set appVersion
Version filter disappearsSidebar switches keep only platform and appAdd the filter again
No Versions menuThe project is a mini programMini programs use scenes instead
App has no data at allappId does not match the app registered in the consoleFix appId

See also: App versioning, App redesign.

See also

Did this answer your question?

We use your answers to fix and expand this page.

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