curl --request PUT \
--url https://api.interchange.io/api/v2/buyer/advertisers/{advertiserId}/tracking-config \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{}'import requests
url = "https://api.interchange.io/api/v2/buyer/advertisers/{advertiserId}/tracking-config"
payload = {}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.interchange.io/api/v2/buyer/advertisers/{advertiserId}/tracking-config', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"advertiser_id": "12345",
"enabled_macros": [
"CAMPAIGN_ID"
],
"custom_macros": [
{
"name": "UTM_SOURCE",
"param_key": "utm_source",
"description": "Identifies the traffic source for UTM tracking"
}
],
"impression_tracker_enabled": true,
"click_tracker_enabled": true,
"custom_tracker_urls": [
{
"tracker_id": "trk_0123456789abcdef01234567",
"name": "DoubleVerify Impression",
"url": "https://tracker.doubleverify.com/pixel?id=123",
"tracker_type": "IMPRESSION",
"raw_url": "<string>",
"enabled": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"custom_event_name": "<string>",
"vendor_name": "HappyDemics",
"gvl_vendor_id": 550,
"source_dialect": "adcp",
"compiler_version": "<string>",
"mapping_artifact": {}
}
],
"revision": 4503599627370495,
"created_at": "2025-01-15T10:30:00Z",
"updated_at": "2025-01-20T14:45:00Z"
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}Update advertiser tracking configuration
Replace selected advertiser-level macro and tracker settings. Trackers are inherited by campaigns by stable ID; return tracker_id on subsequent updates to preserve identity.
curl --request PUT \
--url https://api.interchange.io/api/v2/buyer/advertisers/{advertiserId}/tracking-config \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{}'import requests
url = "https://api.interchange.io/api/v2/buyer/advertisers/{advertiserId}/tracking-config"
payload = {}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.interchange.io/api/v2/buyer/advertisers/{advertiserId}/tracking-config', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"advertiser_id": "12345",
"enabled_macros": [
"CAMPAIGN_ID"
],
"custom_macros": [
{
"name": "UTM_SOURCE",
"param_key": "utm_source",
"description": "Identifies the traffic source for UTM tracking"
}
],
"impression_tracker_enabled": true,
"click_tracker_enabled": true,
"custom_tracker_urls": [
{
"tracker_id": "trk_0123456789abcdef01234567",
"name": "DoubleVerify Impression",
"url": "https://tracker.doubleverify.com/pixel?id=123",
"tracker_type": "IMPRESSION",
"raw_url": "<string>",
"enabled": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"custom_event_name": "<string>",
"vendor_name": "HappyDemics",
"gvl_vendor_id": 550,
"source_dialect": "adcp",
"compiler_version": "<string>",
"mapping_artifact": {}
}
],
"revision": 4503599627370495,
"created_at": "2025-01-15T10:30:00Z",
"updated_at": "2025-01-20T14:45:00Z"
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}Authorizations
API key or access token
Path Parameters
Unique identifier for the advertiser
1"12345"
Body
Request body for creating or updating advertiser tracking configuration
Last-read revision. Rejects concurrent tracking configuration updates.
0 <= x <= 9007199254740991System macros the advertiser wants enabled on all tracking pixels, beyond the required defaults
50A valid system macro name for tracking pixels
CAMPAIGN_ID, CREATIVE_ID, TRACKING_TAG_ID, DATA_SET_ID, TACTIC_ID, MEDIA_BUY_ID, SALES_AGENT_ID, ATTRIBUTION_TRACKING_ID, DEVICE_ID, DEVICE_ID_TYPE, CACHEBUSTER, GDPR, GDPR_CONSENT, US_PRIVACY, LIMIT_AD_TRACKING, DEVICE_TYPE, OS, OS_VERSION, DEVICE_MAKE, DEVICE_MODEL, APP_BUNDLE, APP_NAME, COUNTRY, REGION, CITY, ZIP, DMA, LAT, LONG, PLACEMENT_ID, FOLD_POSITION, AD_WIDTH, AD_HEIGHT, VIDEO_ID, VIDEO_TITLE, VIDEO_DURATION, VIDEO_CATEGORY, CONTENT_GENRE, CONTENT_RATING, PLAYER_WIDTH, PLAYER_HEIGHT, POD_POSITION, POD_SIZE, AD_BREAK_ID, AXEM, TIMESTAMP ["CAMPAIGN_ID", "CREATIVE_ID", "DEVICE_TYPE"]
Advertiser-defined custom macros (e.g., UTM parameters). Maximum 20 items.
20Show child attributes
Show child attributes
Whether impression tracking is enabled for this advertiser (defaults to true on first create)
Whether click tracking is enabled for this advertiser (defaults to true on first create)
Additional third-party tracker URLs for impressions, clicks, or custom events. Maximum 10 items.
10Show child attributes
Show child attributes
Response
Update advertiser tracking configuration
Response containing tracking configuration
Full tracking configuration for an advertiser
Show child attributes
Show child attributes