This method is for click tracking only. It does not apply to impression tracking or smart link tracking.
When to use server-side clicks
- Your environment does not support JavaScript (email, SMS, native apps, server-to-server flows)
- You need to record clicks from a backend service before redirecting the user
- You want full control over when and how clicks are created
Creating a click
Make a GET request to your tracking domain’s/clk endpoint to receive a JSON response instead of a redirect:
Required parameters
| Parameter | Type | Description |
|---|---|---|
oid | integer | The offer ID |
affid | integer | The affiliate ID |
Optional parameters
You can append any of the standard Everflow tracking parameters to the click URL. Common ones include:| Parameter | Type | Description |
|---|---|---|
sub1 – sub5 | string | Sub-placement tracking values |
source_id | string | Traffic source identifier |
uid | integer | Offer URL ID (extra destination URL) |
creative_id | integer | Creative identifier |
coupon_code | string | Coupon code for click-level attribution |
fbclid | string | Facebook click ID |
gclid | string | Google Ads click ID |
idfa | string | Apple Identifier for Advertisers (format: 8-4-4-4-12) |
google_aid | string | Google Advertiser ID for mobile tracking |
android_id | string | Android device ID |
Response
| Field | Type | Description |
|---|---|---|
transaction_id | string | The unique transaction ID for this click, used for conversion attribution |
oid | integer | The offer ID that was passed in |
aid | integer | The affiliate ID that was passed in |
session_duration | integer | The session duration in hours for this offer |
error_code | integer | 0 indicates success |
Examples
Python
cURL
PHP
Using the transaction ID
Once you have thetransaction_id, pass it when firing a conversion to attribute it back to this click. You can fire conversions via the JavaScript SDK, the Network API, or a server-side postback.