Skip to content

SEO, GEO & marketing · 10 min read

How to see which marketing actually brings customers

The short answer

To see which marketing brings customers, tag every link with UTM parameters, track calls with source-specific numbers, and save each lead's first and latest source in your CRM. Then count customers and revenue by source, not clicks. A simple first-touch and last-touch view in a weekly report beats an advanced model built on messy data.

HashimFounder & CEO
Published

Key takeaways

  • Your CRM, not an ad platform, should be the source of truth, because it is the only place where a lead becomes a customer with revenue attached.
  • Always use utm_source, utm_medium and utm_campaign, in lowercase and from one shared naming sheet; Google Analytics treats 'Meta' and 'meta' as different values.
  • Phone calls are often invisible to analytics, so give each channel its own tracking number or use Google's forwarding numbers for ads.
  • Store both the first and the latest source on every lead: first-touch shows what introduces people, last-touch shows what closes them.
  • Google Analytics has offered only data-driven and last-click models since November 2023, which is one more reason to keep a simple first and last-touch view in your own records.
On this page
  1. What is marketing attribution, and why does a small business need it?
  2. How do UTM parameters work?
  3. What should your UTM naming template look like?
  4. How do you track phone calls back to marketing?
  5. Where should lead source live in your CRM?
  6. Which attribution model should you use: first-touch, last-touch or multi-touch?
  7. How can you measure marketing while respecting privacy?
  8. What should a weekly marketing report include?
  9. How do you make the CRM your source of truth?

What is marketing attribution, and why does a small business need it?

Marketing attribution is working out which marketing deserves credit for a lead or a customer. Google Analytics defines it as "the act of assigning credit for important user actions to different ads, clicks, and factors along the user's path." For a small business, it comes down to one question answered reliably for every customer: where did this person come from?

Without that answer, budgets follow opinions. Each ad platform reports the conversions it can link to its own ads, so Google and Meta can both claim the same customer. Analytics misses phone calls, walk-ins and word of mouth. And none of those tools knows which leads actually paid you.

Reliable attribution has three layers:

  1. Tags on the way in. Campaign parameters on every link and a distinct phone number for each channel, so each visit and call carries its source.
  2. Capture at the moment of contact. Forms, calls and chats save that source with the lead.
  3. One record that follows the lead to revenue. Your CRM keeps the source on the lead as it moves through your sales pipeline to won or lost.

Get those three right and the reporting is easy. Get them wrong and no attribution model can rescue the data.

How do UTM parameters work?

UTM parameters are short tags added to the end of a link that tell your analytics, and your CRM if you capture them, where a visitor came from. When someone clicks a tagged link, the tags travel with them to your site.

Google Analytics recognizes these parameters:

ParameterWhat it recordsExample values
utm_sourceThe specific site or sendergoogle, facebook, newsletter
utm_mediumThe type of channelcpc, paid_social, email, sms
utm_campaignThe campaign, offer or promotion2026-10_spring-cleaning
utm_contentWhich ad, link or creative was clickedvideo-a, header-button
utm_termThe paid keywordemergency-plumber
utm_idA campaign ID, if you upload campaign data1042

A tagged link looks like this: https://www.example.com/quote?utm_source=newsletter&utm_medium=email&utm_campaign=2026-10_autumn-offer

Google's guidance is to always use utm_source, utm_medium and utm_campaign. Its best practices add four rules worth adopting:

  • One value per platform. Use one source value for each platform, such as facebook or instagram, every time.
  • One value per channel. Use one medium value for each type of channel, such as paid_social.
  • Exact campaign names. Use one name per campaign so a single effort doesn't split into several rows.
  • Lowercase, always. Values are case-sensitive: Google gives the example that "Meta" and "meta" are treated as different values.

