Endpoint
c. The campaign must belong to your partner account, and the advertiser must have turned on S2S clicks for you.
Parameters
Send all parameters as URL-encoded query parameters. Each value is limited to 256 characters.
Every click needs at least one of
gaid, idfa or a public ip. A device ID matches the install exactly; an IP alone matches probabilistically.
If both a name and its alias are sent, the name wins. redirect, pid, af_siteid and af_lang are ignored, so an AppsFlyer S2S template works once the host and c are changed.
Linkrunner never uses the IP address or user agent of the request itself, because those belong to your server.
Responses
The response is always JSON, never a redirect.click_id is Linkrunner’s ID for the click. It is the same for every retry of the same tid on the same campaign. To match an Android install exactly without a device ID, open the Play Store with referrer=lr_ia_id%3D<click_id>.
Status codes
Examples
Retries and deduplication
The sametid on the same campaign always maps to the same click_id, and the click is stored once, so it is safe to retry. Retry only 429 and 503, after the delay in the Retry-After header. Keep tid unique per campaign for good: a reused tid is treated as a retry of the earlier click, so the new click is not recorded.