Free bulk UTM builder

Build a clean campaign sheet in one pass.

Paste destinations or a spreadsheet, apply shared defaults, validate every row against your saved naming rules, then copy or export the finished links.

Browser-based · no upload

Campaign rows

Ready for campaign rows

How the bulk builder handles your campaign sheet

Each row becomes one campaign URL. UTM Harbor preserves existing non-tracking query parameters and fragments, replaces existing UTM values, and URL-encodes the finished result. Rows with missing source, medium, or campaign values stay out of the generated list until fixed.

Files and pasted campaign data are processed in this browser. They are not uploaded or stored on a server.

Accepted column names

PurposeAccepted headersRequired
Destinationurl, destination, landing_page, linkYes
Campaign sourcesource, utm_sourceYes
Marketing mediummedium, utm_mediumYes
Campaign namecampaign, campaign_name, utm_campaignYes
Variationcontent, utm_contentNo

When to use shared defaults

Use defaults when many destinations belong to the same source, medium, and campaign. Import per-row values when one sheet contains several channels or creative variants. Values in a row take priority over shared defaults.