Why medium matters most. Google Analytics sorts traffic into default channels using rules that mostly read the medium. Email needs a source or medium of "email." Paid social needs a social source and a medium such as cpc or anything starting with "paid." SMS needs "sms" exactly. A medium Google doesn't recognize, such as "qr," lands in "Unassigned," which you can fix with a custom channel group. Two more rules: Google Analytics now has an AI Assistant channel for visits from tools such as ChatGPT, Gemini and Copilot, and it counts clicks from Google's AI Overviews and AI Mode as Organic Search.

Three habits that prevent messy data:

  1. Keep the naming sheet in one shared place and build every link from it.
  2. Never tag links between pages on your own site. It makes your own website look like the source of the visit.
  3. Use your ad platforms' dynamic values where they offer them, so tags fill in automatically and can't be mistyped.

What should your UTM naming template look like?

Copy this template, adjust the campaign names, and make it the only way links get tagged. The last column shows the Google Analytics default channel each row should land in, based on Google's published channel rules.

Channelutm_sourceutm_mediumutm_campaign patternutm_contentGoogle Analytics channel
Google Search adsgoogle (keep auto-tagging on)cpcyyyy-mm_service_searchad groupPaid Search
Microsoft Bing adsbingcpcyyyy-mm_service_searchad groupPaid Search
Facebook adsfacebookpaid_socialyyyy-mm_offer_audiencead namePaid Social
Instagram adsinstagrampaid_socialyyyy-mm_offer_audiencead namePaid Social
Organic social postsfacebook, instagram, linkedinsocialyyyy-mm_topicpost dateOrganic Social
Newsletternewsletteremailyyyy-mm_newsletterlink positionEmail
Automated email sequencecrmemailsequence-namestep numberEmail
Text messagessmssmsyyyy-mm_purposenoneSMS
Google Business Profile website linkgoogleorganicgbp_location-namewebsite-buttonOrganic Search
Partner or referral linkpartner-namereferralpartner-programpage or placementReferral
Affiliate linkaffiliate-nameaffiliateaffiliate-programplacementAffiliates
QR code on print, signs or vehiclesflyer, van, signqryyyy-mm_campaignplacementUnassigned (add a custom channel group)

Naming rules for the sheet: lowercase only; hyphens between words; an underscore between the parts of a campaign name; dates as yyyy-mm; no spaces, accents or personal data in any tag.

Google Ads works a little differently. Auto-tagging, on by default for new accounts, adds a Google Click Identifier (GCLID) to each ad click. Google says it is needed to track conversions on all browsers and to import offline conversions, and that Google Analytics gives it priority over manual tags. Keep it on, and add UTMs to Google Ads only if your CRM needs to read the source from the URL.

How do you track phone calls back to marketing?

Give each channel its own phone number and record which number each call came in on. Calls are often a business's most valuable leads and the ones analytics never sees.

For Google Ads. Call reporting assigns a Google forwarding number to your call ads and call assets, so you can see call duration, start time and whether the call connected, and count calls above a length you choose as conversions. For calls from your website, a short code snippet swaps the number on your page for a Google forwarding number for ad visitors, so calls can be tied to the keyword and campaign. Google notes forwarding numbers are only available in certain countries.

For everything else. Call tracking services offer two approaches:

  • Static numbers per channel. One number on the vehicle, one on the flyer, one in the directory listing. Simple, and ideal for offline marketing.
  • Dynamic number insertion. Your website shows a different number from a pool depending on how the visitor arrived, so calls can be matched to the campaign, much like a UTM.

Keep one main number on your Google Business Profile and directory listings so your business details stay consistent; our local SEO guide explains why. Use tracking numbers on your website, ads and offline campaigns.

Ask as well. Have whoever answers record "How did you hear about us?" in the CRM at the first conversation. Self-reported answers are imprecise, but they catch word of mouth, podcasts and conversations that no tag can see.

Many call tracking tools also record calls. Recording and consent rules vary by state and country; see our guide to AI phone calls and recording consent for the general picture.

Where should lead source live in your CRM?

