Tracking Links & Sub-IDs

Your tracking link is the foundation of attribution. Learn how to get it, customise it with sub-IDs, and pass rich data back through macros.

What Is a Tracking Link?

A tracking link (also called an affiliate link or click URL) is a unique URL assigned to you for each campaign. When a visitor clicks it, the platform:

  1. Records the click with a unique click_id
  2. Stores your sub-ID values for later reporting
  3. Checks geo/device targeting rules
  4. Redirects the visitor to the campaign landing page

Every link is unique to you — never share your raw tracking link with another affiliate as all conversions will be credited to your account.

Sub-IDs — Source-Level Tracking

Sub-IDs let you pass custom labels through your tracking link so you can segment performance by source, ad, placement, or any dimension you care about.

ParameterUse Case ExampleMax Length
sub1Traffic source (facebook, google, push)255 chars
sub2Ad ID or creative name255 chars
sub3Campaign / ad set ID255 chars
sub4Audience segment or placement255 chars
sub5Custom label (A/B variant, funnel step…)255 chars

Example with sub-IDs:

https://track.yournetwork.com/click?pid=123&oid=456&aff_id=789&sub1=facebook&sub2=ad_12345&sub3=adset_9876

In your Clicks Report, each sub-ID appears as its own column, letting you pivot performance by any of these dimensions.

Dynamic sub-IDs

Most traffic sources let you insert dynamic tokens. For Facebook Ads, use sub1={{site_source_name}}&sub2={{adset_id}}. Replace with the token syntax your platform uses.

Sub-Affiliate Tracking

If you run a network of sub-affiliates, append their ID to your link using the aff_sub parameter. Conversions will still credit your account, but sub-affiliate IDs are stored in the click record so you can reconcile payouts with your own sub-publishers.

https://track.yournetwork.com/click?pid=123&oid=456&aff_id=789&aff_sub=subpub_001

Full Macro Reference

The following macros can be appended to your link. They are also available in postback URLs for server-to-server conversion passing.

MacroReplaced With
{click_id}Unique click identifier (use this in your postback)
{payout}Conversion payout amount
{status}Conversion status: approved, pending, rejected
{offer_id}Campaign / offer ID
{affiliate_id}Your affiliate account ID
{sub_aff1}–{sub_aff5}Sub-ID values you passed in the click URL
{country}ISO 3166-1 alpha-2 country code (e.g., US)
{os}Detected operating system (android, ios, windows…)
{device}Device type: mobile, tablet, desktop
{ip}Visitor IP address
{timestamp}Click timestamp in Unix epoch seconds

Best Practices

  • Always use sub-IDs — without them you can't optimise at the source level
  • Never modify the base URL — changing the domain or path parameters will break attribution
  • Test before scaling — use the campaign's Test URL feature or send one manual click and verify it appears in your Clicks Report
  • URL-encode special characters — spaces, &, = inside sub-ID values must be percent-encoded (%20, %26, etc.)
  • Check caps before pushing volume — if a campaign has a daily cap and it's full, your clicks will still be recorded but may not convert
Rate this article
★★★★★
Thanks for rating!

Was this article helpful?