GTM Analytics

Job to be done

Website event tracking

How to design events you will still understand in a year, what they cost you in most pricing models, and which tools handle them well.

Original abstract illustration in the form of a flow diagram, drawn for this guide

Event tracking is where analytics setups go to die. It starts well, with three or four sensibly named events, and eighteen months later there are ninety of them, four mean roughly the same thing, two were renamed by somebody who has left, and nobody trusts any of it.

That outcome is almost entirely a design problem rather than a tooling problem, so most of this page is about design. The tooling section is short because the tools are less different than they look.

What is worth making an event

An event should represent a thing a person did that you would change the site over. That is a higher bar than most implementations apply, and applying it is what keeps the list short enough to trust.

Good candidates: a form submitted, a file downloaded, a video started and finished, a plan selected, a search performed with no results, an outbound link clicked, a checkout step reached. Each of those has an obvious decision attached if the number moves.

Bad candidates: every click on every element, scroll depth at ten per cent intervals, hover states, and anything captured because it was easy rather than because somebody asked for it. Autocapture tools make this failure mode cheap to commit and expensive to unwind.

A naming scheme that survives contact with a team

Pick one convention and write it down somewhere the next person will find it. The one that ages best is object then past-tense verb, lower case, underscore separated: `signup_completed`, `pricing_viewed`, `demo_requested`, `checkout_started`.

Put the variable part in properties rather than in the name. One `plan_selected` event with a `plan` property beats three events called `starter_selected`, `growth_selected` and `business_selected`, because the first can be grouped and the second cannot, and because the fourth plan you launch does not require a code change.

Agree the list before you implement it, and keep it in version control next to the code rather than in a document nobody opens. An event taxonomy is an interface between your site and your future self, and it deserves the same care as any other interface.

Events usually cost you money, and nobody reads that part

This is the practical detail that surprises people at renewal. On most analytics pricing, custom events count against the same allowance as pageviews.

Fathom's own FAQ confirms events count towards your monthly pageviews. Pirsch counts custom events and a share of session-extension events towards the page view limit. Absolutely Analytics counts pageviews and custom events against one combined allowance and says so on its pricing page. Matomo meters hits, which includes events, downloads and outlinks, so an event-heavy site consumes a Matomo plan considerably faster than its pageview count implies.

The consequence is that a chatty implementation can double your bill without doubling your traffic. This is another argument for a short, deliberate event list: it is cheaper as well as more useful.

What the tools actually differ on

For web analytics tools the differences are narrow. Nearly all of them support custom events with properties, most support defining goals from events without code, and several can track file downloads and outbound clicks automatically without you instrumenting anything.

The real split is between web analytics and product analytics. If your question is how many people clicked the download button, any tool here does it. If your question is which sequence of events predicts whether somebody is still using the product in week four, you want a product analytics platform with cohort analysis, and you want to accept the script weight, the cookies and the consent banner that come with it.

Buying the second when you needed the first is the most common and most expensive mistake in this market.

The options, at a glance

Tools covered on this page, ordered by my overall score. Prices read 11 September 2026.
ToolFromFree tierCookiesScore
Absolutely Analytics$9 per monthNo free tier. A 30-day trial of the exact tier you pickedNone, so no consent banner8.9
Plausible Analytics£9 per monthNo, but the community edition is free to self-hostNone, so no consent banner8.0
Pirsch Analytics$6 per monthNo. A 30-day trial, no card requiredNone, so no consent banner7.5
PostHogFree then usage-basedYes, and it is the most generous on this listYes, by default7.1
MatomoFree self-hosted; cloud from €22Yes, the entire on-premise productOptional, and it runs cookieless if configured7.0

The rest of the field

Absolutely Analytics

8.9/10Privacy-first and cookieless

Custom events, goals and conversions on the $9 entry tier, with custom properties, funnels, user journeys and the Stats API on Business. Automatic tracking of downloads, outbound links and form completions with no instrumentation.

From $9 per month · None, so no consent banner · Full review →

Plausible Analytics

8.0/10Privacy-first and cookieless

Codeless goals, automatic file download and outbound link tracking, and custom properties plus funnels on its Business tier. Turn any page into a goal without writing code.

From £9 per month · None, so no consent banner · Full review →

Pirsch Analytics

7.5/10Privacy-first and cookieless

Events and conversion goals on the $6 entry plan, funnels at $12, and a proper REST API with SDKs rather than a browser-only integration.

From $6 per month · None, so no consent banner · Full review →

PostHog

7.1/10Product and event analytics

The right answer if the events are really product questions. Autocapture to get started, then flags, experiments and cohort analysis. Heavy, cookie-setting, and a consent banner in the UK and EU.

From Free then usage-based · Yes, by default · Full review →

Matomo

7.0/10Open source and self-hosted

Full event tracking with no vendor in the middle if you self-host. Note that it meters hits, so events consume the same allowance as pageviews on Cloud.

From Free self-hosted; cloud from €22 · Optional, and it runs cookieless if configured · Full review →

Common questions

Do custom events count towards my analytics plan limit?

On most tools, yes. Fathom's FAQ confirms events count towards monthly pageviews, Pirsch counts custom events and some session-extension events against the page view limit, Absolutely Analytics counts pageviews and events against one combined allowance, and Matomo meters hits, which includes events, downloads and outlinks. Budget for it before you instrument heavily.

How many events should I track?

Fewer than you think. Start with three to five that have an obvious decision attached, such as a form submitted, a plan selected or a checkout step reached, and add more only when somebody asks a question the existing set cannot answer. Long event lists are almost always a sign nobody is using them.

What is the best naming convention for analytics events?

Object then past-tense verb, lower case and underscore separated: signup_completed, pricing_viewed, checkout_started. Put variable parts in properties rather than event names, so one plan_selected event with a plan property replaces three near-identical events and survives you launching a fourth plan.

Do I need product analytics for event tracking?

Only if your questions are about sequences and cohorts rather than counts. If you want to know how many people did something, a web analytics tool handles it in a kilobyte. If you want to know which early behaviour predicts retention in week four, that is a product analytics platform, with the script weight and consent banner that come with it.

Related guides

Everything above is my own opinion, formed from published vendor documentation and pricing read on 11 September 2026. There are no affiliate links on this site and no vendor has paid to appear. Corrections welcome.