Custom Events & Goals
Pillar: modelling goals, conversions, and revenue events in a self-hosted analytics tool. The tooling-specific patterns — Plausible CE custom props, Matomo goal funnels, Umami event names — alongside the cross-tool framework for designing events that survive a platform migration.
Most analytics setups die not from the tool but from event sprawl: 200 event names that nobody can map back to business outcomes, half of them firing twice, the other half misfiring on iOS Safari. This pillar focuses on the design discipline that prevents that, then on the per-tool implementation.
Published guides
- Plausible Custom Events, Revenue & Funnels: Self-Hosted CE (2026) — modelling pricing-page → checkout → success on a self-hosted Plausible install. Custom props, revenue tracking, funnels.
- Matomo Ecommerce Tracking: WooCommerce + Shopify Self-Hosted — full ecommerce event taxonomy on Matomo. Cart events, refunds, product impressions.
- Conversion Tracking Beyond E-commerce — for content sites, SaaS, and B2B funnels where “revenue per session” doesn’t map. What to model when you don’t have a checkout.
Cookbook entries shipping next
- The 5-event minimum for any SaaS — the minimum set of events that gives you onboarding, retention, and upgrade signal. With Plausible CE + Matomo implementations side-by-side.
- Umami pageview-and-event hybrid model — Umami’s lighter event API has fewer knobs than Plausible’s; this entry shows how to fit common funnels into it.
- Server-side custom events on a Next.js site — pushing events from API routes instead of the browser, with retry-and-batch logic.
- Migration-safe event naming — naming conventions that survive moving from Tool A to Tool B. The conventions are what carry; the tool is interchangeable.
Related across pillars
- Install recipes — your custom events have to land somewhere. Pick the platform first.
- Self-hosted tag manager — for teams that prefer the marketer-friendly tag layer instead of code-deployed events.
- SQL recipes — once you have custom events in Matomo or PostHog, the interesting reports come from joining them in SQL. The querying lab covers that.