Skip to content
SEO

Campaign URL Builder

Build tagged campaign URLs with custom parameters and presets.

campaignurlutmtrackingmarketing
Loading tool…

Recommended tools

Affiliate links — we may earn a commission if you sign up.

About the Campaign URL Builder

The Campaign URL Builder appends UTM tracking parameters and arbitrary custom key-value pairs to a base URL so marketers can attribute visits, conversions, and revenue to a specific source. You enter the base address plus the three required parameters — utm_source, utm_medium, and utm_campaign — and optionally utm_term and utm_content. An Add parameter button creates extra key-value rows for things like affiliate_id, while four quick presets (Email newsletter, Google Ads, Facebook Ads, and Affiliate link) prefill realistic values with one click. The tool validates the base URL, requiring an http or https protocol, and the stat cards report the parameter count, the validity of the base URL, whether the required trio is complete, and the total URL length. Banners switch from a warning about an invalid base URL to a warning about missing required parameters to a green "Campaign URL is ready" confirmation. The result box holds the final tagged URL, which you can copy, open in a new tab, or download as campaign-url.txt. A shortened display, a raw query-string readout, and a parameter breakdown table complete the picture. Parameters already present in the base URL are never overwritten, so existing legacy query values survive the build.

Hand-written guide

Examples

Input
Base URL "https://example.com/landing" · click the Email newsletter preset · Source "newsletter" · Medium "email" · Campaign "weekly_digest" · Content "header_cta"
Output
https://example.com/landing?utm_source=newsletter&utm_medium=email&utm_campaign=weekly_digest&utm_content=header_cta
Note: The preset fills utm_source, utm_medium, utm_campaign, and utm_content exactly as modeled. utm_term stays empty and is skipped. The URL length stat shows 119 chars, so the Shortened display truncates it to 50 chars plus an ellipsis plus the last 25 since it exceeds the 80-char limit.
Input
Base URL "https://example.com/landing?utm_source=legacy" · click the Google Ads preset (utm_term "running shoes")
Output
https://example.com/landing?utm_source=legacy&utm_medium=cpc&utm_campaign=search_brand&utm_term=running+shoes&utm_content=ad_variant_a
Note: Because the base URL already contains utm_source=legacy, the builder does not overwrite it, and only the missing parameters are appended afterward. The space in "running shoes" is encoded as a plus sign by the URL serializer, matching how the parser will decode it.
Input
Base URL "example.com/landing" (no protocol) · Source "newsletter" · Medium "email" · Campaign "launch"
Output
Empty result; amber banner reads "Enter a valid base URL (must start with http:// or https://)."
Note: Any base URL without an explicit http or https scheme fails validation, the ResultBox stays empty, and the Base URL stat switches to "invalid". Entering a valid URL while other required fields are still blank triggers the "utm_source, utm_medium, and utm_campaign are required" warning instead.

How to use

  1. 1

    Type or paste the landing page into the Base URL field; the hint under the label confirms it is valid once the protocol check passes.

  2. 2

    Fill the required utm_source, utm_medium, and utm_campaign fields; the asterisks on the labels mark them as mandatory for a ready URL.

  3. 3

    Add optional utm_term for paid keywords and utm_content for ad variants, or click Add parameter to create custom key-value rows like affiliate_id.

  4. 4

    Click a Quick preset such as Email newsletter or Google Ads to fill all fields at once, or Reset to clear everything back to the defaults.

  5. 5

    Read the status banner, then copy the tagged URL, open it in a new tab for a spot check, or download it as campaign-url.txt for the campaign log.

Common use cases

  • Email newsletters — tag the header call-to-action with source news-letter-style values so each issue is tracked separately in the analytics dashboards.
  • Paid search campaigns — carry the keyword into utm_term so a single campaign groups every paid click by the query that produced it.
  • Social advertising — distinguish Facebook from Instagram and Twitter posts with distinct sources inside the same broad campaign name.
  • Affiliate partnerships — a custom affiliate_id parameter gives each partner a unique link without polluting the standard UTM set.
  • A/B content tests — vary utm_content across variants of the same landing page to compare which creative converts better.
  • Campaign logs and exports — download the finished links as a text file so the whole ad team pastes identical URLs into their platforms.

Technical SEO best practices

  • Populate the source, medium, and campaign trio on every link; analytics platforms quietly drop untagged traffic into a dreaded "direct" bucket.
  • Use lowercase values with underscores instead of spaces so reporting exports stay tidy and filters match exactly across sessions.
  • Rename campaigns per quarter instead of reusing names; repeated labels merge distinct efforts into one blob in the analytics interface.
  • Keep the base URL free of tracking before you start so the builder does not have to decide which utm_source to keep as the original.
  • Add utm_term only for paid traffic; organic posts that carry keyword tags inflate the paid report with untracked impressions.
  • Store the final URL in the parameter breakdown as a checklist before launch so the campaign log can be audited by whoever follows up.

Tips

  • Save a preset value sheet for your team so every newsletter, ad, and post uses the same source naming and reports fold together cleanly.
  • Click Open in new tab before sharing a link to confirm the page accepts query strings and your redirect chain does not strip them.
  • Use content values to tag every placement of the same link so the analytics interface shows which variant of an email or ad performed.
  • Recreate a link after reset rather than editing old URLs in place; stale copies with outdated campaign names keep showing up in reports.

Frequently asked questions

The builder flags utm_source, utm_medium, and utm_campaign as required, matching the canonical Google Campaign URL convention. If any of the three is missing, the banner warns you and the result box stays empty until you supply them. utm_term and utm_content are entirely optional and are omitted from the output when blank.

Explore more seo tools

Browse the full collection of seo tools on the hub, or jump back to all categories.

Related tools