Skip to main content
Events are the foundation of Cano Analytics — every user action you capture becomes a queryable, visualizable data point. Whether a visitor views a page, clicks a button, or completes a purchase, each of those moments is an event you can analyze, filter, and chart in your Cano dashboard.

What Is an Event?

Every event you send to Cano Analytics is made up of four parts:

Event Naming Conventions

Use snake_case and past tense for all event names. This keeps your event data consistent and readable across everyone who uses your Cano dashboards. Good examples:
  • user_signed_up
  • page_viewed
  • purchase_completed
  • button_clicked
  • subscription_cancelled
Avoid generic names like click or event1 — specific names make your dashboards far easier to understand at a glance.

Tracking Events

Call cano.track() with an event name and an optional properties object. The SDK automatically attaches a timestamp and any previously set super properties.

Tracking Page Views

Use cano.page() to record when a user visits a page or screen. Unlike track(), cano.page() is specifically designed for navigation events — it automatically captures the page URL, title, and referrer so you don’t have to pass them manually.
JavaScript
Call cano.page() on every route change in single-page apps (SPAs) — automatic page-view detection is not included in the SDK, so you need to call it manually on each navigation event.

Server-Side vs. Client-Side Tracking

Both approaches send the same event structure to Cano — the difference is where the call originates.
Use the JavaScript SDK to track events directly from the user’s device. This is ideal for UI interactions like button clicks, page views, and form submissions where you need low-latency capture.Best for: page views, UI interactions, front-end funnels
JavaScript
Always track revenue and subscription events server-side. Client-side calls can be blocked by ad blockers or manipulated by users, which leads to inaccurate revenue data in your dashboards.

Batch Tracking

When you need to send many events at once — for example, during a backfill or a high-throughput pipeline — use cano.batch() instead of making individual track() calls. Batching reduces HTTP overhead and is the recommended approach for server-side pipelines.
The batch endpoint accepts up to 500 events per request. Larger payloads should be split into multiple batch calls.

Viewing Tracked Events

Once events arrive, open your Cano dashboard and navigate to the Events tab. You’ll see a real-time stream of incoming events with their properties, timestamps, and associated user IDs. Use the search bar to filter by event name or property value, and click any event row to inspect its full payload. Events typically appear in the stream within 1–2 seconds of being sent.

Next Steps

Identify Users

Link your events to real user profiles so you can analyze behavior by person, segment, and cohort.

Custom Properties

Attach rich context to events and users with typed properties that are queryable in every chart.