Skip to main content
20% off 3 months · code LAUNCH20 · until 31 October

Can Netlify Analytics track custom events and UTM parameters?

23 September 2026 · by Nordva, who make Nordva Launch

The short answer

No. Netlify's analytics is built from its CDN server logs, not a script in the browser, so it sees pages being served and nothing people do on them. Its charts cover page views, unique visitors, locations, top pages, top sources, missing pages and bandwidth. None of them reports UTM campaigns or custom events. For those you add a script, or log them yourself.

How Netlify counts

Netlify now calls the product Web Analytics; you will also see it called Netlify Analytics or Project Analytics. Its data “comes from our Content Delivery Network (CDN) server logs”, with no code in the browser, so ad blockers and switched-off JavaScript do not affect it, and Netlify never samples it (Netlify: How Web Analytics works).

The same page defines what is counted:

  • Page views are responses with Content-Type: text/html and status 200, 201 or 304.
  • Unique visitors are different IP addresses in a day (or in an hour, with the 24-hour filter). Someone who comes back on three days counts three times, and everyone behind one office network counts once.

The charts are page views, unique visitors, top locations, top pages, top resources not found, top sources and bandwidth used, over the last 30 days by default (Netlify: Web Analytics). There is no chart for campaigns, and no way to send an event.

Why a server log can’t see events

A click on “Sign up”, a video played or a form sent inside your page does not ask the server for a new HTML page, so it never reaches the log. Events have to be recorded in the browser, or by your own code when it handles the action. That is a limit of the method, not a missing setting.

People ask for both in Netlify’s own forum: tracking UTM parameters and tracking a share button.

Workarounds

  1. Add a script-based analytics tool. Netlify’s snippet injection adds a script to every page from the Netlify UI, without touching your code (Netlify: Snippet injection). It does not work on pages served by functions, which includes server-rendered pages; for those, add the script in your code.
  2. Log campaign tags in an Edge Function. Edge Functions can read and modify requests (Netlify: Edge Functions), so it can read utm_source from the first request and store it wherever you like. You build the reports.
  3. Send the raw logs elsewhere. Log Drains send site traffic logs to services such as Datadog, Axiom or S3, but only on Enterprise plans (Netlify: Log Drains).
  4. Record the source with the signup. Read the UTM values on the landing page, keep them for the visit, and save them with the new account. This needs no analytics tool and answers the question that matters most: where did the people who signed up come from.
  5. Make an event a page. A click that loads /thanks/ shows up in Top pages. Crude, but it counts form submissions with nothing added.

Keep both if you like

Server logs and a browser script disagree, and that is fine. The log sees visitors a script misses (blocked scripts, no JavaScript) and requests a script never runs for, such as crawlers that load pages without running JavaScript. The script sees what happens on the page. Use the log for “how much traffic” and the script for “which campaign” and “who did what”.

With Nordva Launch

Launch’s script is one line, which you can paste through Netlify’s snippet injection. It reads UTM values and ?ref= on the first page, and records goals you name: data-nordva-goal="signup" on a button, or nordva('goal', 'signup') from code. Each goal carries the source of the visit that completed it. It leaves out known bots and counts only the domains you list. Free plan, no card: start free.

When Launch is the wrong tool

If you only need page views and top pages and want nothing running in your visitors' browsers, Netlify's server-log analytics already fits; adding a script adds a thing to maintain.

Also asked as
  • Does Netlify Analytics support goals or conversions?
  • How do I track button clicks on Netlify?
  • Can I see UTM campaigns in Netlify Web Analytics?
Read next
Start free Free plan, no time limit · No card