Quick start
Ten-minute setup — tracking domain, tracking link, Google Ads template, first conversion, first fraud score.
Updated 2026-09-02
This walkthrough gets a Google Ads campaign flowing through WhichClick end to end. Everything can also be done through the MCP server or the REST API.
1. Create an account and an API key#
Sign up at https://app.whichclick.is/register, create a project (organization) and open Settings → API keys. Keys look like wc_live_… and are shown once. Send them as Authorization: Bearer wc_live_….
curl -s https://app.whichclick.is/api/v1/clicks?limit=1 \
-H "Authorization: Bearer wc_live_xxxxxxxx"
# → {"data":[]}2. Add a tracking domain#
Use a subdomain of your final-URL domain (for example go.yourbrand.com). Add it under Domains, then create the DNS records the dashboard shows:
| Record | Name | Value |
|---|---|---|
| CNAME | go.yourbrand.com | edge.whichclick.is |
| TXT | _whichclick.go.yourbrand.com | wc-verify=<token from the dashboard> |
Click Verify. TLS is issued automatically once the CNAME resolves. Details: Tracking domains.
3. Create a tracking link#
A tracking link binds a slug to a domain and a default final URL. The default is used only when a request has no visible url= parameter; Google traffic always carries one.
Per Google's guidelines the visible url parameter wins over anything configured in the backend.
Create it in Tracking links → New, or with the MCP tool create_tracking_link. The dashboard shows the generated tracking template immediately.
4. Paste the tracking template into Google Ads#
https://go.yourbrand.com/c/brand-search?url={escapedlpurl}&force_transparent=true&gclid={gclid}&campaignid={campaignid}&adgroupid={adgroupid}&creative={creative}&keyword={keyword}&matchtype={matchtype}&network={network}&device={device}&targetid={targetid}&loc_physical_ms={loc_physical_ms}utm_source=google&utm_medium=cpc&utm_campaign={campaignid}&gclid={gclid}Keep your landing page as the final URL. Details and nesting rules: Tracking template.
5. Test the redirect#
curl -sI "https://go.yourbrand.com/c/brand-search?url=https%3A%2F%2Fyourbrand.com%2F%3Fx%3D1&force_transparent=true&gclid=TEST" | grep -i -E "^(HTTP|location|cache-control)"
# HTTP/2 302
# location: https://yourbrand.com/?x=1&gclid=TEST&wc_click_id=k3Zp9Qw1mR7tXc2b
# cache-control: no-storeThe location must be exactly the url value plus wc_click_id. The click appears in Clicks within a second, with its fraud verdict a moment later.
6. Send a conversion#
Store wc_click_id from the landing-page URL (the web snippet whichclick.js does this for 7 days) and fire a postback when the user converts:
curl "https://app.whichclick.is/postback?api_key=wc_live_xxxxxxxx&click_id=k3Zp9Qw1mR7tXc2b&event=purchase&value=49.90¤cy=USD&order_id=ORD-1001"
# → {"ok":true,"id":"clx…","matched":true}Conversions are idempotent on order_id + event. See Postbacks.
7. Turn on protection#
Add the engagement beacon to your landing pages so behavioural signals feed the risk score:
<script async src="https://app.whichclick.is/wc.js" data-endpoint="https://app.whichclick.is/api/protect/beacon"></script>Then connect Google Ads under Protect → Rules & Google Ads API so invalid IPs become negative IP criteria automatically. See Protection overview.
Next steps#
- Mobile app? Create an app under Apps & SDK, then read Smart links and the SDK guide.
- Import spend for CPI / ROAS: Cost import & sync.
- Before applying to Google's certified list: Compliance checklist.