WhichClick documentation

Google-certified click tracking, mobile attribution (MMP) and click-fraud protection — one click record, one API, one dashboard.

Updated 2026-09-02

WhichClick sits between an ad click and your landing page or app. It records the click with every ValueTrack macro, redirects transparently in a single 302, attributes installs and conversions back to that click, and scores each click for fraud. Everything below is available to humans as HTML and to agents as Markdown, OpenAPI and MCP.

Products at a glance#

ProductWhat it doesEntry points
TrackGoogle Ads transparent click tracker: visible url= next hop, force_transparent=true, one first-party click id, no JS / cookies on the redirect path.GET /c/{slug}, tracking template, ValueTrack capture
AttributeSmart links with geo / OS / IP routing, deferred deep links, SDKs for iOS, Android, React Native, web and CTV, an attribution waterfall from click id to SKAdNetwork.GET /l/{slug}, POST /api/sdk/v1/*, POST /api/skan/postback
ProtectAsynchronous risk scoring per click (VPN / proxy / Tor / datacenter, bots, device-UA consistency, frequency, gclid replay, engagement beacon), auto blocklist and Google Ads negative-IP sync.wc.js, POST /api/protect/beacon, GET /api/protect/export
Growth suiteImpressions and view-through, subscriptions and ad revenue, re-engagement and uninstalls, alerts and audiences, TV / CTV, geo-lift and MMM, Privacy Sandbox.POST /api/v1/impressions, /api/subscriptions/*, /.well-known/attribution-reporting/*

Base URLs#

PurposeURL
Control plane (dashboard, REST API, SDK endpoints, webhooks, MCP)https://app.whichclick.is
Tracking domain (redirects and pixel)https://go.whichclick.is — or your own subdomain via CNAME to edge.whichclick.is
Documentationhttps://app.whichclick.is/docs

How the pieces fit#

Request flow
Google Ads click
  └─▶ https://go.yourbrand.com/c/brand-search?url={escapedlpurl}&force_transparent=true&gclid=…
        ├─ 302 → https://yourbrand.com/landing?gclid=…&wc_click_id=k3Zp9Qw1mR7tXc2b   (< 10 ms, no DB write)
        └─ async: enrich (geo, IP pool, UA) → fraud score → Postgres (batched)

Landing page / app
  ├─ wc.js beacon ──────────────▶ POST /api/protect/beacon   (engagement + device consistency)
  ├─ web conversion ────────────▶ GET  /postback?click_id=…&event=purchase&value=49.9
  └─ mobile install (SDK) ──────▶ POST /api/sdk/v1/install   → attribution waterfall → deferred deep link

Where to start#

All pages#

Getting started#

  • Overview — What WhichClick is, how the products fit together and where to start.
  • Quick start — Ten-minute setup: tracking domain, tracking link, Google Ads template, first conversion.
  • Core concepts — Organizations, domains, campaigns, tracking links, smart links, apps, clicks, installs and conversions.
  • Authentication & limits — API keys, SDK keys, HMAC ingest, rate limits and error format.
  • Transparency contract — Exact behaviour of the certified redirect endpoint GET /c/{slug}.
  • Tracking template — Recommended tracking template and final URL suffix, lpurl macros and nesting.
  • ValueTrack reference — Every ValueTrack macro WhichClick captures and the column it lands in.
  • Tracking domains — CNAME setup, verification, TLS and Google certification of subdomains.
  • Compliance checklist — Self-test before submitting a domain to Google's certified click tracker list.

Mobile attribution#

  • Smart links — GET /l/{slug}: OS routing, store redirects, Install Referrer, deferred deep links.
  • Routing rules — Rule JSON schema, fields, operators, actions and evaluation order.
  • Attribution methods — The attribution waterfall, lookback windows, view-through and re-attribution.
  • Mobile & web SDKs — iOS, Android, React Native, web and CTV SDKs, consent gate and the install/events contract.
  • SKAdNetwork — SKAN 4 postback ingestion and conversion-value schemas.

Conversions & data#

  • Postbacks — Inbound server-to-server postback, idempotency and outbound postback templates.
  • Partner integrations — OAuth and manual connections, live verification, delivery log, test events and failure handling.
  • Cost import & sync — Daily spend upload and automatic cost sync from Google, Meta, TikTok, Apple, AppLovin, Unity, ironSource and Mintegral.
  • Exports & reporting — Click and conversion exports, pivot reports, cohorts and offline conversion import.

Click protection#

Growth suite#

  • Impressions & view-through — Impression API, 1×1 pixel, VAST tags, view-through and household matching.
  • Subscriptions — App Store Server Notifications v2, Play RTDN, SDK linking, MRR and churn.
  • Ad revenue — Impression-level ad revenue from AdMob, MAX and ironSource into LTV/ROAS.
  • Re-engagement & uninstalls — Deep-link re-open attribution, silent-push uninstall and reinstall tracking.
  • Alerts & audiences — Threshold and anomaly alerts, audience segments, CSV/webhook/Meta/TikTok activation.
  • TV & CTV — Linear TV spike attribution, CTV impressions and connected-TV platforms.
  • Incrementality & MMM — Geo-lift experiments and marketing-mix modelling.
  • Privacy Sandbox — Attribution Reporting API endpoints for Android and Chrome.

Platform#

  • IPv4 / IPv6 pool — CIDR intelligence pool, classifications, sources and tenant ranges.
  • Scale & edge — Edge worker, KV, queues, Redis streams, batched ingest and rollups.
  • Self-hosting — Environment variables, database setup, workers, scheduler and verification suite.

API reference#

  • REST API reference — Every public endpoint with parameters, bodies and responses. Also available as OpenAPI.
  • Errors & idempotency — Status codes, validation error shape, retries and idempotent writes.

For AI agents#

  • Agent-ready docs — llms.txt, Markdown endpoints, OpenAPI and how an agent should navigate WhichClick.
  • MCP server — Connect Claude, Cursor, VS Code or any MCP client to WhichClick's tools, resources and prompts.
  • Agent recipes — Step-by-step playbooks an agent can follow: set up Google Ads tracking, investigate fraud, build a smart link.