Shortening Links
UTM parameters and campaign tracking
Add UTM tags to links individually or via the campaign builder, and see attribution flow end-to-end in GA4.
Updated 2026-05-12
UTM parameters are query string values that analytics tools use to attribute traffic to a specific campaign, channel, and creative. Elido appends them to the destination URL at redirect time, so your short links stay clean while your analytics receive full attribution data.
The five UTM parameters#
| Parameter | What it tracks |
|---|---|
utm_source | Where the traffic came from: newsletter, twitter, google |
utm_medium | How it was delivered: email, social, cpc, organic |
utm_campaign | The campaign name: spring-sale-2026, product-launch |
utm_term | The paid keyword (mostly used for Search ads) |
utm_content | Differentiates creatives in the same ad: banner-a, text-link |
Only the first three matter for most teams. utm_term and utm_content are useful when you're running A/B tests or paid search.
Add UTM params to a single link#
When creating or editing a link, scroll to the UTM section of the link form. Fill in the fields you need. The destination URL preview at the bottom updates as you type — confirm it looks right before saving.
The UTM values are stored on the link record and appended at redirect time. The short URL itself stays short: s.elido.me/spring-2026 rather than https://acme.com/shop?utm_source=newsletter&utm_medium=email&utm_campaign=spring-2026.
Use the campaign builder for consistent tagging#
The campaign builder is designed for teams running multiple links under a single campaign. You define the UTM values once on the campaign and they're inherited by every link in it.
- Go to Campaigns → New campaign.
- Fill in the campaign name and the UTM parameters you want to apply to all links in this campaign.
- Save the campaign.
- Create or move links into the campaign from the link editor (pick the campaign from the Campaign dropdown).
Any link in the campaign that doesn't have its own UTM values will inherit the campaign's values. A link with its own UTM values keeps them — the campaign values don't override per-link settings.
You can see aggregate performance across all links in a campaign from Campaigns → [campaign name] → Analytics.
UTM attribution end-to-end with GA4#
Here's what happens from click to GA4 report:
- A user clicks your short link (e.g.
s.elido.me/spring-2026). - Elido redirects to
https://acme.com/shop?utm_source=newsletter&utm_medium=email&utm_campaign=spring-2026. - GA4's tracking code on your destination page reads the UTM parameters and fires a
session_startevent withsource,medium, andcampaigndimensions populated. - In GA4, go to Reports → Acquisition → Traffic acquisition to see sessions broken down by campaign.
For this to work:
- GA4 must be installed on the destination page (
gtag.jsor Google Tag Manager). - The destination URL must not strip query parameters (some landing page builders do this — check with a test click).
- The UTM values must be consistent across links in the same campaign — mixing
newsletterandemail-newsletterfor the same source splits the data.
If you've connected Elido to GA4 via the GA4 integration, click data from Elido and session data from GA4 appear side by side in your analytics dashboard.
Troubleshooting#
UTM params not appearing in GA4. Open the short link in a browser with network inspector active and confirm the redirect destination includes the UTM parameters in the URL. If they're missing from the redirect, check the link settings in Elido. If they're present in the URL but not in GA4, the GA4 snippet may not be firing — use Google Tag Assistant to verify.
Campaign shows fewer sessions than Elido click count. Elido counts clicks at the redirect layer; GA4 counts sessions on the destination page. The difference is usually bots (Elido records bot traffic; GA4 filters most of it) and users who click but close the tab before the page loads. A 10–20% gap is normal.
UTM values are being overwritten. If the destination page or a redirect chain sets its own UTM values, they'll replace yours. Use a tool like Campaign URL Builder to test the final URL.
I want to track per-creative performance. Set utm_content to different values for each variant: banner-a, banner-b, text-link. All variants can share the same campaign and medium, so you get a clean A/B comparison in GA4 under the same campaign row.