UTM campaign tracking
Add utm_source, utm_medium, utm_campaign, utm_term and utm_content to a Zippy link so clicks are attributed correctly in your analytics — on every plan, free.
UTM campaign tracking
UTM tracking tags the destination URL of a Zippy link with five standard utm_* query
parameters. When the link resolves, those tags travel to the destination, so your
analytics tool (GA4, PostHog, your own) can tell where a click came from — which post,
which channel, which campaign — instead of lumping it all under "direct" or "referral".
Zippy composes the tags for you and shows the full URL live as you type. It's available on all plans, including free.
What a UTM is
A UTM parameter is just a key=value pair in the URL's query string. Analytics tools read
these keys by convention and file the visit under the campaign you named:
You don't invent the keys — the five below are the standard set every analytics tool understands. You only choose the values.
The five fields
| Field | What it answers | Example |
|---|---|---|
utm_source | Which site or platform sent the click? | instagram, newsletter, partner-blog |
utm_medium | What kind of channel was it? | social, email, cpc, qr |
utm_campaign | Which campaign or promotion? | summer-drop, launch-week |
utm_term | Which paid keyword? (optional, ads) | running-shoes |
utm_content | Which specific creative or link? (optional, A/B) | hero-cta, footer-link |
Source, medium and campaign are the three you'll set most of the time. Term and content are optional and mostly used for paid ads and A/B tests — leave them blank if you don't need them.
Keep values consistent
Analytics treats Instagram, instagram and IG as three different sources. Pick a
convention (lowercase, no spaces) and stick to it, or your reports fragment.
Where to find it
- Web — in the ZIP form (the create/edit-link form), open the Campaign tracking section. Fill in any of the five fields.
- Mobile — on a link's detail screen, open the Campaign Tracking section and edit the fields there.
As you type, Zippy shows a live preview of the composed destination URL — the base URL
with your utm_* parameters appended and encoded — so you can see exactly what the click
will carry before you save.
The short link never changes
This is the important part: the utm_* tags live on the destination, not on the short
link. The short link people see and share stays the same:
Editing, adding, or removing UTM tags updates what that link resolves to underneath — the short URL is permanent. So you can:
- fix a typo in a campaign name after you've already posted the link,
- add tracking to a link you shared before you set it up,
- reuse one short link across places by adjusting its tags,
...all without reprinting a QR code, editing a caption, or breaking anyone's saved link.
It feeds click analytics
Because the tags are part of the resolved destination, they flow into Zippy's own click analytics as well as the destination site's analytics. A click on a UTM-tagged link is recorded with its campaign attribution, so you can break clicks down by source, medium, and campaign inside Zippy — not only in the destination's tool.
Plan availability
UTM campaign tracking is on every plan, including free. There's no per-link or per-click limit on adding tags.
Read more
- Blog: Finally know which post drove the clicks
- Changelog: UTM builder
- Rides along with: audience routing · scheduled destinations