New: USD pricing + usage meter 17 July 2026 · View changelog →
Antlytics logoAntlytics
← Blog

Custom Events and Funnels for Indie Developers: A Practical Setup Guide

How to track the actions that matter — signups, checkouts, feature usage — with custom events and funnels, without adding a heavyweight product-analytics suite.

Custom Events and Funnels for Indie Developers: A Practical Setup Guide

Pageviews tell you people arrived. They don't tell you whether anyone clicked the signup button, finished onboarding, or hit the paywall and bounced. For that you need two things: custom events for actions, and funnels to string those actions into a journey.

This guide sets both up in about fifteen minutes, using Antlytics. The same principles apply to any tool that supports events and funnels.

Key idea: Track five to ten events that map to revenue or activation. Resist tracking everything — an indie project needs signal, not a data lake.

Step 1: Decide what's worth tracking

Before writing any code, list the actions that actually change your business:

Five to ten events is plenty. Every event you add is a chart you'll feel obliged to look at.

Step 2: Fire events from your code

With the Antlytics snippet or SDK installed, tracking an event is one call:

// Vanilla JS (script tag installs expose a global)
Antlytics.track('signup_click', { plan: 'pro' })

// Next.js SDK — the <Analytics /> component exposes window.antlytics
window.antlytics?.track('checkout_complete', { plan: 'starter', billing: 'yearly' })

Properties are optional scalars — strings, numbers, booleans. Use them for context you'll want to segment by later (plan, variant, source). Keep personal information out; the whole point of privacy-first analytics is that there's nothing sensitive to leak.

A few practical conventions that pay off:

Step 3: Build the funnel

In Antlytics, funnels live in Settings → Funnels. A funnel is an ordered list of steps, and each step matches either a path or a custom event:

  1. /pricing — viewed pricing
  2. signup_click — clicked the CTA
  3. /welcome — completed signup

The Overview dashboard then shows how many sessions reached each step and where they dropped off. The first time you see a 90% drop between two steps you thought were adjacent, you'll know exactly what to work on this week.

Step 4: Read it weekly, not hourly

Indie traffic is spiky. A funnel with 40 sessions a day will swing wildly day to day; compare week over week instead. The useful questions:

What this replaces

Most indie developers reach for a product-analytics suite at this point — and inherit cookie banners, session recording they'll never watch, and a per-event bill. If what you actually need is "did the thing I built get used, and where do people give up", events plus funnels on top of privacy-first pageview analytics covers it with one lightweight script and no consent overhead.

FAQ

What's the difference between a goal and a custom event? A goal counts visits to a path (like /thank-you) and needs no code changes. A custom event is fired from your code and can carry properties — use it for actions that don't have their own URL.

Do custom events count towards my pageview allowance? No. Only pageviews are counted against your plan's monthly allowance.

Can funnel steps mix pages and events? Yes — a step can match a path or an event name, so journeys that span navigation and in-page actions work fine.

How many properties can an event carry? Up to 20 scalar properties and a 1 KB payload. Deliberately small.


Ready to try it? Custom events docs · Funnels docs · Start a free trial