Free tool

Sub-ID & UTM link builder

Build one clean tracking link with s1s5 sub-IDs and UTM parameters on any destination URL. Pick a traffic source and the builder prefills the real click-time macros that platform actually substitutes — no guessing which token Facebook, Google Ads, TikTok, or a native network expects.

Runs entirely in your browser No signup, nothing uploaded Real, documented macros

Build your tracking link

Sub-ID & UTM Link Builder

Sub-IDss1 is what reporting groups by
UTM parametersfor your web analytics
Your tracking link
0 parameters 0 characters

    What this source fills in

    FieldMacro / valueWhat it carries

    The s1–s5 sub-ID model

    An affiliate is rarely a single stream of traffic. Behind one partner there might be a newsletter, three ad networks, and a dozen placements, all converting at very different rates. Sub-IDs are how you see through the affiliate to the source underneath. They are five optional labels, s1 through s5, that an affiliate (or you) append to a tracking link. They ride along on every click and are copied onto the conversions that click produces, so you can measure which source within an affiliate is actually performing.

    s1 is the traffic source

    By convention, s1 is the traffic-source dimension. It is the value sub-ID reporting groups by, and the value you can block or re-price. Use stable, reusable labels: s1=newsletter, s1=facebook, s1=push_network_7. Avoid putting a unique value on every click — a timestamp, a raw click ID, or a per-click macro — because that makes sub-ID reporting meaningless, filling it with thousands of one-click rows. This builder flags an s1 that looks per-click for exactly that reason.

    s2–s5 carry the detail

    The remaining slots, s2 through s5, are free-form passthrough values for anything finer-grained: a placement, an ad set, a creative, a keyword. This is where the platform macros belong — {{ad.id}} on Meta, {creative} on Google, __CID__ on TikTok. They resolve to a real value at click time, so a single link works across an entire campaign while still telling you, later, exactly which creative or placement drove each conversion.

    Sub-IDs and UTMs do different jobs

    UTM parameters (utm_source, utm_medium, utm_campaign, and friends) are read by your web analytics. Sub-IDs are read by your affiliate platform and attach to the payable conversion. They overlap — both can carry the source — but the sub-ID is the one that drives payout, blocking, and re-pricing. Set both from one link and the same click is legible in Google Analytics and in your affiliate reports at once.

    Leave macros raw, encode the rest

    A macro like {{campaign.id}} or __CID__ is a token the platform swaps for a real value. It must stay un-encoded: percent-encode the braces and the platform can no longer recognise the token, so substitution silently fails. Every literal value, though, must be URL-encoded. This tool encodes your literal values and leaves recognised macros alone. It also reminds you that each network appends its own click ID (fbclid, gclid, ttclid) automatically — you should never add those by hand.

    From link to decision

    A link is only the beginning. Once sub-IDs are flowing, one bad source no longer means pausing a whole affiliate: you block just that source on the campaign, or set a per-source payout override to re-price it, while everything else keeps flowing. Want to see your own traffic broken down this way, source by source? Book a demo and we will pull it apart with you.

    Keep going

    A tracking link is one step in the journey from a captured click to attributed, re-priceable revenue. Here is the rest of it.