# UTM Parameters in Short Links: Track Campaigns Without Losing Data

> Combine UTM parameters and short links, standardize campaigns, preserve query strings and interpret clicks and sessions correctly.

Canonical: https://abreai.com/en/blog/utm-em-link-curto

## How to use UTM in short links without losing tracking

Add UTM parameters to the destination URL before shortening. The correct sequence is: define the campaign taxonomy, assemble the long URL with `utm_source`, `utm_medium` and `utm_campaign`, validate the query string, shorten it and test the redirection. The short link does not replace UTMs: it measures the click on the redirect, while the parameters reach the page analytics tool and help classify the session.

A long URL can be difficult to share, but that's no reason to remove campaign data. The shortener presents a clean address to the public and preserves the full destination on the server.

## What are UTM parameters

UTM are parameters added to the query string to describe acquisition. The most used are:

- `utm_source`: origin, such as newsletter, Instagram or partner;
- `utm_medium`: medium, such as email, social, cpc or qr;
- `utm_campaign`: initiative, product or period;
- `utm_content`: creative, position or CTA variation;
- `utm_term`: paid term or other carefully defined dimension.

They don't send conversion alone. The analytics tool reads the parameters when the page loads and associates them with the session according to its configuration. Consent, blockers, and privacy can limit collection.

## Correct order: parameterize and then shorten

Start with the landing page's canonical URL. Add UTMs using a builder or library that does proper coding. Then paste the full URL into AbreAí.com. Choose a readable slug and internal title that describes your channel and campaign.

Conceptual example:

`https://exemplo.com/oferta?utm_source=newsletter&utm_medium=email&utm_campaign=primavera`

becomes a public address like:

`https://abreai.com/oferta-primavera`

When the visitor opens the short, the server sends `Location` to the long URL with the parameters. The landing page receives the UTMs.

Avoid shortening first and trying to add UTMs after the slug, like `abreai.com/oferta?utm_source=x`, unless the service documents query passing. This can change cache, create ambiguity or not reach the destination. Write the final version to the destination.

## Taxonomy: the most important part

Accuracy depends less on syntax and more on consistency. `instagram`, `Instagram`, `ig`, and `insta` can appear as four sources. Set conventions before publishing.

A simple pattern:

- lowercase;
- hyphen or underscore chosen once;
- no accents;
- durable names;
- separate creative campaign;
- no personal data.

Keep dictionary with value, meaning, responsible and example. For teams, validate fields in forms or automation. Free text produces fragmentation.

## Slug and UTM have different roles

The slug is visible and should be memorable. UTM is operational and must be consistent. Don't try to encode the entire taxonomy in the slug. `abreai.com/curso-agosto` is better for the public than `abreai.com/ig-paid-feed-v2-2026`.

The internal title can bring together details without polluting the link: “August Course · Instagram · Feed · Creative B”. Thus, dashboard, destination and analytics have appropriate levels of information.

## One link per channel or one link for all?

If all channels use the same link, the shortener adds clicks and the UTM only identifies the recorded value. You won't know which channel you actually shared. To compare, create one UTM link and URL per relevant channel or placement.

Don't fragment without purpose. Ten small variations with few accesses create noise. Separate dimensions that drive the decision: paid versus organic media, email versus QR, partner A versus B. For buttons within the same page, `utm_content` can distinguish creatives.

## Redirections and query string preservation

The registered destination must be stored complete. Bank and code cannot truncate into `&`, improperly convert `+`, or double-escape `%`. Use URL parser and prepared statements. In the HTTP response, the `Location` header must contain the validated value.

If the landing page redirects again, check whether it preserves the query. Canonicalization, language, login, and checkout rules often remove parameters. Inspect the string in the browser or with the HTTP tool.

Avoid multiple shorteners. Each jump adds a point where parameters can disappear. Point the short link directly to the stable final URL.

## UTMs and fragments

Query starts with `?`; parameters are separated by `&`; fragment starts with `#` and is not normally sent to the server. Place UTMs before the fragment:

`/pagina?utm_source=email#preco`

Libraries must preserve both. Manual assembly is prone to error when the URL already has parameters. If `?produto=1` already exists, add `&utm_source=...`, not another `?`.

## Character encoding

Space, accent and symbols need percent-encoding. Prefer simple values. Never concatenate user input without encoding. In addition to breaking measurement, poorly constructed queries can introduce vulnerabilities into the destination.

Do a round trip test: open the short, copy the final displayed URL and check each decoded parameter. Compare with the campaign document.

## UTM must not contain personal data

URLs appear in history, logs, reports, prints and referrer. Do not use email, telephone, CPF, name or identifier that reveals a person. Even pseudonymous IDs can be personal data if re-identifiable.

For individual customization, use authenticated system and secure identifiers in the backend. Keep UTM at the campaign or segment-wide level. The LGPD requires purpose, necessity and transparency.

