Features
Lead source tracking with UTM parameters
How UTM parameters and ad click IDs work, first-touch vs last-touch attribution, clean naming conventions and how to report conversion by lead source.

Key takeaways
- Lead source tracking connects marketing spend to revenue, not just to clicks or form fills.
- Always set utm_source, utm_medium and utm_campaign, and keep values lowercase because they are case sensitive.
- Click IDs like gclid and fbclid are added by the ad platforms automatically; your forms just need to capture them.
- First touch tells you what created the lead; last touch tells you what converted it. Store both if you can and pick one for reporting.
- The report that matters is revenue and conversion rate by source, reviewed monthly.
If you spend money or time on marketing, you need to know which of it produces customers. Not clicks, not followers, not even form fills: customers and revenue. Lead source tracking is how you get there, and for most small teams it comes down to two things: tagging your links with UTM parameters and capturing that information on every lead in your CRM.
This guide explains UTM parameters, ad click IDs, first-touch versus last-touch attribution, naming conventions that keep your data clean, and how to report conversion and revenue by source.
What lead source tracking answers
Good source data lets you answer questions like:
- Which channel brought in the most leads last month?
- Which channel brought in the most revenue?
- Are Google Ads leads closing at a better rate than Facebook leads?
- Did the spring mailer pay for itself?
- Which landing page produces leads that actually book appointments?
A roofing contractor might find that paid search produces fewer leads than a home-services marketplace, but closes three times as often. An agency might learn that webinar leads take longer to close but sign bigger retainers. You can’t make those calls without source data on every lead.
UTM parameters explained
UTM parameters are tags added to the end of a URL. When someone clicks the link, the tags travel with them to your website, where your analytics and your forms can read them.
Here’s a tagged link:
https://example.com/lawn-care?utm_source=facebook&utm_medium=paid_social&utm_campaign=spring_aeration
Google’s documentation for campaign URL builders describes the parameters like this:
| Parameter | Use it for | Example value | Guidance |
|---|---|---|---|
utm_source |
The referrer: where the traffic came from | google, facebook, newsletter |
Always use |
utm_medium |
The marketing medium | cpc, email, paid_social |
Always use |
utm_campaign |
The campaign, product or promotion | spring_aeration |
Always use |
utm_id |
A campaign ID | sa2026 |
Strongly recommended |
utm_term |
The paid keyword | lawn+aeration |
Optional |
utm_content |
Which creative or link was clicked | top_banner, video_ad |
Optional |
Google also lists utm_source_platform, utm_creative_format and utm_marketing_tactic, which most small teams can skip.
Two details from that documentation trip people up:
- Values are case sensitive.
utm_source=googleandutm_source=Googleare recorded as different sources. Google recommends lowercase for everything. - Missing parameters show as “(not set)” in reports, so a link with only
utm_sourceleaves gaps.
Click IDs: gclid and fbclid
Ad platforms add their own identifiers to the URL when someone clicks an ad:
- gclid. With auto-tagging on, Google Ads adds a parameter called GCLID to the clicked URL, for example
?gclid=123xyz. Google says auto-tagging is on by default for new accounts, and warns that the gclid must survive any redirects to reach your final landing page. - fbclid. Meta describes its ClickID as a parameter it appends to the advertiser’s URL when someone clicks an ad on Facebook or Instagram. Meta notes the value is case sensitive, so don’t change it.
Why store click IDs on the lead? They tie a specific lead to a specific ad click, which is what ad platforms need if you later want to send offline conversions back to them (for example, “this lead became a $9,000 job”). Even if you don’t do that today, capturing them now costs nothing.
First touch vs last touch
Many leads touch more than one channel before they convert. A homeowner might click a Google ad, leave, see a Facebook ad a week later, then type your URL directly and fill in the form. Which channel gets the credit?
| Model | Credit goes to | Answers |
|---|---|---|
| First touch | The first channel that brought them in | What creates new demand? |
| Last touch | The last channel before they converted | What closes the gap to a lead? |
| Multi-touch | Split across several channels | How do channels work together? |
Analytics tools have their own approach. Google Analytics, for example, now offers data-driven and last-click models, and says the first click, linear, time decay and position-based models are no longer available as of November 2023.
For a small team’s CRM, keep it simple:
- Capture source data at the moment the lead is created. That’s the most reliable record you’ll have.
- Don’t overwrite it later. If the same person comes back through a different campaign, note the new touch rather than replacing the original.
- Pick one model for reporting and use it consistently month to month.
Naming conventions
Most source reports go wrong because the same campaign is tagged five different ways. Write a one-page convention and share it with everyone who creates links, including your agency.
| Rule | Good | Bad |
|---|---|---|
| Lowercase only | facebook |
Facebook, FB |
| Underscores, no spaces | spring_aeration |
Spring Aeration |
| Fixed list of mediums | cpc, paid_social, email, sms, referral, print |
ads, paid, social-paid |
| Campaign names include season or year | roof_storm_2026 |
campaign1 |
utm_content describes the creative |
before_after_video |
ad2 |
Keep a shared spreadsheet of every tagged link you create, with the date, the destination and the full URL. It takes thirty seconds and saves hours of detective work later.
Sources without links
Not every lead clicks a tagged link. Cover the rest:
- Phone calls. Use a separate tracking number for major campaigns (such as yard signs or mailers) where practical, and record the source on the lead.
- Referrals. Set the source to
referraland note who referred them so you can thank them. - Walk-ins, events and open houses. Use a dedicated source value per event.
- Imports. When you import a list, set a source for the whole file.
- “How did you hear about us?” Ask on calls and optionally on forms. Self-reported answers catch word of mouth that no tracking link sees.
The rule: every lead gets a source. “Unknown” should be a small, shrinking slice.
Capture it on every lead
The tracking only pays off if the data lands on the lead record. Your website forms should read UTM parameters and click IDs from the page URL and save them with the submission, along with the page URL and referrer. See our guide to lead capture forms for how hidden fields work. If leads arrive from other tools (a landing page builder or a marketplace), pass the same information through an integration or API; our guide to CRM APIs and webhooks covers the basics.
Report conversion by source
Once every lead carries a source, build one monthly report:
| Source | Leads | Won deals | Conversion rate | Revenue | Spend | Revenue ÷ spend |
|---|---|---|---|---|---|---|
| google / cpc | 80 | 12 | 15% | $54,000 | $6,000 | 9.0 |
| facebook / paid_social | 120 | 6 | 5% | $21,000 | $4,500 | 4.7 |
| referral | 25 | 10 | 40% | $48,000 | $0 | — |
Hypothetical example. Conversion rate is won deals divided by leads. Spend usually comes from your ad accounts, so you’ll add that column yourself.
Read it with care. Leads from a recent campaign may not have closed yet, so compare sources over a period longer than your typical sales cycle. Our guide to sales reporting covers how to fit this into a monthly review.
How Exa helps
Exa stores source attribution on each lead, including UTM parameters and click IDs (gclid and fbclid). Exa’s lead capture forms record the page URL, referrer, UTM parameters, gclid and fbclid on every submission automatically, so you don’t have to build hidden fields by hand. Leads from CSV imports, the server-to-server lead API and other intake paths land in the same place.
In analytics, lead source performance shows leads and conversion rates by source for any date range, and automations can use the lead’s source as a condition, for example to route paid-search leads to a specific rep.
Final thoughts
Lead source tracking isn’t complicated, but it rewards discipline. Tag every link with at least source, medium and campaign, keep values lowercase and consistent, capture click IDs, give every lead a source even when there’s no link, and review conversion and revenue by source once a month. After a quarter, you’ll know which marketing to double down on and which to quietly turn off.
Try it with your own leads
Exa puts leads, pipeline, inbox and an AI assistant in one simple app.
Sources
FAQ
Frequently asked questions
Short answers to the questions we hear most about this topic.
Still have questions?
Start a free trial and see Exa with your own leads and pipeline, or email our team.
What are UTM parameters?
UTM parameters are tags you add to the end of a link, such as utm_source and utm_campaign, so analytics tools and your CRM can tell which campaign sent a visitor.
Which UTM parameters are required?
Google's documentation says to always use utm_source, utm_medium and utm_campaign. The others, such as utm_term and utm_content, are optional.
Are UTM parameters case sensitive?
Yes. A source of Google and a source of google are recorded as two different values, so pick lowercase and stick to it.
What is a gclid?
A gclid is a click identifier that Google Ads adds to your landing page URL when auto-tagging is on. Storing it on the lead lets you connect that lead back to the ad click.
What is the difference between first-touch and last-touch attribution?
First touch gives credit to the first channel that brought the lead in. Last touch gives credit to the channel they used just before converting. Each answers a different question.
How do I track leads from phone calls and referrals?
Record a source for every lead, even when there is no link. Use a dedicated phone number per campaign where practical, ask how they heard about you, and set a referral source manually.
Recommended reading

Lead capture forms: turn website visitors into leads
How to design lead capture forms with fewer fields, clear consent checkboxes, spam protection and hidden attribution, then follow up fast.
7 min readRead
Sales reporting: the dashboards and KPIs that matter
The ten sales KPIs small teams should watch, with formulas, plus how to report on funnel conversion, lead sources and rep activity weekly and monthly.
7 min readRead
Lead management: capture, qualify and follow up
A practical guide to lead management for small teams: the lead lifecycle, clear statuses, capture, qualification, assignment, follow-up and metrics.
7 min readRead
CRM API and webhooks: connect your CRM to anything
REST APIs vs webhooks explained, common CRM integration use cases, how to keep API keys safe, verify HMAC signatures, and handle retries and idempotency.
7 min readRead