Track
Tracking parameters
Which URL parameters ProductLense reads (UTM tags, ad click ids), how they set channel and source, and how to tag links so revenue lands on the right campaign.
ProductLense reads attribution from the landing URL and the referrer. Tag the links you control with UTM parameters and every visitor, signup and payment that follows is credited to that source and campaign.
Parameters ProductLense reads
| Parameter | Stored as | Notes |
|---|---|---|
utm_source | Source | Lower-cased. Where the visitor came from: newsletter, producthunt, google. |
utm_medium | Medium | Lower-cased. Decides the channel for cpc, ppc, paid, paidsocial, display (paid) and email (email). |
utm_campaign | Campaign | Case kept. The value you add ad spend against for profit per channel. |
utm_term | Term | Case kept. Usually the paid keyword. |
utm_content | Content | Case kept. Tells two links in the same campaign apart. |
ref, via, source | Source | Used only when there is no utm_source; if several are present, ref wins, then via, then source. Lower-cased, trimmed and capped at 64 characters; a full URL is reduced to its domain (?ref=https://www.indiehackers.com/post/x becomes indiehackers.com). Launch sites and link-sharing tools add these for you. |
gclid, fbclid, msclkid | Paid channel | Only their presence is used: the visit is classified paid. The value itself is not stored. |
Everything else in the query string, such as ?token= or ?email=, is removed by the script before the event leaves the browser, so private values never reach ProductLense. The fragment (#...) is removed too.
How the channel is picked
Every visit gets one channel. The first rule that matches wins: a click id or a paid utm_medium makes it paid, utm_medium=email makes it email, then the referrer decides between ai_assistant, social, organic_search and referral. When there is no referrer, the source decides by the same lists, so ?ref=producthunt or ?utm_source=chatgpt.com still lands in social or ai_assistant. A visit with no referrer and no source or UTM tags is direct. The full table, with every referrer domain, is in How ProductLense counts.
Tag a link
https://example.com/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=october-launch- Keep values lower case and use hyphens:
october-launch, notOctober Launch. Source and medium are lower-cased for you; campaign is not, soLaunchandlaunchwould be two campaigns. - Use the same campaign name in your ad platform and in ProductLense's ad spend, so spend and revenue meet on one row.
- Do not tag links between your own pages. The tag would be recorded on those pageviews and muddy your source and campaign reports.
First touch keeps the tag
The tags on a visitor's first pageview are kept for the life of the site as that visitor's first touch, and every later payment from that person is credited to them. A visitor who first arrives from your newsletter and pays a week later after a Google search counts as newsletter revenue, as long as the two visits are linked through identify. See How payments are attributed.
Where to see them
The dashboard breaks traffic, revenue and profit down by channel, referrer, source, medium and campaign. Click any row to filter the whole dashboard to it; see Date ranges, comparisons and filters.