On the lead record itself, in fields that are filled in automatically and never left blank. The CRM is the source of truth because it is the only system where a lead becomes a customer and revenue is recorded.

Set up these fields on every lead or contact:

FieldHow it is filledRule
Original sourceChannel of the first recorded visit, call or contactSet once, never overwritten
Original source detailCampaign, ad or referring siteSet once
Latest sourceChannel of the most recent visit or contact before convertingUpdates on each new conversion
Self-reported source"How did you hear about us?"Required at first contact
Lead typeForm, call, chat, walk-in, referralAutomatic where possible
Stage and outcomeNew, qualified, booked, won, lostUpdated by the team
RevenueValue of the first sale and later salesEntered when won

Off-the-shelf CRMs often provide some of this. HubSpot, for example, sets Original Traffic Source and Latest Traffic Source automatically, with values such as organic search, paid search, paid social, email marketing, referrals, AI referrals and offline sources, plus two drill-down fields for detail. HubSpot notes that ad blockers can block its tracking cookies and affect these values.

To fill the fields from your website, add hidden fields to every form that read the campaign tags and referring site at the moment of submission. Calls take their source from the tracking number dialed. Chats and messages take it from the channel and the page.

If your tools can't hold first and latest source, or calls, forms and revenue live in separate systems, the fix is usually a better lead management system, off the shelf or custom software built around how you sell. Our comparison of custom CRMs and HubSpot covers that choice.

Which attribution model should you use: first-touch, last-touch or multi-touch?

Store first-touch and last-touch on every lead, and report them side by side. That shows what introduces customers and what closes them, without needing large data volumes or specialist tools. Move to multi-touch only when most customers have several recorded touches and you have enough of them to see a pattern.

ModelHow it gives creditIt answersBlind spot
First-touchAll credit to the first recorded touchWhat introduces new customers?Ignores everything that persuaded them later
Last-touchAll credit to the final touch before convertingWhat gets people to act?Ignores what made them aware
LinearEqual credit to every touchWhich channels appear in journeys at all?Treats a glance and a decision the same
Position-basedMost credit to first and last touches, the rest sharedBoth introduction and closeWeights are a guess you choose
Data-drivenAn algorithm assigns credit from converting and non-converting pathsWhich touches change the odds of converting?Needs volume; hard to inspect

What Google Analytics offers. Google Analytics provides three models in its attribution reports: data-driven, paid and organic last click, and Google paid channels last click. Google removed the first click, linear, time decay and position-based models in November 2023. Its data-driven model compares the paths of people who converted and people who didn't, and Google says conversions can be reattributed for up to 7 days afterward. All its models exclude direct visits from credit unless the whole path was direct.

That is useful inside Google Analytics, but it only sees website journeys. Calls, walk-ins and referrals aren't in it, which is why your CRM needs its own first and last-touch fields.

How can you measure marketing while respecting privacy?

Collect the least data that answers your question, and lean on information people give you directly. Attribution built on your own forms, calls and CRM depends far less on tracking people across the web.

Expect gaps from browsers and blockers. HubSpot notes ad blockers can block its tracking cookies. Meta says data sent through its Conversions API, from your server or CRM, is less affected by browser loading errors, connectivity issues and ad blockers than its pixel alone. Google's enhanced conversions for leads works similarly: your site sends a hashed version of details the lead gave you, and you later upload the outcome from your CRM.

Consider cookieless analytics. Some privacy-focused tools count visits without cookies. Plausible, for example, says it uses no cookies or persistent visitor identifiers, doesn't store raw IP addresses, and counts daily unique visitors with a hash whose salt is rotated and deleted every 24 hours. Tools like this give you sources, campaigns and pages in aggregate, but they are not designed to follow one person over weeks. That job belongs to your CRM, once someone has chosen to contact you.

Know that the rules vary. In the UK, for example, the Information Commissioner's Office describes a "statistical purposes" exception for storing or accessing information on a device solely to collect statistics that improve your service, provided you give clear information and a simple, free way to object. It says that exception does not apply to online advertising purposes. Other countries and US states have their own rules.

