Click links

How an offer's click_url works: the parameters, what is checked when it is opened, repeat clicks, and the reasons a user can be turned away.

Every offer in the offers API has a click_url. Open it when your user takes the offer, in the system browser or an in-app browser.

https://cashadmedia.com/click/{id}?publisher_id={your account}&user_id={your user's ID}

If you didn't pass user_id to the API, the link ends in the literal text {user_id}. Replace it with the user's ID, URL-encoded, before opening it. A link that still contains {user_id} is refused.

What happens when it is opened

  1. We check the offer is still live and still visible to you, and that your account is approved.
  2. We check the user against the offer: their country (from their IP), their device, and the offer's daily cap.
  3. We record the click and give it a click ID.
  4. We redirect the user to the advertiser, with the click ID in the advertiser's tracking link.

The advertiser's own tracking link never appears in the API or in your app.

Repeat clicks

If the same user opens the same offer from your account again within an hour, they reuse the first click ID rather than creating a new click. Link preview bots, such as the ones chat apps use to show a preview, are not counted as clicks.

When a user is turned away

Instead of the advertiser, the user lands on a short page that explains why. The reasons:

ReasonWhat happened
EndedThe offer ended, was paused, or is no longer available to your account.
CountryThe offer doesn't run in the user's country, or the country couldn't be determined.
DeviceThe offer is for another platform, e.g. an iOS app opened on Android. Web offers open on any device.
CapThe offer reached its daily limit. It opens again at midnight UTC.
LinkThe link is incomplete: no publisher or user ID.

Refreshing your cached offer list every few minutes keeps these rare.

The user's country is read from their connection, not from the country you passed to the API. Users on a VPN may be turned away from offers that don't run where their VPN exits.