Skip to main content

Campaign tagging

Free UTM builder for clean campaign URLs.

A campaign URL builder that lints your naming, supports GA4 parameters and ad-platform macros, and lets you add any custom parameter.

Tag every link the same way, every time. Paste a destination, pick a channel quick start or fill in source, medium, and campaign, then add GA4 parameters or any custom key=value pair. The builder flags inconsistent casing and spacing before they fragment your analytics and previews exactly how each parameter lands in your reports.

Quick start:
Custom parameters (optional)Any key=value pair beyond utm_ — promo codes, partner IDs, experiment flags.
Common:

Your campaign URL

Enter a destination URL.

How EndFrame parses this

Fill in the fields to see how each parameter is read into your EndFrame reports. Custom parameters are kept on the visit as extra attributes.

How it works

From link to clean data in three steps.

  1. 1

    Paste your destination URL

    Drop in the page you're linking to. No https:// needed — we add it and validate the result. Paste a link that already carries UTMs and we split it back into fields.

  2. 2

    Fill in source, medium & campaign

    These three are required. Use a Quick start for Google Ads, Meta, LinkedIn, or email, open the GA4 parameters, and add custom parameters like promo codes or partner IDs.

  3. 3

    Copy or save your tagged URL

    Grab the finished link, or save it as a preset so your team reuses the exact same naming pattern next time.

Why it matters

Why marketers keep this one bookmarked.

Consistent naming, clean reports

Google and google are two different rows in every analytics tool. The linter catches casing, spacing, and stray characters before they split your data in half.

Any parameter, not just utm_

Add promo codes, affiliate IDs, experiment flags, or ad-platform macros like {keyword} and {{ad.name}} as custom key/value pairs — encoded correctly, every time.

Built for GA4 and EndFrame

Supports utm_id, utm_source_platform, utm_creative_format, and utm_marketing_tactic, and previews exactly how each parameter is read into your attribution reports.

FAQ

Questions, answered.

What are UTM parameters?

UTM parameters are tags you add to a URL (utm_source, utm_medium, utm_campaign, and optionally utm_term and utm_content) so analytics tools can attribute a visit to a specific campaign, channel, and source. GA4 also reads utm_id, utm_source_platform, utm_creative_format, and utm_marketing_tactic.

Which UTM parameters are required?

Source, medium, and campaign are the three that matter most and are required here. Term and content are optional — use them for paid search keywords and to distinguish creative or link variants. The GA4 parameters are optional too.

What is the difference between utm_source and utm_medium?

utm_source names where the click came from — a specific site, platform, or list such as google, facebook, or newsletter. utm_medium describes the channel type — cpc, email, paid-social, social, or referral. Keeping the two separate is what lets GA4 and EndFrame group traffic into channels.

Can I add custom parameters that are not UTMs?

Yes. Use the Custom parameters section to add any key=value pair — promo codes, partner or affiliate IDs, experiment flags, or internal tracking IDs. They are URL-encoded and appended alongside the UTMs, and the builder warns you if a key collides with a utm_ field or is duplicated.

Should UTM values be lowercase?

Yes. Analytics tools treat values as case-sensitive, so Summer-Sale and summer-sale become separate rows. Keep everything lowercase and hyphenated — the Clean values button does it for you without touching ad-platform macros.

Does it work with Google Ads ValueTrack and Meta dynamic parameters?

Yes. Macros such as {keyword}, {creative}, and {{ad.name}} are left unencoded in the final URL so the ad platform can fill them in at click time, and the linter ignores them. For Google Ads, remember auto-tagging adds gclid on top of any UTMs you set.

How is this different from Google's Campaign URL Builder?

Google's builder generates the same utm_ query string but does not lint your naming, support custom parameters, save presets, or split an existing link back into fields. This one does all four, and previews how the parameters map into server-side attribution.

Do these links work with EndFrame?

