Bulk UTM builder & checker
Build or check campaign links in batches. Import a CSV, apply shared campaign values, and flag duplicates and inconsistent naming.
Use a URL list for shared tags or a CSV for row-specific values. Choose whether existing tags should be preserved or replaced.
Your inputs stay in this browser tab. Files and tags are processed in an isolated workspace, without advertising or analytics scripts.
How to use it
- Paste one URL per line, or import UTF-8 CSV with a url column. Optional columns use the seven supported utm_ names shown in the form.
- Choose Build or Check. When building, nonblank CSV values override shared values. Blank optional fields leave existing tags in place.
- Review every flagged row. Download the report with original URLs, proposed URLs, and findings.
Worked example · sample data
A landing page already has utm_source=newsletter. A new shared source is display. “Keep existing tags” preserves newsletter and flags the difference; “Replace provided tags” changes it to display and records the change. Other query parameters and the fragment remain.
Before you use the result
Use lowercase values consistently: Google Analytics treats campaign values as case-sensitive. Do not put personal information in URLs.
Duplicate UTM parameters are errors. Repeated non-UTM parameters are preserved and flagged because they may be intentional.
URLs are parsed locally. The checker does not visit destinations, follow redirects, verify page availability, or test whether analytics receives the campaign values.
The batch limit is 1,000 links and 1 MiB of text. For one link, use the simpler UTM link builder. CSV exports protect formula-like cells with a leading apostrophe.
Reference: Google Analytics: collect campaign data with custom URLs