Skip to content
Docs

Getting started

Tracking link styles

Native, numeric and the compatibility styles for TUNE, Everflow, Trackier, Affise, CAKE and app links, plus impressions and SmartLinks.

Every tracking domain accepts every style below, so old links keep working after a migration. The parser is table-driven (packages/go-shared/linkcodec) and normalises each style to the same canonical parameters before anything else happens. You choose which style to hand out with the style field of the link builder.

Styles

StyleClick URLImpression URLNotes
native/c/{offer_hash}/{partner_hash}/i/{offer_hash}/{partner_hash}Short opaque ids (hash_id). The default.
numeric/click?o={offer}&p={partner}/imp?o=...&p=...For partners who prefer numeric ids; offers can restrict the allowed format (allowed_tracking_link_format: numeric_id, unique_id, both).
trackier/click?campaign_id={offer}&pub_id={partner}Trackier-compatible; p1..p15, source, sub_source, gaid, idfa, url, url_id, prl and friends are understood.
everflow/?oid={offer}&affid={partner} or /{offer}/{partner}/ on a domain set to the Everflow stylesub1..sub10, source_id, creative_id, uid, __cc, transaction_id, _ef_transaction_id, alt_tid.
tune/aff_c?offer_id={offer}&aff_id={partner}/aff_i?... (and /aff_l)aff_sub..aff_sub5, aff_click_id, file_id, url_id.
affise/click?offer_id={offer}&pid={partner}sub1.., clickid.
cake/click?c={offer}&a={partner}s1.., a is the affiliate and c the campaign.
app/a/{app_hash}/{link_token}/a/i/{app_hash}/{link_token}Mobile app attribution links; see apps and install attribution.

Other path families on the native style:

PathPurpose
/s/{smartlink_hash}/{partner_hash} or /s/{smartlink_hash}?p={partner_hash}A SmartLink.
/u/{code}Universal links and deep links; see deep links.
/p, /postback, /conversion, /px.gifConversion endpoints. They live on the ingest host, see tracking methods.

Legacy styles map their ids through the tracking domain's legacy_id_map, so an old numeric Trackier campaign id resolves to the new offer. Set a domain's legacy style when you migrate; see migration.

Whatever the style, the same parameter registry applies: sub1 to sub15 (also p1, aff_sub, s1 ...), source, sub_source, creative, campaign_ext, adgroup, label, device ids, platform click ids (gclid, fbclid, ttclid, ...), utm_*, consent strings and more. The full alias table is generated in the macros and parameters reference. Unknown parameters are kept (as custom parameters) rather than dropped.

Useful control parameters:

ParameterEffect
test=1Marks the click as test traffic: stored and visible in the logs (is_test), but excluded from reports and never posted to the ledger.
url= (also dl, deeplink)Deep-link override, only when the offer allows it and the domain is on its allow-list.
url_id / lp_idChoose a landing page instead of the weighted pick.
ip= / ua=Override the visitor IP and user agent for server-to-server clicks, honoured only for partners flagged to allow overrides.
  • Admin portal: Traffic, Link builder (all styles, sub1 to sub10, QR code, pixels; the edge itself accepts sub1 to sub15).
  • Partner portal: the offer page and the creative gallery generate links with the partner's ids.
  • Programmatically: build /c/{offer.hash_id}/{partner.hash_id} yourself (see the quickstart), or use the tracking-link operations in the offers and SmartLinks references.
  • POST /tools/encode and POST /tools/decode convert between styles and show how a link is parsed; the admin Traffic, Encode & macros page wraps them.