More in Product analytics
- Autocapture and the AI event inbox
- Build a funnel that explains drop-off
- Identify users across web, app and mini-programs
- What is autocapture, and how does it work?
- How do I review and accept events in the inbox?
- What are unplanned events, and how do I manage them?
- When should I use a funnel instead of a goal or path?
- How do I build a funnel?
- How do I read where a funnel drops off?
- What is identified mode, and should I turn it on?
- How do I call login to identify a user?
- How is one person merged across devices?
- How does identity work on apps and mini-programs?
- How do I track clicks on outbound links?
- How do I track file downloads?
- How do I track form submissions?
- How do I track custom events?
- How do I create a heatmap?
- How do I track scroll depth?
- How do I track ecommerce purchases and revenue?
- How do I set up goals and track conversions?
- How do I query my data with SQL?
- How do I create a custom metric?
- How do I analyze accounts with groups?
- How do I connect AI agents with MCP?
- How do I ask the AI assistant about my data?
- How do I create user segments?
- How do I run an RFM analysis?
- How do I record and watch session replays?
- How do I analyze user paths?
- How do I build a retention report?
- How do I analyze how an event is distributed?
- How do I create a tracking plan?
- How do I view a user’s profile and activity?
- How do I read the lifecycle report (new, returning, resurrecting, dormant)?
- How do I compare attribution models for a conversion?
- All guides in this category
Still have a question?
Could not find it? A person reads every message, usually within a few hours on business days.
Chat with usShort answer
With autocapture on (Pro plan and above), accept the button’s candidate in the event inbox and name it; that also fills in the last 90 days. Or call tapcub.track() in the click handler when you need extra properties.
Two ways
| Method | Code needed | History |
|---|---|---|
| Autocapture + event inbox | None | Accepting a rule backfills the last 90 days |
tapcub.track() in your click handler | Yes | From the day you deploy |
With autocapture (no code)
- Turn on autocapture in the autocapture card under Web analyticsConfigurationSDK code. Autocapture is included from the Pro plan.
- Wait for candidates, or generate them right away in All-platform analyticsDataEvent inbox. Clicks are grouped by element and page.
- Accept the button's candidate and give it a snake_case name such as
start_trial_click, or merge it into an existing event.
Accepting creates a rule and fills in the last 90 days, so you can see how the button performed before you asked. More in how autocapture works.
With code
Call tapcub.track in the button's click handler:
document.querySelector('#start-trial').addEventListener('click', () => {
tapcub.track('start_trial_click', { location: 'pricing' });
});
Choose code when you need properties autocapture cannot see, such as the selected plan, or when the plan does not include autocapture.
What is never captured
Autocapture skips password fields, anything inside an element with data-tc-ignore, the chat widget and selectors on your deny list. Element text is off by default.
See where people click
Clicks also feed heatmaps. A heatmap shows every clickable element on a page at once, plus rage clicks. Heatmaps are under All-platform analyticsBehaviorHeatmaps.
Confirm it works
Do the action yourself on the live site, then open Web analyticsRealtime: the event appears within a few seconds. Totals and properties are in Web analyticsEvents.
See also: track form submissions and micro-conversions.
Did this answer your question?
We use your answers to fix and expand this page.
Couldn’t send. Please try again in a minute.
Thanks for the feedback. We’ll use it to improve this page.You’ve already sent feedback on this page. Thanks.