What is TapCub
One project, five product areas
A project is the container for all data: website, app, mini program and server-side sources in the same project share one visitor / user ID model and one event table. The console organizes a project into five areas:
| Area | Contents | Who it is for |
|---|---|---|
| Web analytics | Cookie-less website traffic: overview, realtime, pages, sources, audience, events, goals, sessions and visitors; humans counted separately from search-engine bots and AI crawlers; page performance, JS errors, crawl health and content decay | Webmasters, SEO, marketing |
| App analytics | New users, active users, retention, versions, channels, screens, devices and stability for Android, iOS and HarmonyOS, plus receiving and reporting attribution fields | Mobile product and engineering |
| Mini programs & platforms | WeChat / Alipay / Douyin mini program analytics, cross-platform frameworks and server-side collection, and side-by-side per-platform views of the same report | Mini program, cross-platform and backend developers |
| Behavior analytics | Analysis models on the event-user model (events, funnels, retention, paths, distribution, interval, lifecycle, attribution, sessions, properties), people and segments, business analysis, monitors and scheduled reports, AI insights, data governance | Product, growth, analysts, data engineering |
| Live chat | Chat widget for websites and standalone pages, agent workbench, knowledge base and AI replies, two-way translation, proactive messages and chat reports | Chat admins, agents, support |
The five areas are five views of the same data. A visitor you see in the realtime report can be messaged from the chat workbench, and after the conversation ends the goals report can compare visitors who chatted with those who did not.
Deep analysis is the core
Web analytics is the foundation, but not the whole product. Questions like "which users drop off at which step, do they come back, how much revenue do they bring" are answered in the Behavior analytics overview area, not in the web analytics reports.
How the console is organized
The console is split into four "shells" plus a shared layer. Switching shells switches product area; live chat, project settings and the privacy center belong to the shared layer and are reachable from every shell:
Project (one identity model, one event table)
├─ Web analytics ← Web analytics area
├─ App analytics ← App analytics area
├─ Mini program analytics ← Mini programs & platforms (reuses app analytics pages, menu grouped by mini program scenarios)
├─ All-platform analytics ← Behavior analytics (Overview, Behavior, Users, Business, Operations, Data)
└─ Shared layer ← Live chat, project settings, privacy center, business settingsEach documentation section maps to one shell, and every feature page says where the feature is in the console.
Three threads that run through everything
Three topics come up in every area. Each has one authoritative page:
- Integration & collection — how data gets in (script, native SDKs, mini program SDKs, server API), what is collected and what is not. Start with Choose how to connect.
- Identity & counting modes — visitors vs users, how multiple platforms resolve to one person, and whether a report dedupes by visitor, device or user. See Visitors, users & identity and Counting modes.
- Privacy & compliance — delayed initialization, consent and opt-out, per-feature collection switches, data subject requests, retention and masking. See Privacy choices before you start and Privacy & compliance.
Design principles
Many of the "why" answers later in the docs come from these:
- Self-hosting first, domestic ecosystem first: mini programs and local channels are supported natively, and the platform can run in your own environment.
- Compliance is the product: privacy is a default constraint on collection, storage and display, not an add-on.
- Anonymous visitors are counted, not profiled: visitors who never log in or get identified only enter statistics and never appear in the People list.
- Business facts come from the server: orders and revenue should be reported server-side; front-end autocapture is for behavior, not amounts.
- Attribution as a receiver: app analytics accepts attribution fields written back by third-party attribution platforms and uses them in reports; it does not build its own attribution engine.
Next steps
To see data right away, install the script with Web analytics quickstart; if you are unsure which integration to use, read Choose how to connect first.
Product areas
Funnels, journeys and retention inside the web shell are preset reports; custom steps, segments and business metrics belong in All-platform analytics. App analytics only receives and displays attribution fields and does not compute ad attribution, and a chat conversation is not an analytics session — see Sessions.
Switch shells in the top bar. Web starts at ConsoleWeb analyticsOverview, behavior analysis at ConsoleAll-platform analyticsBehaviorEvent analysis, and chat at ConsoleLive chatInbox.
Areas and shells
A website source shows Web analytics, a native app shows App analytics, and a mini program shows Mini program analytics. All-platform analytics is always there. Live chat and project settings sit at the bottom of a shell rather than in a shell of their own.
| Area | Shell | Start here |
|---|---|---|
| Web analytics | Web analytics | Web analytics quickstart |
| App analytics | App analytics | App analytics quickstart |
| Mini programs | Mini program analytics | Mini program quickstart |
| Behavior analytics | All-platform analytics | Behavior analytics overview |
| Live chat | Live chat | Live chat quickstart |
Menu groups in each shell:
- Web analytics: Web analytics, Behavior, Monitoring, Live chat, Configuration.
- App analytics: Overview, Users, Behavior, Quality & attribution, Configuration.
- Mini program analytics: reuses the app reports, with Overview, Users, Scenes & sharing, Pages & events, Devices & quality.
- All-platform analytics: Overview, Behavior, Users, Business, Operations, Data.
Why they are split
The web shell counts web, server and import data. The app shell counts native apps, server and import. The mini program shell counts mini programs, server and import. All-platform analytics does not clip by shell, so events, funnels, retention, people and business analysis live there. Multi-platform overview appears only when the project has more than one source kind.
Choose how to connect
The console only shows a shell for source types that are registered in the project. If your plan does not include apps or mini programs, non-web events are dropped at the collector.
Snippets and wizards are on ConsoleWeb analyticsConfigurationSDK code, ConsoleApp analyticsConfigurationSDK code, and ConsoleMini program analyticsConfigurationSDK code. Keys are under ConsoleConfigurationSettingsAPI keys.
How to choose
| You need | Use | First page |
|---|---|---|
| Website traffic | One page script | Web analytics quickstart |
| Android, iOS, or HarmonyOS | That platform's SDK | App analytics quickstart |
| WeChat, Alipay, or Douyin mini program | Mini program SDK | Mini program quickstart |
| Orders, signups, and other facts | Server API | Server events quickstart |
| Live chat only | The same website script | Live chat quickstart |
Package names, versions, and what each SDK captures automatically are in SDK overview. Cross-platform frameworks reuse the website script or the native SDKs and do not create a second identity model.
Two server channels are easy to mix up. POST /api/v1/track writes named events, accepts an idempotency key, and needs a key with the Server track scope. POST /api/v1/server/events keeps only requests classified as bots, skips humans, and needs Write server events. Log import is a third route that needs Import logs; see Server events & log import. The three scopes do not substitute for each other.
Why they stack
Website, app, mini program, and server events in one project share one event table. Put amounts and order ids on server events. Leave pageviews and clicks to the client. If analytics is already installed, do not add a second snippet for chat: the website script loads the chat file from the same directory when chat is on.