Tutorial

How to Set Up UTM Tracking for Webflow Campaigns

Written by
Pravin Kumar
Published on
Sep 9, 2026

How do you find out which campaign actually sent that visitor?

You tell your analytics tool yourself, by adding campaign parameters to the links you publish. Analytics can see that someone arrived from a referring site, but it cannot know that the link came from your September newsletter rather than your pricing page unless you label it.

This is one of the few marketing setups where the work is genuinely small and the payoff is genuinely large. An afternoon of naming discipline turns a traffic report that says direct and referral into a report that says which specific thing you did brought which specific people.

Here is how to set it up for a Webflow site, in order, including the two mistakes that quietly corrupt the data afterwards.

What are UTM parameters, and which ones do you actually need?

They are name-value pairs added to the end of a URL. Google's Analytics documentation lists nine of them: utm_id for a campaign ID, utm_source for the referrer, utm_medium for the marketing medium, utm_campaign for the product, slogan or promo code, utm_source_platform for the platform directing the traffic, utm_term for a paid keyword, utm_content to differentiate creatives, utm_creative_format for the type of creative, and utm_marketing_tactic for the targeting criteria.

You do not need all nine. Google's own guidance is explicit: when you add parameters to a URL, you should always use utm_source, utm_medium and utm_campaign. Those three answer where from, what kind, and which effort, which is the whole question most businesses are actually asking.

Add utm_content when one campaign has more than one link and you want to know which one people clicked, which Google describes as differentiating creatives, for example two calls to action inside the same email. Add utm_term only if you are running paid keywords. Everything else is for larger setups than most of the sites I work on.

How do you build the URL correctly?

Start with the destination page on your own site, add a question mark, then the parameter pairs joined by ampersands. So your pricing page followed by utm_source equals newsletter, utm_medium equals email, utm_campaign equals september-update.

Use the Campaign URL Builder rather than typing them by hand. Google names it directly, along with the Play Campaign URL Builder for Android app ads, and using the tool eliminates the two errors people make constantly: a missing ampersand and a stray space.

One rule matters more than any other here, and it is a rule Google states plainly: parameter values are case sensitive, so utm_source equals google is a different value from utm_source equals Google. If half your team capitalizes and half does not, your reports will split one campaign into two and neither number will be right.

What naming convention should you agree before you tag anything?

Lowercase everything, hyphens instead of spaces, and a fixed vocabulary for source and medium that lives in a shared document. Not a convention you intend to remember. A written list, in one place, that anyone tagging a link can copy from.

For medium in particular, pick a small closed set and never extend it casually: email, social, cpc, referral, affiliate, qr. Medium is the dimension your reports group by, so a new value invented in a hurry creates a new row in every report from then on and quietly fragments a year of data.

Source should be the specific place, not the type. Not social, but the actual platform. Not email, but the actual list or tool. The distinction between source and medium is the thing people get wrong most often, and Google's examples are a useful anchor: source is a referrer like google or newsletter4, medium is a marketing medium like cpc, banner or email.

Write the convention down before you tag the first link. Retrofitting a convention onto three months of inconsistent tags is not possible, because the historical data has already been recorded under the names you used.

What happens if you manually tag your Google Ads links?

Your manual tags get overridden, and this catches people out constantly. Google's documentation states that if you use manual tagging and auto tagging together, then the source, medium, and other traffic-classification dimensions use the auto-tagged values.

So the careful utm_campaign name you set on an ad may simply not be what your reports show. That is not a bug and it is usually the better outcome, because Google also states that auto-tagging provides platform-specific dimensions and more dimensions than you get with manual tagging.

The practical rule: use auto-tagging for platforms you have integrated, and manual tagging for everything else. Manual tagging is described in the same documentation as the approach for when you are not creating integrations between Analytics and ad platforms, and that describes most newsletters, partner links, QR codes, social posts and community mentions.

If you do tag both, know which one wins before you build a report on it, rather than after somebody asks why the numbers disagree.

Where should campaign parameters never go?

On links between your own pages. This is the second data-corrupting mistake and it is usually well intentioned, someone wanting to know which homepage button people click.

The reason is definitional. Google describes these parameters as the way you identify the campaign that referred traffic, with utm_source meaning the referrer. Putting them on a link from your homepage to your pricing page therefore tells your analytics that this visit was referred by a campaign, when in fact the person was already on your site and reading it.

If you want to know which internal button people click, that is a click event, not a campaign. Different question, different mechanism, and mixing them costs you the ability to answer either one reliably.

How do you connect a tagged visit to an actual lead?

By capturing the parameters into hidden fields on your Webflow form and passing them into your CRM with the submission. Analytics tells you a campaign sent traffic. Only your CRM can tell you that campaign sent revenue, and the link between them has to be carried on the record.

Add hidden fields for source, medium and campaign to your forms, populate them from the URL when the page loads, and map them to properties on the contact record. Then a closed deal six weeks later still knows which September email started it, which is the entire point of doing any of this.

Once those fields exist on the record, they become available for routing and reporting as well. That is the same plumbing I described in routing inbound leads to the right owner in HubSpot, and the same fields serve both jobs.

How do you keep this from decaying?

Put the convention document somewhere people will actually find it, and make one person responsible for approving new medium values. Decay in UTM data is never dramatic. It is one person typing Email instead of email, once, and then a report that is slightly wrong forever.

Audit quarterly by listing every distinct source and medium value recorded in the period. If you see near-duplicates, you have found your drift, and you can fix the convention before the next quarter rather than reconciling after it.

Across 70 plus projects for 25 plus clients over 6 plus years, tagging discipline has been one of the strongest predictors of whether a team could answer basic questions about their own marketing. It is not sophisticated work. It is just work that has to be done the same way every time. The same principle applies to attribution from AI-driven referrals, which I looked at in attributing AI search referral traffic.

What should you do next?

Write your convention document today: lowercase, hyphens, a closed list of allowed medium values, and one example URL. Then tag the next three links you publish using the Campaign URL Builder, and check in your reports tomorrow that they arrived under the names you expected.

After that, add hidden source, medium and campaign fields to your main Webflow form and map them into your CRM. That single change is what turns campaign tracking from a traffic curiosity into something you can make budget decisions with. A related pattern for tracking partner links is in my walkthrough of affiliate tracking with UTMs on the Webflow CMS.

I set up tracking and attribution plumbing for founders and marketing teams on fixed fees, with most projects landing between 1,000 and 10,000 dollars. If your analytics says most of your traffic is direct and you suspect that is not true, reach out and let's chat.

Get found, cited and the back office automated

Let's make your site the source AI engines quote and wire up the systems behind it.

Contact

Let's get your website found and cited by AI

Tell me what you're working on, whether AI search is skipping your product, your back office is buried in manual work, or you need a build that does both.

Got it, thanks. I read every message personally and reply within 1-2 business days.
Oops! Something went wrong while submitting the form.