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

Data collection and SDKs Start with one line. Connect every platform.

Paste one async script on the website. When events happen elsewhere, add an SDK or the server API. Data is already flowing before you name a single event.

  • About 2 KB, async
  • Collect first, you confirm the names
  • Web, app, mini-program
  • Server API for backend events
compressed size
≈ 2 KB
compressed size
loads without blocking
async
loads without blocking
to the first visitor
< 1 min
to the first visitor
app.tapcub.com/p/acme/events/live

Live event stream

Last 60 seconds

Events / min

1,284

▲ 6%

Visitors online

312

▲ 2%

Pending candidates

3

  • pageviewWeb · Chromepath=/pricing · ref=googleAuto2 s
  • click · button.ctaWeb · Safaritext="Start free"Pending5 s
  • order_paidiOS · 4.2.1amount=199 · currency=USDNamed9 s
  • shareWeChat mini-programpage=pages/goods/detail · scene=1007Named14 s
  • refundServer APIorder_id=A8841 · amount=49Named21 s
  • scroll · /pricing · 75%Web · Edgedepth=75Auto30 s
Filter by source or event · expand a row for properties
Sample data
Ways to connect

One script, one SDK, the server, or a line of logs

Human browsing comes from the browser or an SDK. The server fills in events the page cannot see. Log import is only for identifying bots.

Web script

One async script in the page. Analytics and Chat both use it.

Platform SDKs

iOS, Android, HarmonyOS, Flutter, React Native, uni-app and mini-programs.

Server API

Payments, refunds or any backend job can send a named event.

Access logs

Submit combined-format log lines to identify bots. Human browsing still goes through the script.

Autocapture and AI events

Collect first. Name the events when you want to count them.

From the day the script goes live, clicks, submits and scrolls are recorded. AI groups them and suggests a name. Until you confirm it in the inbox, it is not a report metric.

1

Autocapture

Clicks, form submits and scrolls are recorded the day the script ships.

2

AI suggests a name

Similar actions are grouped and given a readable name.

3

You confirm

One click in the inbox turns a candidate into an event you can chart.

4

Add business fields

Orders and plans need a short snippet carrying the fields you care about.

Captured today

  • click · button.cta186×
  • submit · form#signup74×
  • click · a[href="/pricing"]210×
  • scroll · /pricing · 75%96×

Suggested names

  • trial_started96%

    Click on the primary button

  • signup_submitted94%

    Sign-up form submitted

  • pricing_viewed81%

    Pricing page scrolled to 75%

Event inbox

  • trial_startedConfirmed
  • signup_submittedConfirmed
  • pricing_viewedConfirm

Snippet to paste

checkout.js
// Paste after a successful payment
tapcub.track('order_paid', {
  order_id: order.id,
  amount: order.total,
  currency: 'USD',
});

Naming everything up front

Weeks

Write a tracking plan, wait for a release, then discover the names were wrong.

TapCub

Minutes

Collect first. Confirm the names you want and start charting.

SDK matrix

SDKs for 7 platforms plus a server API, all into one project

Each source has its own site key; event names and fields are shared across every platform. Identity resolution can recognise them as the same person.

index.html
<!-- Place before </head>; shared by Analytics and Chat -->
<script async src="https://app.tapcub.com/w.js" data-site="SITE_KEY"></script>
About 2 KB, loaded async, never blocks rendering.Read the install guide
WebThe async script collects views, clicks and campaign parameters.
iOSSwift SDK for sessions, screens, crashes and events.
AndroidKotlin SDK for sessions, screens, crashes and events.
HarmonyOSArkTS SDK for native apps and atomic services.
Mini-programsWeChat, Alipay and Douyin scenes in the same project.
FlutterOne SDK covering the iOS and Android builds you ship.
React NativeOne SDK covering iOS and Android.
uni-appIntegrate once for every platform you already publish to.
Server APISend named events from the backend with a Server Key.
Data quality

Validated on arrival, named by you

Every event is checked before it lands: unexpected names, missing properties and wrong types are flagged so they cannot quietly skew a report. Candidates become real events in the inbox, nowhere else.

  • Realtime validation of event names, properties and types
  • Data-quality warnings pushed to the project home
  • Event and property management: merge, rename, retire
app.tapcub.com

Data quality · acme-web

Last 7 days

Passed validation

99.2%

▲ 0.3 pts

Warnings

14

▼ 6

Properties to review

3

EventIssueCountStatus
order_paidamount received as a string38Open
signup_submittedMissing property plan12Open
Order_PaidCase conflict with order_paid6Merged
pricing_viewedNew event, awaiting confirmation96Inbox
4 rows · click a row to inspect events
Sample data
Checked on arrivalUnexpected events and properties are flagged.
You own the namesAutocapture never silently becomes your metric catalogue.
Event inboxGrouped clicks stay candidates until you accept them.
Performance

About 2 KB, async, never in the way of the page

The script is about 2 KB compressed and loads async, so rendering never waits for it. Analytics and Chat share it; the chat widget loads only when needed.

  1. 1Create a projectFree, no credit card. Each website, app or mini-program gets its own key.
  2. 2Paste the scriptBefore the closing head tag, or in your site builder's custom code.
  3. 3Watch the first visitorsRealtime visitors should appear within about a minute of the first page load.
index.html
<!-- before </head> · analytics + chat -->
<script async src="https://app.tapcub.com/w.js" data-site="SITE_KEY"></script>
compressed size
≈ 2 KB
compressed size
loads without blocking
async
loads without blocking
to the first visitor
< 1 min
to the first visitor

Other platforms use their SDK

WebiOSAndroidHarmonyOSMini-programsFlutterReact Nativeuni-appServer API

About 2 KB compressed, loaded async, never blocks page rendering.

Example scenario: A content site pastes the script on Friday afternoon and reads the weekend's sources and top pages on Monday. Two weeks later it confirms the subscribe-button event from the inbox — no developer sprint needed.

FAQ

About collection

Still have a question?

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

How big is the script?

About 2 KB compressed. It loads async and never blocks rendering. The chat widget loads only when a visitor needs it.

Do I need a tracking plan first?

No. Autocapture records clicks, submits and scrolls straight away. AI suggests names; you confirm the ones you want in the inbox.

Which SDKs are there?

Web, iOS, Android, HarmonyOS, mini-programs (WeChat, Alipay, Douyin), Flutter, React Native, uni-app, and a server API.

Will it slow the site down?

The script is small and loads async — it is not a parser-blocking tag.

Can the server send events?

Yes. Payments, refunds and anything that never happens in a browser go through the server API. Log import is only for identifying bots.

What happens when validation fails?

The event still lands, but with a warning and a row in the data-quality panel. You can fix the property, merge duplicate names or retire the event.

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