Builds campaign links with UTM parameters that follow a naming rulebook you set once: allowed values, lowercase and a word separator. Make one link or many from a CSV file, and share the rules with your team without sharing a single link. For anyone who launches campaigns across several channels.
How to use it
- Open Naming rules and set what your team agreed: lowercase or not, the separator between words, and the allowed values of each parameter. Leave a list empty to allow any value.
- For one link, enter the page address, the source, medium and campaign, and the optional term and content. For many, choose Many links from a CSV file and add the file.
- Check the findings: they say which links broke a rule or were adjusted, and by how many.
- Copy the link or links, or export the table as CSV. Use Share link to give your team the rules.
How Reavlo tests this
Everything is built in your browser from what you enter or add. Nothing is uploaded and nothing is stored.
Building a link. The page address must be an http:// or https:// address. The tags utm_source, utm_medium, utm_campaign, utm_term and utm_content are added to the end of the query string. The rest of the query is kept exactly as written, a fragment (#plans) stays at the very end, and internationalised domain names are converted to their ASCII form. If the address already carries one of the five tags, it is replaced and you are told. Other parameters, such as utm_id, are left alone. Values are percent-encoded, so &, =, # and non-Latin letters are safe.
The rulebook. Each value is trimmed, lowercased if the rules say so, and spaces are replaced with the chosen separator. A value is then compared with the allowed list of its parameter, which goes through the same steps, so Newsletter matches newsletter when lowercase is on. A value that uses the other separator (a hyphen when you chose underscores) is flagged but kept, because changing it could merge two different names.
What is not built. A row with an address that is not a web address, an empty source, medium or campaign, or a value outside an allowed list gets no link, and is listed with the reason. Rows with warnings are built.
Files. A CSV is read per RFC 4180 with the separator detected (comma, semicolon, tab or pipe). The header needs a url column (link, destination and landing page also work) and any of source, medium, campaign, term and content, with or without the utm_ prefix. Rows that cannot be read are listed with their line number and left out. Up to 500 rows are used.
Share links. A share link carries the naming rules only, in the part of the address after #, which browsers never send to a server. It does not carry the page address, the values or the file. Opening it loads the rules and the page recomputes everything in your browser.
| Rule | Severity | What fails it |
|---|---|---|
utmbuild.url.invalid | Critical | The address is empty, has no scheme or doesn't start with http:// or https:// |
utmbuild.required.missing | Critical | A source, medium or campaign is empty |
utmbuild.value.not-allowed | Critical | A value isn't in the allowed list of its parameter |
utmbuild.value.wrong-separator | Warning | A value contains the separator your rules don't use |
utmbuild.url.existing-utm | Warning | The address already had utm_source, utm_medium, utm_campaign, utm_term or utm_content |
utmbuild.csv.unreadable-rows | Warning | A row has an unclosed quote or a different number of columns than the header |
utmbuild.value.normalized | Info | A value was trimmed, lowercased or had spaces replaced |
utmbuild.csv.truncated | Info | The file has more rows than the limit |
Limits. The tool builds the link text. It doesn't open the page, check redirects, or know how your analytics property treats a value. Whether a medium maps to the channel you expect is checked by the UTM link checker.
Questions
Does Reavlo see my links or my file?
No. The links are built in your browser and a CSV file is read there too. Nothing you enter is sent to a server or stored. If Google Analytics is enabled on this site, it only records that the tool ran, never a link or a value.
What does a share link contain?
Only the naming rules: lowercase, the separator and the allowed values. It is stored in the part of the address after #, so it never reaches a server. If the rules are too long for a link, the tool tells you instead of cutting them.
Which UTM tags do I need?
At least utm_source, utm_medium and utm_campaign, so the tool asks for those three. utm_term and utm_content are optional.
What happens to the query string and the fragment of my page?
The query string is kept as written and the tags are added after it. A fragment stays at the end of the link, because tags placed after a # are never seen by analytics.
Why was my value changed?
The rulebook asks for lowercase and a separator. Reports show values exactly as written, so Spring Sale and spring_sale would be two rows. The tool changes the spelling for you and tells you how many links it touched.
Can I check links I already have?
Yes. Paste them in the UTM link checker, which finds missing, mixed-case and inconsistent tags across a list.