Tracking, Tag, and S2S
Affiliate projects support redirect tracking, browser tag conversion tracking, and server-to-server postbacks.
Partner Tracking URL
Partners receive a URL in this format:
https://ads.mcv.network/aff/{trackingCode}
When opened, MCV records an AffiliateClick and redirects to the advertiser destination URL with UTM parameters plus:
mcv_aff={trackingCode}
mcv_click_id={clickId}
Advertisers should store mcv_click_id when possible. It gives stronger attribution than tracking code alone.
Browser Tag Endpoint
Use the browser tag endpoint for simple client-side conversion reporting:
https://ads.mcv.network/affiliate/tag/{projectSlug}?tracking_code={trackingCode}&event_type=qualified_lead&external_id=lead_123
Accepted parameters:
| Parameter | Required | Description |
|---|---|---|
tracking_code | Required unless click_id is sent | Partner tracking code. |
click_id | Required unless tracking_code is sent | Click ID from mcv_click_id. |
event_type | Yes | qualified_lead or sale. |
external_id | Recommended | Advertiser-side lead/order ID for idempotency. |
sale_amount | Sale only | Sale amount in project currency. |
The tag endpoint returns a 1x1 GIF by default. Add format=json to receive a JSON response.
Server-to-Server Postback
Use S2S when the advertiser backend can report conversions directly.
POST https://ads.mcv.network/affiliate/s2s/{projectSlug}
Payload:
{
"tracking_code": "aff_1_2_partner",
"click_id": "clk_...",
"event_type": "sale",
"external_id": "order_1001",
"sale_amount": "100.00",
"signature": "..."
}
S2S Signature
Build the signature payload in this exact order:
tracking_code|click_id|event_type|external_id|sale_amount
Then sign it with the affiliate project postback secret:
signature = HMAC_SHA256(payload, postback_secret)
Requests with invalid signatures return 403.
Idempotency
Send a stable external_id for each lead or order. MCV stores one conversion per project and external_id, preventing duplicate payouts for repeated postbacks.