eg

utm link builder.

tag every link with source, medium and campaign

channel preset
generated url

https://yourstore.com/products/bestseller?utm_source=facebook&utm_medium=paid-social&utm_campaign=bfcm-2026

> worked example

A Shopify brand running Black Friday ads selects the Meta preset (source=facebook, medium=paid-social), types the campaign name bfcm-2026, and pastes their hero product URL. The tool instantly renders the full tagged URL: https://yourstore.com/products/bestseller?utm_source=facebook&utm_medium=paid-social&utm_campaign=bfcm-2026. They copy it into Ads Manager, then hit 'copy as QR code' to generate a 256 px PNG for a printed in-store BFCM poster. GA4 and Shopify analytics will attribute all sessions cleanly to that campaign.

takeaway, Picking a channel preset fills source and medium correctly in one click, no hand-typed utm strings, no mis-attributed revenue.

> when operators reach for this

  • Performance marketers at Shopify brands tagging every Meta and Google ad URL before Black Friday to ensure clean channel attribution in GA4.
  • Email marketers on Klaviyo adding utm_source=klaviyo / utm_medium=email to every CTA link so Shopify and GA4 don't credit sessions to '(direct)'.
  • Ecommerce agencies managing multi-brand accounts who need a fast, consistent UTM convention across all client campaigns without a shared spreadsheet.
  • Affiliate managers issuing partner-specific utm_content values so individual affiliates' traffic is separated in reporting.
  • TikTok Shop sellers generating tagged links for creator briefs so UGC-driven traffic is attributed separately from paid TikTok ads.

> the calculation

  • utm url structurebase-url?utm_source=SOURCE&utm_medium=MEDIUM&utm_campaign=CAMPAIGN[&utm_term=TERM][&utm_content=CONTENT]Parameters are appended to any existing query string. Order does not affect attribution.
  • slugify rulelowercase → strip non-alphanumeric → spaces to dashes → collapse consecutive dashesApplied automatically to source, medium, campaign, term, and content to prevent case-mismatch splits in GA4.
  • meta presetutm_source=facebook · utm_medium=paid-socialUse utm_content to distinguish ad creative variants (e.g. hero-v1 vs carousel-v2).
  • google presetutm_source=google · utm_medium=cpcGA4 auto-tags Google Ads by default; manual UTMs override auto-tagging, confirm GCLID is still passed.
  • klaviyo presetutm_source=klaviyo · utm_medium=emailKlaviyo appends its own _kx parameter; combine with utm tags for full attribution.