Lowercase UTM Values: Keep the Destination URL
Change UTM values with a naming plan. Keep the destination path and other parameters unchanged, then compare the result with the source link.
Like it ? share it
A lowercase convention applies to the UTM values that your team selects. It does not make a whole URL safe to change.
Procedure: separate the fields before a change
- Keep a copy of the source URL.
- Record the approved values for each UTM parameter.
- Identify the destination path and the other query parameters.
- Change only the UTM values that the naming plan permits.
- Compare the result with the source URL.
- Do a test of the destination before you use the link in a campaign.
Google treats different letter case in UTM values as different values. Its campaign URL guidance recommends consistent names and lowercase values.
That recommendation concerns campaign data. It does not define how your website handles its paths or other parameters.
The destination has a separate contract
This example contains a path, a product identifier, three UTM values, and a fragment:
https://example.com/Offer?sku=AbC&utm_source=Newsletter&utm_medium=Email&utm_campaign=Autumn#DetailsFor this example, the approved campaign values are newsletter, email, and autumn. The intended result is:
https://example.com/Offer?sku=AbC&utm_source=newsletter&utm_medium=email&utm_campaign=autumn#DetailsThe path remains /Offer. The product identifier remains AbC. The fragment remains Details.
RFC 3986, section 6.2.2.1 distinguishes the scheme and host from other URL components. The scheme and host are case-insensitive. Other components can need the same letter case.
Thus, /Offer and /offer are not safe substitutes without evidence from the destination system. The same caution applies to business parameters. Some websites accept both forms, but that behavior is not universal.
Six controlled cases
On November 1, 2026, we ran six synthetic cases with Node.js 24.14.1 on Windows. Three cases sent requests to a local HTTP server. The other three examined strings and URL parameters without requests.
The server returned 200 only for the path /Offer with sku=AbC. This deliberate rule made changes outside the UTM fields visible.
| Case | Observed result |
|---|---|
| Source mixed-case URL | HTTP 200 |
| Whole URL changed to lowercase | HTTP 404, with /offer and sku=abc |
| Only three selected UTM values changed | HTTP 200, with /Offer and sku=AbC unchanged |
Source FB changed to lowercase |
Result fb, which differs from the approved example facebook |
Two utm_source parameters |
Both values remained visible to the inspection step |
A UTM edit through URLSearchParams |
Unrelated query encoding changed, but its decoded value stayed the same |
All six cases gave the expected results. These are selected examples, not a survey of websites or a failure rate. The experiment did not test Google Analytics, Enfect's runtime, redirects, or signed links.
The local server needed the same letter case by design. Its 404 result demonstrates a possible failure, not a claim that every server behaves this way.
Letter case and aliases need different decisions
One Reddit discussion about UTM management describes inconsistent links across campaigns. Visible comments recommend a shared list of permitted values.
A second discussion about inconsistent UTM names describes alternatives such as fb and facebook. These reports support the need for a naming process. They do not measure its effectiveness.
Lowercase letters solve only one part of that problem. The strings fb and facebook still differ after conversion. A naming plan must specify which value the team intends to use.
An example plan could use facebook for a source and email for a medium. Those choices are examples, not mandatory names for every campaign.
Procedure: review a campaign link
- Compare each UTM value with your approved list.
- If one parameter has multiple values, ask the campaign owner which value is correct.
- Compare the path with the source path.
- Compare each business parameter with its source value.
- Compare the fragment with the source fragment.
- Record the changed fields beside the source URL.
- Do a test of a sample link through the intended recipient journey.
The Enfect UTM Builder provides separate fields for a destination and campaign parameters. A builder cannot choose your team's naming policy.
Its page distinguishes local link assembly from CHECK IT RESOLVES. That optional check sends the finished URL to Enfect's server. A successful response does not prove that Analytics received the intended campaign values.
Equal values can have different encoding
In the sixth case, the source query contained note=a%20~. After the UTM edit, it contained note=a+%7E. Both forms gave the decoded value a ~.
The WHATWG URL Standard explains this behavior. An operation through URLSearchParams can change query serialization, including spaces and the tilde character.
Decoded equality and equality of the full text are different checks. This experiment showed decoded equality for one field. It did not establish whether a provider would accept a changed signed URL.
For a provider link that needs the same text, a fresh link from that provider is the safer choice. That is an operational precaution, not a result from our experiment.
The UTM introduction explains the campaign fields. The redirect investigation guide covers changes after a click. This review concerns the link before that journey starts.