Skip to main content
Affiliate partners use this endpoint to report an ad impression shown on a connected TV, so Linkrunner can credit an Android or iOS install from the same household IP address. For the setup guide and the attribution rules, see Connected TV (CTV) Impressions.

Endpoint

The advertiser is identified by the app ID (or the tracking link’s domain) and the campaign by c. The campaign must belong to your partner account. S2S traffic, view-through and CTV must all be on for you on this app. The advertiser turns them on.

Authentication

Every request must carry your partner token, the same one you use for S2S clicks and S2S impressions. Send it in a header:
If your ad server can only fire URLs, send it as the lr_token query parameter instead: &lr_token=<your_token>. Linkrunner removes lr_token before it stores the impression, so it never appears in reports or postbacks. A request without a valid token is rejected with 401.

Parameters

Send all parameters as URL-encoded query parameters. Each value is limited to 256 characters. gaid and idfa are not read on this endpoint. If your impressions carry the phone’s advertising ID, send them to the S2S Impression API instead. If both a name and its alias are sent, the name wins. pid, af_xplatform and redirect are ignored.

Responses

The response is always JSON.
impression_id is Linkrunner’s ID for the impression. It is the same for every retry of the same tid on the same campaign.

Status codes

Examples

The examples read your token from the LINKRUNNER_S2S_TOKEN environment variable.

Retries and deduplication

The same tid on the same campaign always maps to the same impression_id, and the impression is stored once, so it is safe to retry. CTV impression IDs are separate from /v1/impression ones, so the same tid on both endpoints does not collide. Retry only 429 and 503, after the delay in the Retry-After header. Keep tid unique per impression: a reused tid is treated as a retry of the earlier impression, so the new one is not recorded.