Free download
Create and enforce a UTM campaign tagging convention
Agree a consistent set of UTM values, keep them in a shared campaign log, and tag every marketing link so GA4 reports traffic in the right channel.
We reply within one working day. No pitch, no pressure.
- Time
- 60 minutes to set up, 2 minutes per link
- Difficulty
- Beginner
- Audience
- Anyone who creates links for emails, social posts, adverts, QR codes or partner campaigns
Tools: Google Analytics 4 · Campaign URL Builder · A shared spreadsheet
Free download. No account needed. Resources licence. Branded PDF in the Wright Websites design system. Covered by the resources licence.
01 / Procedure
How to follow it
Purpose
Google Analytics 4 (GA4) can only credit a campaign if the link that brought the visitor says where it came from. UTM parameters carry that information, but inconsistent values ("Facebook", "facebook", "fb") split one source into several rows and push traffic into the wrong channel. This procedure sets one naming convention, one campaign log and one way of building links. It is finished when every live campaign link follows the convention and appears in GA4 under the expected channel.
Scope
In scope
- Defining allowed values for source, medium and campaign
- Building, logging and testing tagged links
- Checking that GA4 groups the traffic into the right channel
Out of scope
- Google Ads links (Google Ads uses auto-tagging; see the Prerequisites)
- Custom channel groups and attribution model changes
- Link shorteners and QR code design
Roles and responsibilities
| Role | Responsibility |
|---|---|
| Analytics owner | Owns the convention and the campaign log, and approves new values. |
| Campaign creator | Builds and logs every tagged link before it is published. |
| Reviewer | Checks GA4 each month for values that break the convention. |
Prerequisites
- GA4 collecting data on the website (WW-002).
- Edit access to a shared spreadsheet for the campaign log.
- Confirmation that auto-tagging is switched on in any linked Google Ads account, so Google Ads links do not need manual UTMs.
Procedure
Agree the convention
Write the rules once, then never improvise.
-
Create a spreadsheet with two tabs:
ConventionandCampaign log. -
On
Convention, list the allowed values forutm_medium. Use values GA4 recognises in its default channel group:emailfor email newsletters and automated emails.socialfor unpaid social posts.paid_socialfor paid social adverts.cpcfor paid search outside Google Ads, such as Microsoft Advertising.displayfor banner adverts.referralfor partner and directory links, and for printed QR codes.
-
List the allowed values for
utm_source, such asfacebook,instagram,linkedin,newsletter,bing, named partner sites and printed items such asflyerorvan-livery. -
Set the campaign naming pattern, for example
yyyy-mm_offer-or-theme, such as2026-10_winter-boiler-service. -
Add the formatting rules: lowercase only, words separated by hyphens, no spaces, no personal data.
[!IMPORTANT] UTM values are case-sensitive in GA4.
Facebookandfacebookare reported as two different sources.
Build a tagged link
Use a builder rather than typing parameters by hand.
-
Open the Campaign URL Builder and paste the landing page URL.
-
Enter
utm_source,utm_mediumandutm_campaignfrom the convention. Useutm_contentto tell apart two links in the same campaign, such asheader-buttonandfooter-link. -
Copy the generated URL.
-
Add a row to the
Campaign logwith the date, owner, channel, landing page, each UTM value and the full tagged URL.[!WARNING] Never add UTM parameters to links between pages on your own website. They overwrite the visitor's original source and start a new session in GA4.
Test the link
Check the link before it goes out.
- Open the tagged URL in a private window and confirm the landing page loads without redirecting away from the parameters.
- In GA4, open Reports, then Realtime, and confirm your visit appears with the expected source and medium.
Review monthly
Catch mistakes before they spread.
- In GA4, open Reports, then Acquisition, then Traffic acquisition, and set the dimension to Session source / medium.
- Look for values not in the convention, such as capital letters, typos or
(not set)campaigns. - Fix the source of each bad value (the email template, scheduler or advert) and note it in the campaign log.
- Switch the dimension to Session default channel group and confirm tagged traffic is not landing in Unassigned.
Quality checks
- The convention lists allowed values for source and medium and the campaign naming pattern.
- Every live campaign link appears in the campaign log.
- All values are lowercase with hyphens and contain no personal data.
- No internal links carry UTM parameters.
- Tagged traffic appears under the expected channel, not Unassigned.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| Campaign traffic in Unassigned | Medium value GA4 does not recognise | Use a medium from the convention, such as email or paid_social. |
| Same source appears twice | Mixed capitals or spellings | Correct the links and add the value to the convention. |
| Parameters missing on arrival | A redirect drops the query string | Link to the final URL, or fix the redirect to keep parameters. |
Google Ads traffic shows as google / organic | Auto-tagging off or GA4 not linked | Switch on auto-tagging and link Google Ads to GA4. |
Records
- Keep the campaign log for the life of the client relationship. It is the only record of what each campaign value meant.
- Record any change to the convention, with the date, on the
Conventiontab.
References
Related procedures
- Set up Google Analytics 4 and deploy it through Google Tag ManagerWW-002
Create a correctly configured GA4 property and web data stream, deploy the Google tag through Google Tag Manager, and confirm real visits are recorded.
- Track lead form submissions as GA4 key eventsWW-003
Choose a reliable signal for successful enquiries, send it to GA4 as a generate_lead event through Google Tag Manager, and mark it as a key event.