Where do our best users come from?
The campaign that brings the most visitors isn’t always the one that brings customers who stay. This walkthrough ranks Acme CRM’s sources by volume first, then by the quality of the people they bring, and ends with channels you define yourself.
Updated
The question
Which referrers and campaigns bring the people who go on to activate and keep using Acme CRM? This builds on the activation funnel and retention walkthroughs, and on the tracker running on both the marketing site and the app.
1. Tag your links
Referrers show where people came from on their own. UTM parameters say which of your efforts brought them. ClickClacks reads utm_source, utm_medium, utm_campaign, utm_term and utm_content from the page’s address, up to 200 characters each. Acme tags every link it controls:
https://acme.com/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=2026-10-product-update
https://acme.com/?utm_source=google&utm_medium=cpc&utm_campaign=crm-for-agencies&utm_term=crm+software
https://acme.com/blog/pipeline-reviews?utm_source=linkedin&utm_medium=social&utm_campaign=pipeline-guide- Pick one spelling and keep it. Values are stored as sent, so
Newsletterandnewsletterare two sources in every report. Lower case throughout is easiest. - Use
utm_mediumfor the kind of traffic (cpc,email,social) andutm_sourcefor where it ran. Step 8 builds channels from the medium. - The tracker also notes which ad click IDs were present (
gclid,fbclid,msclkid) as$click_id, without keeping their values. - Campaign properties come from the query string. If your snippet has
data-query="off", none are recorded (see Autocapture).
2. How a visit is attributed
In reports, Referrer and the UTM properties describe the visit, not the single event: the referrer the session landed with, and the first UTM value it carried. Every event in that visit carries those same values.
So when someone lands on acme.com/pricing?utm_source=newsletter, reads three pages, clicks into the app and signs up, Signed up counts toward the newsletter, even though the sign-up page had no tags. Two things to know:
- A new visit starts fresh. A session ends after 30 minutes without activity. If someone comes back tomorrow by typing the address and signs up then, that sign-up’s visit is direct.
- Your own domains don’t count as referrers. Moving from
acme.comtoapp.acme.comis Direct / none, not a referral, as long as both are listed and identity is carried.
Need the value on one event itself? Under Show advanced properties, use Referrer (this event) or UTM source (this event).
3. First look in Overview
- Open Overview and set the dates to Last 30 days.
- Read the Referrers list.
- To see one campaign, click Add filter, pick UTM source, choose is, tick
newsletterand press Apply.
That is volume. The rest of this walkthrough is about quality.
4. Rank sign-ups by source
- Open Insights and click New insight.
- Set the series to
Signed up, counted as Unique people. - Click Add breakdown, choose Event property, then UTM source, and Top 10.
- Switch the chart to Bar and set the dates to Last 90 days.
- Save it as Sign-ups by source.
5. Define your best users
“Best” should be something you can count. For Acme, it is people who work deals regularly. Save that as a segment:
- Open People › Segments and click New segment.
- Add did
Deal created, at least 5 times, in the last 30 days. - Name it Active dealmakers and click Save segment.
If your app sends a plan trait with identify, has person propertyplan is growth works too. Keep it a Live segment, so people join and leave as their behaviour changes.
6. Where the best users came from
- Open Sign-ups by source.
- In the filter bar, open the people chip (Who to count) and pick Active dealmakers.
- Set the dates to Last 12 months, so their sign-ups fall inside the range.
Use Save as new if you want to keep this version next to the original. The segment is part of the saved insight.
7. Compare quality, not volume
Two reports you already have answer “do they activate?” and “do they stay?” per source:
- Do they stay? In Retention, with
Signed upas the starting event, choose Break down by › UTM source and compare W1 and W4. Retention reads the visit’s value on each person’s firstSigned up, so cohorts split by the campaign that brought the sign-up visit. - Do they activate? A funnel’s Break down by works differently: it reads the value on each person’s step 1 event itself, not the visit’s. On Acme’s funnel, whose step 1 is the
/pricingpageview, only people who landed on pricing from a tagged link get a value. Use Compare segments with the channel segments in step 8 instead.
8. Build your own channels
ClickClacks doesn’t group traffic into channels for you. Define the ones you care about as segments, then compare them side by side, up to five at a time. Segment conditions read the properties stored on each event, not the visit’s values, so each channel is “had a pageview that itself carried this tag or referrer”. That is the landing pageview: utm_* are stored on events whose own address had them, and referrer on the first pageview of each page load.
| Channel | Segment condition |
|---|---|
| Paid | did $pageview where utm_medium is cpc |
did $pageview where utm_medium is email | |
| Social | did $pageview where utm_medium is social |
| Search | did $pageview where referrer contains google and utm_medium is not set |
- Create each segment in People › Segments › New segment: add a did condition on
$pageview, click Filter by event property, and pick (or type) the raw property name,utm_mediumorreferrer. Up to five property filters per event, all of which must match. Give the condition a window long enough to cover the sign-ups you’re comparing, such as in the last 90 days. - On the activation funnel or in Retention, click Compare segments and tick your channels.
These are “ever came through this channel in the window” segments, so someone who arrived by email and later by an ad is in both, and counts in both. For single-touch attribution by the sign-up visit, use the Insights and Retention breakdowns in steps 4 and 7 instead, which read the visit’s values.
9. Save it and keep it
- On Sign-ups by source, click Add to board and pick Acme weekly. Insights need saving first, because a tile shows the saved version.
- Boards don’t take a segment filter of their own, so save the Active dealmakers version as its own insight and add that too. In the dialog, choose Keep this report’s filters so the segment comes with it.
- After a big campaign, check Realtime’s Arriving from panel to watch people land.
Common mistakes
- Judging sources by visitors. Volume is step 3. Decisions come from steps 6 and 7.
- Inconsistent tags.
Newsletter,newsletterandemail-newsletterare three sources. Write the tagging rules down in your tracking plan. - Tagging internal links. A visit takes the first UTM value it carries, so a tagged link between your own pages can label a visit that arrived untagged. Tag only links that bring people in.
- A redirect that drops the query string. The UTM tags never reach the page, and the visit looks direct or referred instead.
- Treating (not set) as “direct”. It means no UTM tags. Check Referrer for where those people came from.
- Reading a short range with a behaviour segment. If the range doesn’t include when your best users signed up, their sign-ups aren’t counted.
Next
Good attribution depends on consistent events and tags, agreed up front. Write them down: Design a tracking plan.