Guide

Click Tracking & Postbacks

How every click is captured, enriched, and how server-to-server postbacks close the attribution loop.

How click tracking works

When a visitor hits your short link, clicksdk performs a redirect in under 100 ms and simultaneously records a click event. Each event captures:

  • Timestamp — millisecond-precision UTC timestamp
  • Click ID — a unique, opaque ID for the event (used in postbacks)
  • IP (hashed) — one-way hashed; the raw IP is never stored
  • User-agent — parsed into device type, OS, and browser
  • Referrer — the page the visitor came from
  • Country & City — inferred from the IP via edge geolocation
  • Bot score — 0–100 confidence that the click is automated traffic

Bot filtering

clicksdk applies multi-layer bot detection on every click before persisting the event:

  • IAB/ABC exclusion list — known crawler and spider user-agents are rejected outright.
  • Headless browser signals — missing browser headers and known headless fingerprints are scored.
  • Rate limiting — more than 10 clicks from the same hashed IP in 60 seconds triggers a bot flag.
  • Data center ASN — traffic from known hosting and proxy ASNs is scored.

A bot confidence score (0–100) is stored with every click and visible in the Logs view. Clicks scoring above 70 are excluded from dashboard charts by default. You can adjust the threshold in Settings.

Query parameter passthrough

Any query parameter appended to your short link is recorded with the click event:

https://linkwi.sh/nike-offer?source=email&campaign=black-friday

In the link editor you can configure which parameters are passed through to the destination URL. Passthrough is opt-in per parameter — parameters you don't explicitly enable are recorded but not forwarded.

Click ID passthrough

Some affiliate networks require you to pass their click ID through your redirect so they can deduplication conversions server-side. Add the network's click ID macro to your link's destination URL:

https://partner.example.com/offer?aff_click_id={click_id}

clicksdk replaces {click_id} with the generated click ID at redirect time. The same ID is then forwarded back to you via postback.

Postback (S2S) setup

Server-to-server postbacks let an affiliate network notify clicksdk when a conversion (sale, lead, install) is confirmed, without relying on browser cookies or pixels.

Your postback URL

Each account has a unique postback URL — find yours in the link editor under the Postbacktab. The URL below is an example only; replace placeholders with the network's own macro syntax:

https://api.clicksdk.com/postback?account={YOUR_ACCOUNT_ID}&click_id={CLICK_ID}&payout={PAYOUT}&currency={CURRENCY}

Supported query parameters:

  • click_id required — the click ID previously passed to the network
  • payout — decimal amount of the conversion (e.g. 12.50)
  • currency — ISO 4217 currency code (e.g. USD)
  • statusapproved | pending | rejected

Link-level postback override

You can also configure a postback URL per-link in the link editor under the Postback tab. This overrides the account-level postback URL for that specific link. Use link-level postbacks when different campaigns use different networks.

Postback requests are validated for authenticity. Requests missing a valid click_id are rejected with a 400 response.