## Shortener click versus analytics session

Totals will rarely be equal. The redirect can be accessed by a scanner, bot, messenger preview or person who closes before loading the page. Analytics may rely on consent or blocked JavaScript. There are also different spindles and windows.

Use each source for your question:

- shortener: was the address requested?
- web analytics: is the page logged in?
- product: was there an event?
- CRM: was there a qualified lead?
- payment: was there revenue?

Build a funnel, don't force equality.

## How to name campaigns

A useful name is stable and interpretable: `lancamento-produto-2026-08`. Avoid “new-campaign”, “final-test” or collaborator names. For recurrence, separate initiative and period. Document the convention so as not to rely on memory.

On the AbreAí.com panel, use the corresponding internal title. Searching by title, slug or destination helps you find old UTMs. Do not change taxonomy in the middle of a campaign without recording the change.

## Examples per channel

### Email

`utm_source=newsletter`, `utm_medium=email`, stable campaign and `utm_content` for button. Do not use the recipient's email address.

###Instagram

Separate bio, story and advertisement if the difference matters. Use `utm_source=instagram`; medium can be `social`, `paid-social` or consistent internal standard.

### WhatsApp

Decide whether it is a service, list, group or announcement. Don't assign each contact by URL. Use aggregate campaign.

###QR Code

Use `utm_medium=qr` and font that describes the location: packaging, menu, event. Create one link per relevant piece. Test before printing.

### Partners

Use partner-standardized source and maintain usage agreement. If there is a commission, don't just rely on clicks; record conversion in the transactional system.

## Automation via API

When a CRM generates links, validate source and medium enums, enforce length, and refuse PII. Build the URL with library, send as destination and store the returned ID. Separate tokens by integration and environment.

Respect rate limit, implement retries with backoff and avoid duplication. A job must register the slug, final URL, campaign and responsible. Revoke token when integration goes out of use.

## Test before publishing

1. Validate the landing page without UTM.
2. Set up parameters according to the dictionary.
3. Check encoding.
4. Register the complete URL.
5. Open the short in an incognito window.
6. Inspect the final URL.
7. Check event in debug mode.
8. Test accepted and refused consent.
9. Test in the application where it will be published.
10. Register slug and assignee.

## Common problems

Duplicate UTM occurs when a platform adds parameters to an already parameterized URL. Inconsistent capitalization fragments report. Intermediate redirection can remove query. Link copied from the wrong panel points to the test environment. Reused slug confuses history. Scanner generates sessionless clicks.

Solve at source: central generator, versioned taxonomy, automatic validation and checklist. Don't try to manually “clean” data every month.

## Report architecture

Start with campaign, then channel and creative. Compare link clicks to sessions and conversions. Include rate, not just volume. A channel with fewer clicks may convert better. Use the same period and time zone.

Keep notes on target, budget, and creative changes. Without context, a curve does not explain causation. Avoid attributing all growth to the link; it is a distribution instrument.

## Governance for team campaigns

Define who can create values, who approves and where the dictionary is located. A simple spreadsheet works at first, but needs validation, history, and accountability. In larger operations, transform source, medium and campaign into controlled fields in the CRM or link generator. Automation should reject non-standard value instead of accepting and trying to correct it later.

Separate environments. Approval links must not appear in the production report. API tokens must have a name, purpose, rotation and revocation. If a job is retried after timeout, use idempotence or look for an existing random target before creating a duplicate. Record the shortener's response with the campaign ID.

Before changing a taxonomy, estimate the historical impact. Renaming `paid-social` to `social-paid` mid-period splits series and forces transformation in the report. When change is necessary, document cutoff date and maintain a normalization layer that preserves the raw source.

## Automated technical validation

An integration test can open the short link without following the redirect and validate that `Location` contains expected host, path, and parameters. Then run a sample with full redirection and confirm target loading. Do not perform this test at high frequency, as it generates requests and can interfere with metrics.

Include cases with already parameterized URL, fragment, percent-encoded characters and empty values. Check that no personal data is included in the query. The publishing pipeline should fail when source, medium, or campaign are missing for campaigns that require attribution.

## Conclusion

UTM and short link are complementary. UTM transports context to analytics; the shortener improves distribution and observes redirection. Parameterize first, shorten later, test the chain and maintain taxonomy. At AbreAí.com, you can use a readable slug, internal title and panel to organize access without exposing the complexity of the long URL to the public.

![Campaign channels sending identifiable streams through a short link to a landing page](https://abreai.com/media/blog-inline/utm-fluxo-campanha.webp)

_Campaign channels sending identifiable streams through a short link to a landing page._

![Colored streams preserved by a prism and organized into a data sculpture](https://abreai.com/media/blog-inline/utm-analytics.webp)

_Colored streams preserved by a prism and organized into a data sculpture._