UTM attribution

Nohmo automatically reads UTM parameters from the URL on the first page load of each session and sends them with every subsequent event in that session.

Supported parameters

URL parameterFieldExample
utm_sourcesourcegoogle, newsletter, twitter
utm_mediummediumcpc, email, organic
utm_campaigncampaignspring-sale-2025
utm_termtermrunning shoes
utm_contentcontenthero-cta, sidebar-link
refsource + medium="ref"META_ADS_1, partner-blog

How it works

When a user lands on a page with UTM parameters in the URL, the SDK captures them and stores them in sessionStorage. On subsequent page navigations within the same session, parameters are read from sessionStorage so they aren't lost even if the user navigates to a clean URL.

UTM data is first-touch within each session — it reflects the channel that brought the user into that session, not the last URL they visited.

Custom attribution parameters

If your team uses a different parameter name — ?reference=, ?from=, ?visit_from=, or anything else — add it in Settings → General → Custom attribution parameters. The SDK fetches the list from the backend on every page load, so no code changes are needed. ?ref= is always active by default.

When no utm_* params are present the SDK checks your configured list in order. The first matching param's value becomes source and the param name itself becomes medium, so you can tell them apart in the Traffic dashboard.

Example URLs

bash
# Full UTM (always takes priority)
https://yourapp.com?utm_source=google&utm_medium=cpc&utm_campaign=spring-sale
# Newsletter link
https://yourapp.com?utm_source=newsletter&utm_medium=email&utm_campaign=weekly-digest
# Custom attribution params (no UTM tooling required)
https://yourapp.com?ref=META_ADS_1 # source=META_ADS_1, medium=ref
https://yourapp.com?reference=CAMPAIGN_A # source=CAMPAIGN_A, medium=reference
https://yourapp.com?src=partner-blog # source=partner-blog, medium=src

Note: Attributed sessions appear in the Trafficdashboard under Sources and Mediums. Sessions with no UTM or attribution params are counted as "organic."