utm_campaign is the tag added to a link to name the specific promotion, launch or campaign that sent a visitor to your site. It is one of the UTM parameters, and in Google Analytics 4 it appears as the session campaign, so you can see how your autumn sale email or January leaflet drop performed compared with everything else.
How utm_campaign works
You add it to the end of a link along with the other UTM tags, for example: ?utm_source=newsletter&utm_medium=email&utm_campaign=autumn-sale-2026. When someone clicks, GA4 reads the tags and files the visit, and anything the visitor does afterwards, under that campaign name.
The three tags answer different questions. utm_source says where the click came from, such as a newsletter or Facebook. utm_medium says what kind of channel it was, such as email or paid social. utm_campaign says why the link existed: which offer, launch or piece of content.
Google Ads normally fills in campaign names automatically through auto-tagging, so manual UTM tags matter most for everything else: email, paid social, partner links, QR codes on print and links in PDFs. Meta Ads can fill campaign names in for you with dynamic parameters, such as {{campaign.name}}, added in the ad’s URL parameters field.
Why it matters
Without campaign tags, a month of activity collapses into broad channel totals. You can see that email brought in sales, but not whether it was the new-customer welcome series or the clearance email. Campaign-level data is what lets you decide which offer to repeat, which to drop and which audience responded.
Using the same campaign name across channels adds a second view. If the autumn sale goes out by email, on Instagram and on a printed flyer, each with its own source and medium but the same utm_campaign, you can see the promotion’s total result in one row and then break it down by channel. In GA4’s traffic acquisition report, switch the main dimension to session campaign to see this.
It also helps judge offline work. A London restaurant handing out leaflets with a QR code can tag it with a campaign such as spring-menu-leaflet and see bookings from it in GA4, which is otherwise almost impossible to measure.
Common mistakes
- Inconsistent naming. GA4 treats Autumn-Sale, autumn_sale and autumn sale as three different campaigns. Pick a format and keep to it.
- Vague names such as “promo” or “test” that mean nothing in six months.
- Spaces and special characters Which turn into %20 or plus signs and make reports harder to read.
- Tagging internal links Such as homepage banners, with UTMs. The visitor already arrived from somewhere; overwriting that source hands the credit for later sales to your own banner.
- Adding manual tags on top of Google Ads auto-tagging without understanding which one GA4 will use.
How to act on it
Write a short naming convention and share it with everyone who creates links. A format I find works for most small businesses is lower case, hyphens between words, and the offer plus a date or season, such as black-friday-2026 or boiler-service-spring. Keep a simple spreadsheet log of every campaign name in use.
Build links with a UTM link builder rather than typing them by hand, then click each one and confirm the campaign appears correctly in GA4’s real-time report.
For Facebook and Instagram, setting dynamic URL parameters once at account level means every ad is tagged consistently. It is one of the first things I set up in Facebook and Instagram ads management.
