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
| Purpose | Accepted headers | Required |
|---|---|---|
| Destination | url, destination, landing_page, link | Yes |
| Campaign source | source, utm_source | Yes |
| Marketing medium | medium, utm_medium | Yes |
| Campaign name | campaign, campaign_name, utm_campaign | Yes |
| Variation | content, utm_content | No |
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.