term.works

Docs · For advertisers

Conversion tracking

Attribute signups, installs, and purchases on your own site back to the TermWorks clicks you paid for.

Conversion tracking closes the ROI loop: it ties a signup, install, or purchase on your site back to the exact TermWorks click that drove it — no cookies, and nothing that identifies the developer.

How it works

  1. When a developer clicks your campaign link, we redirect them to your destination URL with a tw_click parameter appended, e.g. https://you.com/landing?tw_click=8f3c….
  2. Read that tw_click value on your landing page and carry it through your funnel (a hidden form field, a cookie, your session — whatever you already do).
  3. When the visitor converts, tell TermWorks — either with a server-side postback (recommended) or a 1×1 pixel.

We resolve tw_click → click → campaign → advertiser on our side. You never have to send us anything about who the developer is.

Option A — server postback (recommended)

From your backend, when a conversion happens:

POST https://term.works/api/v1/conversions
Content-Type: application/json

{
  "tw_click": "8f3c…",        // the value from the landing URL
  "event": "signup",          // optional label: signup | purchase | install | …
  "value_cents": 4900,        // optional order/lead value, in cents
  "dedup_key": "order-12345"  // optional idempotency key (e.g. your order id)
}

A 200 {"ok":true} means it was recorded. Knowing a valid tw_click is the credential, so no API key is required — but keep your click ids server-side where you can.

This is the most reliable method: it can't be blocked by ad blockers and fires even if the browser closed.

Option B — tracking pixel

If you can only drop an image on a thank-you page, use the pixel:

<img src="https://term.works/api/v1/conversions/pixel?tw_click=8f3c…&value_cents=4900&dedup_key=order-12345"
     width="1" height="1" alt="" />

The pixel always returns a transparent GIF, so a bad or missing tw_click never shows a broken image.

Avoiding double-counting

Pass a dedup_key that's unique per conversion (your order or signup id is perfect). A retried postback or a reloaded thank-you page carrying the same dedup_key is ignored, so a conversion is only ever counted once. Conversions sent without a dedup_key are always recorded — so only omit it for events you genuinely want to count every time.

Where results show up

  • Campaign detail — conversions, conversion rate (per click), and total conversion value, plus a daily breakdown.
  • Advertiser dashboard — a lifetime conversions total across all your campaigns.
  • Weekly report — conversions and conversion rate for the week.

Questions

Email hello@term.works — a real person reads every message.

Still need help? hello@term.works