UTM Campaign URL Builder

Build a UTM-tagged campaign URL with validated parameters.

  • Runs locally in your browser
  • No upload required

Try it

Campaign URL
https://gampangin.example/page/?utm_source=newsletter&utm_medium=email&utm_campaign=spring-launch
Parameters
utm_source=newsletter utm_medium=email utm_campaign=spring-launch
Findings
none

Supported formats

Input
url, text
Output
url, text

Privacy

Runs entirely in your browser. Your input is never uploaded, stored, or sent to a third party.

Processing
In your browser
Privacy level
Browser only

Built a campaign URL with 3 parameter(s) and 0 finding(s).

How it works

  • Read the landing page and the UTM parameter values.
  • Validated the base URL and the required source, medium and campaign values.
  • Percent-encoded every value and merged the parameters into the existing query.
  • utm_source, utm_medium and utm_campaign are required by common analytics tools.
  • Existing query parameters and the fragment are preserved.

Methodology

  1. Parse the landing page with the URL API so the path, query and fragment are handled correctly.
  2. Set each UTM parameter with URLSearchParams, which percent-encodes the value.
  3. Audit the required fields, case, spacing and any pre-existing tracking parameter.

Usage

  1. Enter the landing page URL, including https://.
  2. Enter the campaign source, medium and name (the required UTM parameters).
  3. Add an optional term, content or custom key=value parameters.
  4. Build the URL and copy it.

Examples

These are examples, not current values: they use fixed inputs, while the interactive tool computes live results in your browser.

Newsletter launch

jsonSelect to copy
{
  "baseUrl": "https://gampangin.example/page/",
  "source": "newsletter",
  "medium": "email",
  "campaign": "spring-launch",
  "term": "",
  "content": "",
  "extra": ""
}

Paid social with an ad variant

jsonSelect to copy
{
  "baseUrl": "https://gampangin.example/tools/json-formatter/?ref=nav",
  "source": "linkedin",
  "medium": "social",
  "campaign": "tool-launch",
  "term": "json formatter",
  "content": "carousel-a",
  "extra": "audience=developers"
}

Limitations

UTM parameters and privacy

UTM parameters describe where a visit came from. They are added to the URL and are visible to the destination site; the builder runs entirely in your browser and sends nothing.

Keep campaign values lower-case and stable so reports group correctly.

Frequently asked questions

Which UTM parameters are required?
The common analytics convention requires utm_source, utm_medium and utm_campaign. utm_term and utm_content are optional and identify paid keywords or an ad variant.
Will the builder change my existing query string?
No. Existing parameters and the fragment are preserved; a supplied UTM value replaces an existing one with the same key rather than duplicating it.

Sources

  1. RFC 3986 — Uniform Resource Identifier (URI): Generic Syntax — IETF
  2. Google Analytics — Campaign URL parameters — Google