How this tool computes its result
Two independent flows share one output panel. "Generate" builds a UTM-tagged URL from a destination URL plus required source/medium/campaign and optional term/content fields, blocking with an inline error if the destination is missing, a required field is empty, or the URL fails to parse. "Validate" instead accepts a pasted campaign URL (or falls back to whatever URL was just generated) and checks it for missing required parameters, duplicate parameters (the same key appearing more than once in the query string), and "extra" UTM parameters (utm_-prefixed keys outside the five standard ones). Generating a URL immediately re-runs it through this same validator, so a freshly generated link always shows its own validation summary.
