Torna agli strumenti gratuiti
Strumento gratuito

Bulk UTM builder

Tag dozens or hundreds of URLs with the same utm_source, utm_medium and utm_campaign in one go. Paste a list or upload a CSV, optionally clean up the naming, and copy or download the tagged links as CSV. Nothing leaves your browser.

One URL per line, or a CSV. With a header row, a url column is used and any utm_* columns override the shared values for that row.

Shared UTM values

Tagged links

Paste URLs to see the tagged links here.

Runs entirely in your browser. Your URLs and files are never uploaded.

What this tool does (and doesn't)

  • Does: add or overwrite the five UTM parameters on every URL, keep existing query strings, take per-row overrides from utm_* CSV columns, and normalise naming on request.
  • Doesn't: shorten the links, store them, or check that the pages exist. For that, import the CSV into Elido or run the URLs through the link checker.

Turn the CSV into tracked short links

Import the file into Elido to get a branded short link per row, click analytics per campaign, and UTM templates your whole team reuses. Free up to 50 active links.

Import it free in Elido

How to add UTM parameters to many URLs at once

  1. 01

    Paste the URLs or upload a CSV

    One URL per line is enough. If you export from a spreadsheet, keep a header row with a url column; extra columns are ignored unless they are named after a UTM parameter.

  2. 02

    Fill in the shared UTM values

    Set utm_source, utm_medium and utm_campaign once for the whole batch. Use utm_content or a per-row utm_content column to tell placements apart.

  3. 03

    Keep naming normalisation on

    GA4 treats "Newsletter" and "newsletter" as two sources. Lowercasing and hyphenating every value is the cheapest way to keep reports from fragmenting.

  4. 04

    Copy or download the result

    The output CSV has the original URL next to the tagged one, so you can paste it back into the sheet you started from or import it into your link manager.

Common bulk-tagging mistakes

Mixed case across a team

Two people tagging the same campaign with different capitalisation produce two rows in analytics. Agree on lowercase and let the normaliser enforce it.

Tagging internal links

UTMs on links between pages of your own site start a new session in GA4 and overwrite the original source. Only tag links that bring people in from elsewhere.

Overwriting existing UTMs by accident

If a URL already carries utm_campaign, a shared value replaces it. Leave a field empty to keep what is already there.

Long tagged URLs in print and SMS

Five UTM parameters can double a URL's length. Where space matters, shorten the tagged link so the parameters survive without the clutter.

Questions about bulk UTM tagging

How do I add UTM parameters to a list of URLs?

Paste the list into the bulk UTM builder, fill in the shared source, medium and campaign, and download the CSV. Each line gets the same parameters appended, merged with any query string already on the URL.

Can different rows have different utm_content values?

Yes. Add a header row with url and utm_content columns (or any other utm_* column); per-row values override the shared ones for that row only.

Is my CSV uploaded anywhere?

No. The file is read by your browser and processed in JavaScript on the page. Nothing is sent to Elido or anyone else.

What does the normalisation toggle change?

It trims spaces, lowercases the value, and turns spaces and underscores into single hyphens, so "Spring Sale_2026" becomes "spring-sale-2026". The URL itself is not changed.

How many URLs can I tag at once?

There is no fixed limit; a few thousand rows process instantly in a modern browser. For very large files, split them so the preview stays readable.