What should a weekly marketing report include?

One page, built from the CRM, with the same numbers every week. If a number can't be traced back to individual leads, leave it off.

SectionMetricSplit byComes fromThis weekLast week4-week average
SpendSpendChannelAd platforms, invoices
LeadsNew leadsOriginal source and latest sourceCRM
EfficiencyCost per leadChannelSpend ÷ leads
PipelineQualified or booked leadsOriginal sourceCRM
ResultsCustomers wonOriginal source and latest sourceCRM
ResultsRevenue wonOriginal sourceCRM
EfficiencyCost per customerChannelSpend ÷ customers
SpeedMedian time to first responseLead typeCRM
Data qualityLeads with unknown sourceAllCRM

End the report with three questions: what changed, why, and what you will do differently next week. Add a monthly section for slower numbers: Google Analytics channels (including AI Assistant), Google Business Profile actions and Search Console impressions.

Watch the unknown-source line closely. If it rises, a form, tag or tracking number has broken, and every other number on the page becomes less reliable.

How do you make the CRM your source of truth?

Work through this checklist once, then spot-check 10 recent leads every quarter to confirm each has a correct source.

  • Every lead, from forms, calls, chats, walk-ins and referrals, lands in one CRM
  • A shared UTM naming sheet exists, in lowercase, and every link is built from it
  • Every paid ad uses UTM parameters or platform auto-tagging, consistently
  • The website link on your Google Business Profile is tagged
  • Website forms capture campaign tags and referring site in hidden fields at submission
  • Each offline channel has its own tracking number, mapped to a source in the CRM
  • "How did you hear about us?" is required at first contact
  • Original source is set once and never overwritten; latest source updates on each conversion
  • Stages, won or lost outcomes and revenue are recorded for every lead
  • Booked and won outcomes are sent back to Google Ads and Meta for optimization
  • The weekly report is built from the CRM, not from ad platform dashboards
  • The share of leads with unknown source is tracked and falling
  • Your privacy notice describes your analytics and tracking accurately

Worcia's digital marketing service sets up tagging, call tracking and CRM-based reporting as part of every campaign, and our lead source attribution use case shows how the pieces connect.

Sources

  1. URL builders: Collect campaign data with custom URLs. Google Analytics Help, October 17, 2026.
  2. Default channel group. Google Analytics Help, October 17, 2026.
  3. Get started with attribution. Google Analytics Help, October 17, 2026.
  4. About auto-tagging. Google Ads Help, October 18, 2026.
  5. About call reporting. Google Ads Help, October 17, 2026.
  6. Tracking calls to a phone number on a website. Google Ads Help, October 17, 2026.
  7. About enhanced conversions for leads. Google Ads Help, October 17, 2026.
  8. About Conversions API. Meta Business Help Center, October 17, 2026.
  9. Understand Original and Latest traffic source properties. HubSpot Knowledge Base, August 4, 2026.
  10. Plausible: GDPR, CCPA and cookie law compliant web analytics (data policy). Plausible Analytics, October 17, 2026.
  11. What are the exceptions? (Guidance on the use of storage and access technologies). Information Commissioner's Office, October 17, 2026.

Hashim, Founder & CEO

Hashim founded Worcia and leads its engineering: the architecture behind every website, app, CRM, AI agent and automation Worcia builds. How we research and write.

Questions people ask

What is the simplest way to track where customers come from?

Do I need UTM parameters if I use Google Ads?

What is the difference between first-touch and last-touch attribution?

Which attribution model does Google Analytics use?

Can I track marketing without cookies?

How often should a small business review attribution?

Let's build the system your business runs on.

A free 30-minute Growth Call. You leave knowing where your revenue leaks and what it would take to fix it.

Book a Growth Call

Free · 30 minutes · pick a time that suits you.