Why campaign links need consistent UTM tags
UTM tags are the part of a link after the question mark that names where a visit came from. A link to your webinar page might end in ?utm_source=linkedin&utm_medium=paid_social&utm_campaign=forecasting_webinar&utm_content=video_a. When someone clicks it, your analytics records that the visit came from LinkedIn, through a paid social ad, as part of the forecasting webinar campaign, from the video version of the ad. There are five standard tags:
utm_sourcenames the site or sender, such as google, linkedin, or your newsletter.utm_mediumnames the kind of traffic, such as paid search, paid social, or email.utm_campaignnames the campaign, such as a launch or a webinar.utm_contenttells apart the ads, emails, or links within one campaign.utm_termrecords the keyword in a paid search ad.
The tags only work if everyone writes them the same way. In practice, one person tags a LinkedIn ad with "LinkedIn", another uses "linkedin", and a third uses "li". Google Analytics treats those as three different sources, so one channel's results get split three ways. The bigger problem is the medium tag. Analytics tools read it to sort visits into channels like paid search, paid social, and email, so a medium value they don't recognize can move a whole campaign into the wrong channel or into a catch-all bucket. When that happens, the analytics stop adding up, and nobody can say with confidence which campaign worked.
The usual fix is a spreadsheet of rules that people forget to open. A better fix is to have tagging happen at the moment a link is made, by whoever is building the campaign. That's why this job suits an AI agent that also builds the campaign. It writes the ad, the email, and the landing page, so it can tag every link as it goes, apply the same rules every time, and keep the record up to date.
Kite is an AI marketer. It researches your business, builds a growth strategy, and ships the work that brings you new customers. Here's how it handles campaign tracking.
How Kite keeps your campaign tracking consistent
Kite starts by settling the naming scheme. If your team already has one, Kite uses it. If you don't, Kite proposes one, you agree on it, and Kite saves it in your team's knowledge base.
From then on, tagging is part of building a campaign. When Kite prepares a campaign, it builds the landing page, decides which channels will send people there, and writes a tagged link for each ad, email, social post, and partner placement. It also confirms how the page's conversion will be measured before the campaign launches, so the tags have something to be measured against.
After the campaign goes live, Kite reads the results by campaign and channel. It reports which links brought visitors, which of those visitors converted, and what to change in the next campaign.
- What is a good UTM naming convention?
- Tag every link when the campaign is built
- Keep a record of the scheme and the links in use
- See which campaign links bring visitors who convert
What is a good UTM naming convention?
A good UTM naming convention is a short set of rules that makes every tag predictable: lowercase letters only, one fixed list of source and medium values, and one pattern for campaign names. Kite writes those rules for your team, and a typical set looks like this:
- Source is the site or sender, written the same way every time: google, linkedin, meta, or the name of your newsletter.
- Medium comes from a short fixed list: cpc for paid search ads, paid_social for paid social ads, email for email, social for unpaid social posts, and referral for links on partner sites.
- Campaign names the campaign in lowercase words joined by underscores, such as forecasting_webinar or spring_launch.
- Content names the ad or email version, such as video_a or headline_b, so you can compare versions within one campaign.
- Term holds the keyword for paid search ads and is left off everywhere else.
The medium values are chosen for a reason. Google Analytics and Kite's built-in analytics both recognize cpc as paid search, paid_social as paid social, and email as email, so visits tagged with those values land in the right channel without any extra setup. If your Google Analytics property uses custom channel groups, Kite reads how they're defined and picks medium values that land where you expect.
When your team already tags links, Kite starts from what you have. With Google Analytics connected, it reads the source, medium, and campaign values that already appear in your reports. If "LinkedIn", "linkedin", and "li" all show up, Kite picks one and writes it into the scheme, so future links stop splitting your results.
Tag every link when the campaign is built
Kite tags links while it builds the campaign, because that's the moment each link is created. When it builds a landing page for a LinkedIn ad, a partner promotion, or an email campaign, it writes the tagged link for every channel that will point to the page and lists them in the campaign's results.
Say you're running a webinar and promoting it three ways. Kite gives each channel its own link, all sharing the campaign name forecasting_webinar:
- The LinkedIn ads use linkedin as the source and paid_social as the medium, with video_a and image_b as the content values for the two ad versions.
- The invitation email uses your newsletter's name as the source and email as the medium.
- A partner's announcement uses the partner's name as the source and referral as the medium.
The ad copy, emails, and posts Kite writes for the campaign carry those links. When Kite sends the email or publishes a post through a connected account, the tagged link goes out with it. For ad platforms where you launch the ads yourself, Kite hands you the finished link for each ad so you can paste it in.
Kite keeps names, email addresses, and other personal details out of the tags. A link can end up in browser histories, shared screenshots, and analytics reports, so the tags describe the campaign and never the person who clicked.
Keep a record of the scheme and the links in use
Kite records your naming scheme and each campaign's tag values in the campaigns section of your team's knowledge base. That record is what keeps the next campaign consistent. When someone asks Kite for a new campaign three months later, Kite reads the same scheme and follows it, so the new links match the old ones.
The record also answers the questions that come up mid-campaign, such as which link the partner should use or what the content value was for the second ad. You can ask Kite and it looks it up. If your team keeps campaign links in a shared spreadsheet, Kite can add the new links there too through a connected spreadsheet account.
See which campaign links bring visitors who convert
Consistent tags pay off when Kite reads the results, because every visit from a campaign lands under one name in the right channel. Kite measures results in one of two ways, depending on where your website runs.
On a website Kite builds and hosts, its built-in analytics sorts every visit into a traffic source using the medium tag and the page the visitor came from. The sources are paid search, paid social, email, AI assistants, organic search, organic social, referral, and direct. Kite can break your conversion funnel down by those sources to show, for example, that paid social brought half the visitors but email brought most of the signups.
For campaign-by-campaign numbers, or for a website that runs somewhere else, Kite reads them from your connected Google Analytics account. It reads conversions grouped by source and medium, campaign, and landing page, using the attribution settings your property already has, so its numbers match what you see in Google Analytics. A campaign that sent 2,000 visitors and 12 signups reads very differently from one that sent 300 visitors and 30 signups, and Kite puts them side by side.
Kite then uses the comparison to plan the next round. It tells you which campaign, channel, and ad version earned the most conversions, and it proposes where the next campaign's time and budget should go.
What you get
A written UTM naming scheme
The rules for source, medium, campaign, content, and term values, saved in your team's knowledge base where every later campaign reuses them.
Tagged links for every channel
The exact link for each ad, email, post, and partner placement in a campaign, with a separate content value for each version you want to compare.
Campaign work that carries the links
The landing page, ad copy, emails, and posts Kite prepares, with the tagged links already in place.
A record of the links in use
Each campaign's tag values, kept alongside the scheme so anyone on your team can look them up.
Results by campaign and channel
Which links brought visitors, which of those visitors converted, and what Kite recommends for the next campaign.
How to get started
Get started for free and tell Kite what you're promoting. You might say, "Set up tracking links for our webinar across LinkedIn ads, our newsletter, and our partner's announcement," or "Write a UTM naming convention for our team and use it on every campaign from now on." You can work with Kite in your browser or in Slack.
Kite proposes the naming scheme first, or confirms the one your team already uses, and sends it to you for approval. Once you agree, it saves the scheme and builds the campaign's tagged links. Kite asks before it publishes a landing page, sends an email, or posts on social media, so you see the links in place before anything goes out.
On a website Kite hosts, you don't need to connect anything to see results by traffic source. If your website runs somewhere else, or you want campaign-by-campaign results, connect your Google Analytics account.
Integrations used for UTM tracking
Kite tags the links itself, so the integrations in this use case are about reading the results. On a website Kite hosts, its built-in analytics sorts visits into traffic sources without a separate account. Google Analytics adds campaign-level results and covers websites Kite doesn't host.
Common questions
How do I set up UTM tracking in Google Analytics?
Google Analytics 4 reads UTM tags automatically, so there's nothing to turn on. Any visit from a tagged link shows up in the Traffic acquisition report, where you can change the main dimension to Session campaign or Session source / medium to see results for each campaign. The setup that matters is on the link side: consistent tags, and a conversion event in Google Analytics so you can see which campaigns lead to signups or purchases.
Where do UTM tags go in Meta ads?
In Meta Ads Manager, you can add UTM tags in the URL parameters field in each ad's tracking settings, separate from the website URL. That keeps the destination URL clean and makes the tags easier to change. Kite gives you the tag string for each ad in the campaign, with the same source and medium values every time, so you can paste it in.
Should I put UTM tags on links between pages of my own website?
No. UTM tags belong on links that bring people to your website from somewhere else. If a visitor arrives from a Google ad and then clicks a tagged link on your homepage, the internal tag overwrites the ad as the source of the visit, and the campaign that brought them loses the credit. Kite uses tags only on links that point to your site from ads, emails, posts, and partner pages.
Are UTM tags case-sensitive?
Yes. Google Analytics treats "LinkedIn" and "linkedin" as two different sources, so the same channel's visits get split across two rows. That's the main reason a naming scheme starts with lowercase letters only. Kite writes every tag in lowercase and uses the same spelling for each source every time.
Our existing campaign links are already a mess. Can Kite clean them up?
Yes. Kite sets the scheme for new campaigns, and it can also review the tracking you already have, find tags that are inconsistent or broken, and recommend what to fix. That review is covered in Audit your UTM tags and tracking setup Coming soon .