Ecommerce

How do I create UTM links for ecommerce?

Create UTM links for ecommerce by taking a clean product or collection URL and appending utm_source, utm_medium and utm_campaign with a naming scheme you will still understand next quarter. Optional terms and content distinguish ads. Never stack two UTM sets. CrossKit UTM Builder generates the query string; URL Cleaner removes leftover parameters; Link Checker confirms the page exists.

Inconsistent casing (`Email` vs `email`) splits one campaign into two in analytics. Pick lowercase and stick to it.

Steps

  1. Start from a canonical URL

    No leftover `fbclid` or old UTMs. URL Cleaner first if needed.

  2. Set source = the platform

    tiktok, facebook, klaviyo, google.

  3. Set medium = the mechanism

    cpc, paid_social, email, influencer, affiliate.

  4. Set campaign = the offer or flight

    ss26_launch, bfcm_2026—human readable, no spaces.

  5. Test click-through to checkout UTM survival

    Some themes drop query params. Fix that before you spend.

Source, medium, campaign—lowercase and stable

Start from a canonical product or collection URL with no leftover fbclid or old UTMs (URL Cleaner first). utm_source is the platform (tiktok, facebook, klaviyo, google). utm_medium is the mechanism (cpc, paid_social, email, influencer, affiliate). utm_campaign is the offer or flight (ss26_launch, bfcm_2026)—human readable, no spaces. Optional utm_content and utm_term distinguish creatives and keywords. Never stack two UTM sets. Inconsistent casing splits one campaign into two. CrossKit UTM Builder generates the query string; Link Checker confirms the page exists; shorten only after the UTM is final.

Where UTM does and does not apply

UTM is for sites you control, such as Shopify. Amazon attribution is different; use Amazon’s campaign tools where required. Test that themes keep query params through to checkout before you spend. Do not put spaces or Chinese punctuation in UTMs—they encode into strings nobody searches. Do not create a unique campaign name per creative; use campaign for the flight and content for the creative so you can roll up. Shorteners hide parameters from humans, not from the destination site.

How CrossKit fits this job

UTM Builder creates the query string from a clean URL. URL Cleaner removes leftover parameters first. Link Checker confirms the destination is not a 404. URL Shortener comes last, only after the UTM is final. Keep source, medium and campaign lowercase so analytics does not split one flight into two.

Example

Base: `https://shop.example.com/products/harbor-tote`. Built: `...?utm_source=tiktok&utm_medium=paid_social&utm_campaign=harbor_launch&utm_content=creator_mia`. Analytics can attribute that creator without guessing from referrer. Document the naming scheme in one row of a sheet so two people do not invent tiktok vs TikTok vs TT in the same week.

Common mistakes

  • Putting spaces or Chinese punctuation in UTMs

    They get encoded and nobody searches that string later.

  • A unique campaign name per creative

    You cannot roll up. Use campaign for the flight, content for the creative.

  • Using the creative filename as utm_campaign

    You will get thousands of campaign names. Put the flight in campaign and the filename in content.

Recommended tool

UTM Builder

CrossKit UTM Builder creates trackable campaign URLs. Clean with URL Cleaner; shorten with URL Shortener only after the UTM is final; verify with Link Checker.

FAQ

Frequently Asked Questions

Do Amazon product links need UTM?

Amazon attribution is different from Shopify analytics. Use Amazon’s own campaign tools where required; UTM is for sites you control.

Should I shorten UTM links for TikTok bios?

You can, after the UTM is correct. Shorteners hide the parameters from humans, not from the destination site.

Should every email link have UTM?

Yes if you want email in analytics. Use source=klaviyo (or your ESP), medium=email, campaign=the send name. Keep the names boring and consistent.

Can I add UTM to an already shortened link?

Rebuild from the clean destination, add UTM, then shorten. Do not append UTM onto a short URL and expect analytics to see it.