Yes. EndFrame reads utm_* parameters on every visit and stores any other query parameters alongside them, so the campaigns you tag here report server-side conversions per campaign, source, and custom parameter — even when iOS and ad blockers hide the original click.

Reference

Every UTM parameter, explained.

UTM parameters are query-string tags appended to a link so analytics tools can attribute the visit to a campaign. The classic five come from Urchin (the product that became Google Analytics); GA4 added four more for cost imports and creative reporting. Every one of them is a plain key=value pair, which is also why this builder lets you add any custom parameter alongside them.

ParameterRequired?What it capturesExample values
utm_sourceRequiredWhere the traffic comes from — a site, platform, or list.google, facebook, newsletter
utm_mediumRequiredThe marketing channel or how the link was delivered.cpc, email, paid-social, social
utm_campaignRequiredThe promotion, launch, or initiative the link belongs to.spring-sale, product-launch-q3
utm_termOptionalThe paid keyword or audience that triggered the click.running-shoes, {keyword}
utm_contentOptionalWhich creative, link, or button was clicked when several point to one page.hero-cta, footer-link, video-a
utm_idOptional (GA4)A campaign ID GA4 uses to join cost data imports to sessions.spring25-001
utm_source_platformOptional (GA4)The buying platform that manages the campaign.google-ads, meta-ads, dv360
utm_creative_formatOptional (GA4)The creative type shown to the user.display, video, carousel
utm_marketing_tacticOptional (GA4)The targeting approach behind the buy.prospecting, retargeting, remarketing

Naming convention

UTM naming examples for the channels you tag most.

Pick one spelling per source and medium and never improvise. These values match what GA4 uses to group traffic into default channels (paid search, paid social, email, organic social, referral), so your reports fill the right buckets automatically. The Quick start buttons above apply them in one click.

Channelutm_sourceutm_mediumutm_campaign
Google Ads searchgooglecpcbrand-search-us
Meta (Facebook & Instagram) adsfacebookpaid-socialspring-sale-prospecting
LinkedIn adslinkedinpaid-socialwebinar-june-abm
Email newsletternewsletteremail2026-09-issue-14
Organic social postinstagramsociallaunch-teaser
Partner or affiliate linkpartner-namereferralco-marketing-q4

Four rules cover almost every mistake: lowercase everything, separate words with hyphens, keep utm_source to the platform name (not the ad account or the campaign), and reserve utm_medium for the channel type. Our guide to fixing UTM parameters that break reports walks through the normalization side once traffic arrives.

Custom parameters

When to go beyond utm_ with custom parameters.

UTMs describe the campaign. Anything that describes the person, the offer, or the experiment belongs in its own parameter so it never fragments your channel reporting:

  • Promo and discount codes

    promo=spring25 keeps the offer separate from the campaign name, so one campaign can run several codes without splitting its rows.

  • Partner, affiliate, and referrer IDs

    ref=partner-42 or affiliate_id=1088 identifies who sent the click while utm_source stays a clean channel value.

  • Experiment and variant flags

    variant=b or exp=hero-test lets landing-page tests read their arm from the URL without touching utm_content.

  • Ad-platform macros

    Google Ads ValueTrack ({keyword}, {creative}) and Meta dynamic parameters ({{ad.name}}) are left unencoded so the platform can fill them at click time.

EndFrame stores custom parameters on the visit alongside the UTMs, so server-side conversions can be reported by promo code or partner as well as by campaign. Not sure which tags your site is actually collecting? Run the free tracking audit or check what pixels a page loads with the pixel inspector.

By channel

UTM builders pre-filled for each channel.

Each guide opens the builder with that platform's convention and covers its own quirks: dynamic macros, auto-appended click IDs, and which GA4 channel the values land in.

Free tools, free trial

UTMs are step one. Attribution is the payoff.

EndFrame reads these exact parameters and credits each server-side conversion to its campaign and source — so the campaigns you tag here report conversions, even when iOS and ad blockers hide the click.

No credit card required