TUTORIAL
A UTM Naming Convention a Small Business Can Actually Keep
Most messy analytics reports are not a tracking problem but a spelling problem: Facebook, facebook and fb as three separate rows. A naming convention fixes that with two short fixed lists, one pattern for campaign names and a log of every link you make.
Open the free UTM builderDownload the UTM naming convention sheet (PDF)
Why tagged links still give messy reports
A business tags its links for a few months, opens GA4 and finds facebook, Facebook, fb and facebook.com as four separate rows, a campaign called "Spring Sale" next to one called spring-sale, and a medium called "Social Media Post" that GA4 files under Unassigned. Every link was tagged. None of them can be added up without a spreadsheet.
That is not a tracking failure. It is a naming failure, and Google says so directly. Its help page on campaign URLs recommends a strict, case-sensitive naming convention for source, medium and campaign, gives Meta and meta as an example of two values GA4 counts separately, and suggests lowercase as the standard. It also asks for one source value per platform and one medium value per channel.
A naming convention is just that advice written down so that you, or whoever makes the next link, cannot drift from it.
The convention, in four parts
1. A closed list of sources
One lowercase name for each place that sends you visitors. facebook, not fb in one link and facebook in the next. instagram for the bio, stories and posts alike. newsletter for your email list. google for your Google Business Profile and Google Ads. If you sometimes send a link from your own inbox to one person, that can be email or the name of the mailbox; pick one. A new source is written onto the list before anyone uses it.
2. Mediums taken straight from GA4's rules
The medium decides which channel GA4 puts the visit in, so it is the one tag where your own preference does not matter. GA4's default channel group reads the medium (and for paid traffic, the source) and sorts visits by rules Google publishes. The values below land where you expect:
- social → Organic Social (also accepted: sm, social-media, social-network).
- paid_social → Paid Social, when the source is a social site. GA4 treats any medium starting with paid, or containing cp, as paid.
- email → Email.
- cpc → Paid Search, when the source is a search site.
- referral → Referral.
- sms → SMS.
Anything else is allowed, but GA4 will show it under Unassigned in the channel report. That is a fair trade for QR codes on printed material, where qr as a medium makes the printed codes easy to find in the source/medium report. Write the trade-off down so nobody "fixes" it later.
3. One pattern for campaign names
Campaign is the tag people improvise most. Pick one pattern and stick to it. For a small business, topic_month_year works: spring_sale_apr_2027, new_menu_jun_2027, open_day_sep_2027. It sorts sensibly, it says what the push was, and it keeps a repeat of the same offer next year on its own row. Use the same campaign name on every link that belongs to the push, whichever channel it is posted in. That is what lets you compare channels for one offer.
4. A narrow job for utm_content
Only use utm_content when two links share the same source, medium and campaign and you want to tell them apart: two buttons in one email (top_button, footer_link), two ads with different photos (photo_a, photo_b), or a QR code on the menu versus the receipt. If you never compare them, leave it empty. An empty field is better than a field filled with a different idea every time.
How to make the convention stick
A rule nobody can see does not last. Three habits keep it alive:
- Build links in one place. The free UTM builder has "Tidy values" on by default, which lowercases everything and turns spaces into underscores, and its presets use the GA4-friendly mediums above. Even when someone types "Spring Sale", the link says spring_sale.
- Copy from the last link. Every link you copy is saved in the builder's history in your browser. "Use again" brings back the values of an earlier link, so the next one is spelled exactly the same. Download the history as a CSV once a month and keep it with your marketing notes.
- Keep the list next to the person who makes links. The sheet with this post has the allowed sources, the mediums with the channel each one lands in, the campaign pattern and a log. Print it or keep the PDF open.
The convention also pays off after the click. On paid plans, Fynl saves the source, medium and campaign on every lead that comes in through its forms, website pages or chat, and its Reports page groups leads and won jobs by source and medium. Clean values there mean one row per channel instead of four.
If your existing data is already messy, you do not need to rebuild it. Start the convention today, note the date, and compare like with like from that day forward. GA4 cannot rename old values for you.
Common questions while setting it up
Hyphens or underscores? Either works, as long as you only use one. The builder's tidy option uses underscores, and paid_social is easier to read than paid-social next to the GA4 rule that looks for a medium starting with paid.
Should the source be the platform or the account? The platform. If you run two Instagram accounts, keep source=instagram for both and use the campaign or content to separate them. GA4's own advice is one source per platform.
What about links my team posts without asking? The cheapest fix is to give them the finished link. A short list of ready-made links for the bio, the newsletter footer and the email signature covers most of what people share. Our step-by-step guide to creating UTM links shows how to build and test each one, and the guide to tagging your Google Business Profile covers the link most local businesses forget.
The UTM builder sits with the QR code generator, the calculators and the other no-cost tools on our free tools page.
Questions people also ask
What is a UTM naming convention?
A written set of allowed values for utm_source and utm_medium, one pattern for utm_campaign, and rules such as lowercase only, so every tagged link is spelled the same way and adds up in your reports.
Are UTM parameters case-sensitive?
Yes. Google's help says values are case-sensitive, so utm_source=Google and utm_source=google show as two different sources. Use lowercase.
What utm_medium values does GA4 recognise?
For the main channels: social for organic social, a medium starting with paid such as paid_social for paid social, email, cpc for paid search, referral and sms. Other values still appear in reports but fall under Unassigned in the channel report.
How should I name UTM campaigns?
Use one short pattern every time, such as topic_month_year (spring_sale_apr_2027), and the same campaign name on every link that belongs to the same push.
Sources
More on free business tools guides
How to Create UTM Links for Google Analytics 4, Step by Step
A UTM link is your normal web address with a few tags on the end that tell Google Analytics where the visit ca
FREE BUSINESS TOOLS GUIDESHow to Make a Wi-Fi QR Code Guests Can Scan to Join
A Wi-Fi QR code holds your network name, password and security type, and a phone joins the network when it sca
FREE BUSINESS TOOLS GUIDESWhat Is a Good NPS Score? How to Judge Yours Without Industry Tables
A Net Promoter Score above zero means you have more promoters than detractors. Past that, published "good scor
Make the first link that follows the rules
Tidy values turns every tag into lowercase with underscores, and your history keeps the spellings you used last time.
Open the free UTM builderMore free tool guides