Documentation version: 2026-10-23.6
Canonical: https://docs.creator.gg/guides/tracked-links.md

# Creator tracked links

Every Creator short link always has tracking. For a quick link request, call links_create with the destination: the backend fills shared/link/always-on and a calendar or shared-link placement automatically. Do not ask the user to name a campaign or channel for an everyday link. Campaign labels group related activity; they are not required setup work. For known marketing distribution, use the actual channel and placement, retaining always-on when there is no named campaign. Never wrap an existing short URL: read its owned destination and prepare a tracked variant. Use Creator tracked links for every outbound marketing URL in emails, social posts and replies, ads, SMS and QR codes. Read links_tracking_options and reuse an existing campaign name. Call links_prepare with destinationUrl and tracking {source,medium,campaign,content,term?}; distribute the returned shortUrl verbatim. Prepare separate links per channel and placement. Use email for email and social with the actual network source for organic social. Never invent a second taxonomy, put personal data in UTMs, or append UTMs to the short URL. Functional authentication, unsubscribe, privacy/terms links, media assets and internal navigation retain their functional URLs. Link preparation never authorizes sending or publication. Read guides/tracked-links for the full standard. Prefer short, meaningful slugs based on the destination or purpose, such as book-demo or launch-guide. Pass slug to links_create or links_prepare whenever a readable choice is possible. Reuse an existing suitable path; if taken, try a concise meaningful variant, using a short random suffix only when needed. Published paths cannot be renamed. Read guides/short-links for collision and retry handling.

## Everyday links are automatically tracked

Every short link has tracking, including an ad hoc calendar, booking page or useful resource. Tracking needs only the destination. Agents should also supply a short, meaningful slug from the page purpose whenever possible. Call links_create with destinationUrl, slug and requestId. Never ask the user to invent a campaign for this request. The backend automatically applies source shared, medium link, campaign always-on and content shared-link. Recognized calendar/booking destinations use content calendar. Shared/link identifies an unspecified sharing context; it does not claim a particular network or paid campaign. Existing valid destination UTMs are normalized and missing fields receive standard defaults.

For example, shorten https://cal.com/example/intro with slug book-intro and no tracking arguments. The saved destination includes utm_source=shared, utm_medium=link, utm_campaign=always-on, utm_id=always-on and utm_content=calendar. It also retains any unrelated query parameters.

Campaigns group related activity. Each actual campaign has its own stable name; there is no single campaign for the entire business. Everyday links use always-on automatically. When the agent later distributes the calendar link in an email or social post, read the owned original destination and use links_prepare for that actual channel and placement, retaining always-on unless a named campaign applies. Never nest short links or append UTMs to a short URL. The base link keeps its original tracking identity.

## The standard

Every outbound marketing destination uses these fields:

| Field | Rule | Example |
| --- | --- | --- |
| utm_source | Origin platform or owned distribution stream | instagram, newsletter, lifecycle, google |
| utm_medium | A controlled channel value from links_tracking_options | social, email, paid_social, cpc |
| utm_campaign | One immutable campaign label reused across all channels | 2026-11-product-launch |
| utm_id | Generated from the campaign label; never enter separately | 2026-11-product-launch |
| utm_content | Required placement or creative label | bio, email-hero, post-demo-a |
| utm_term | Optional paid keyword only | creator-tools |

Use short descriptive lowercase labels with hyphens. Source aliases normalize to canonical platform names: fb to facebook, ig to instagram, x to twitter and yt to youtube. Mediums are link (unspecified sharing context), email, social, paid_social, cpc, display, referral, affiliate, sms, video, paid_video and offline. Their spelling is fixed. Presets provide common source/medium pairs. Use a publisher hostname label for a specific referral and a stable partner label for an affiliate. Do not use a person's name, email, phone, contact ID, credentials or dynamic macros in UTM values.

Name a time-bound campaign yyyy-mm-purpose, for example 2026-11-product-launch. Use a stable purpose name for evergreen campaigns, for example always-on or onboarding. Read the workspace's saved names first. Do not create channel-specific campaign names: newsletter and Instagram for the same launch share the campaign. Campaign IDs and names are local to the owning workspace. Normalization is shared by UI, API and agents.

## Agent workflow

1. For a quick short-link request, call links_create with the destination and a concise meaningful slug; let automatic tracking handle the labels. For a known distribution channel, read workspace_status and links_tracking_options. Reuse the relevant named campaign, or always-on for everyday activity. Do not block on a campaign question.
2. Call links_prepare with destinationUrl, a concise meaningful slug and tracking {source,medium,campaign,content,term?}, plus a stable requestId. Tracking is always generated when omitted; supply the actual channel when known. For example source newsletter, medium email, campaign 2026-11-product-launch, content email-hero.
3. Use data.link.shortUrl verbatim. Retain its ID and revision. The preparation action creates the campaign record on first use and reuses an active identical tracked destination with the requested slug and cloaking mode. Each source/medium/placement gets its own link. Separate network drafts when sharing a social message to multiple networks.
4. Check the final content before sending or publication. Agent email drafts, sends, schedules, social drafts, publications, schedules and immediate replies check marketing URLs against active tracked links owned by this workspace. Email links require medium email. Organic social requires medium social and the actual connected network source. Fix TRACKED_LINK_REQUIRED by preparing the correct links and updating content, then use a new requestId. No automatic send or publication is authorized by link preparation.
5. Verify the resulting draft, send or publication through its normal channel tool. Use links_stats for redirect clicks. Clicks are not people, conversions or revenue. UTMs label the destination visit; they do not by themselves install analytics or prove attribution.

## Boundaries and changes

Functional authentication, unsubscribe, email preference, privacy and terms links keep their URLs. Do not track internal navigation, anchors, mailto/tel links or media asset URLs. These are not acquisition placements. Provider-generated functional links remain provider-managed. Unknown dynamic marketing URL placeholders are not supported by the builder.

Tracking labels on an existing tracked short link are immutable. Retargeting its destination preserves the original attribution fields. Create a new tracked link when changing campaign, channel or placement. Existing untracked short links are upgraded to canonical tracked destinations with revision history. Every new short link and retarget uses the same generator. Prepare channel-specific variants before distributing base shared/link links in email or social. Paused, expired, archived, foreign-workspace and query-modified short links fail the outbound check. Reusing an identical requestId returns its original receipt and current link state; check the state before distributing. A new preparation never revives a stopped link.

The generated destination replaces the six managed UTM fields and preserves all other query bytes and the fragment, including preexisting ad click IDs. Unknown utm_ fields are rejected. Put tags in the stored destination, never on the short URL. Do not change ad auto-tagging settings or assume incoming parameters on a short URL are forwarded. Existing signed URLs may not permit added query parameters; verify them with the destination owner before use.

## Research basis

Our standard uses Google's documented source, medium and campaign fields, case consistency, content variations and campaign ID. Automatic everyday defaults, the link medium, mandatory placement, immutable labels, presets, tenant campaign registry and agent checks are Creator product rules.

- https://support.google.com/analytics/answer/10917952?hl=en
- https://support.google.com/analytics/answer/9756891?hl=en
- https://support.google.com/analytics/answer/6366371?hl=en
