Advertiser Reporting API
Use Cases
The API described on this page is for fetching reports.
All dates and data are calculated in the EST timezone.
All monetary values are in dollars as decimals.
Please allow for long timeouts for each request as responses are not instant.
Reports are updated approximately every half hour, so requesting the same report within that timeframe will return the same result set.
API
Method: GET
Base URL: https://api.adgatemedia.com/v1/advertiser/report
Required Parameters
Parameter | Description | Type | Example |
adv | Your advertiser ID. Can be found on the Reporting API page. | Integer |
|
api_key | Your API key. Can be found on the Reporting API page. | String |
|
start_date | Start date of report in mm-dd-YYYY format | String |
|
end_date | End date of report in mm-dd-YYYY format | String |
|
Optional Parameters
Data Column Grouping
The data columns to display and group data by.
Example: &data[]=offer_id&data[]=aff_id.
Value | Description |
aff_id | The affiliate/publisher ID |
offer_id | AdGate's internal offer ID (default) |
offer_event | Offer event name* |
source | The ID for this affiliate's traffic source |
country | Country |
is_mobile | Is mobile or tablet traffic (boolean) |
browser | Browser |
os | Operating System |
device | Device |
s1 | SubID 1 |
s2 | SubID 2 |
s3 | SubID 3 |
s4 | SubID 4 |
s5 | SubID 5 |
(*) Offer events: because the offer event is only known upon conversion and does not apply to clicks, the click counts are duplicated for each offer event. For example, if an offer gets 10 clicks, each offer event in the report will display 10 clicks. Furthermore, if there are only clicks and no conversions, expect the offer_event to be null
. We may remove results without conversions in the future.
Date Interval Grouping
Group response by specific time periods.
Example: &intervals[]=m&intervals[]=dt
Value | Description |
m | Month |
dt | Day |
h | Hour |
Filters
Request to only include reports that match certain criteria. Separate multiple values for each filter using commas.
Example: &filters[offer_id]=11045,112340
Value | Description |
offer_id | Filter by specified offer IDs |
country | Filter by specified countries using ISO standards (&filters[country]=US,GB) |
s1 | Filter by SubID 1 |
is_mobile | Filter by mobile/tablet traffic. Use |
Additional Data
Optional data that can be added to the response.
Example: &options[]=impressions&options[]=cpm
Value | Description |
offer_impressions | Include offer impression data |
user_impressions | Include user impression data |
cpm | Include cost per thousand impressions |
app_id | Include App ID value in addition to offer ID |
offer_wall_position_avg | Include the average position of an offer on the offer wall for the given data set |
Pagination
Parameter | Description | Type | Example |
offset | Starting offset to fetch data, default is 0. | Integer |
|
limit | Number of records to return in one page, default is 10,000, maximum is 20,000 records. | Integer |
|
Response
Note that country abbreviations use the ISO standard, e.g. GB instead of UK.
Sample Response
Errors
Request limit: Only 3 requests are allowed per minute.
Invalid Data: Invalid data field(s) were requested [ &data[]=wrong ].
Invalid Interval: Invalid interval is passed [ &interval[]=month ].
Invalid Options: Invalid option(s) are passed [ &option[]=random ].
Invalid Filters: Invalid filters requested [ &filters['wrong_key']=check ].
Maximum groupings: Maximum 5 data grouping columns are allowed.
Response Fields
Each row may contain any of the following keys and values, depending on the options passed to the API:
aff_id | The affiliate/publisher ID |
offer_id | AdGate's internal offer ID |
offer_name | AdGate's internal offer name |
app_id | Offer's App ID (from Apple AppStore or Google Play) |
source | The ID for this affiliate's traffic source |
country_code | 2-letter ISO Country Code |
is_mobile | Whether the device used was mobile/tablet (boolean) |
browser | Browser used to click the offer |
os | Operating system of the device by which offer was clicked |
device | Device by which offer was clicked |
tool_name | Name of the monetization tool |
s1 | SubID 1 |
s2 | SubID 2 |
s3 | SubID 3 |
s4 | SubID 4 |
s5 | SubID 5 |
m | Month |
dt | Day of month |
h | Hour |
unique_clicks_count | Click count, uniques by IP within the time interval requested |
conversions_count | Number of conversion within the time span requested |
unique_impressions_count | Impressions count, uniques by IP within the time interval requested |
payout_sum | Payout |
ppc | Average payout per click |
conversion_rate | Average conversion rate, as decimal, e.g. 0.023 is 2.3%. |
cpm | Earnings per thousand impressions. |
totalColumns | The calculations here apply only to the current result set.
|
paging | Links to fetch results for the next and previous page.
|
More Examples
URL: https://api.adgatemedia.com/v1/advertiser/report?adv=ADVERTISERID&api_key=APIKEY&start_date=11-22-2020&end_date=12-22-2020&data[]=country&data[]=offer_id&limit=100
This request will group data by (offer_id, country) for the last month, with a limit of 100 results per page. The result set will be empty if there was no traffic during this time period.
Example Response
URL: https://api.adgatemedia.com/v1/advertiser/report?adv=ADVERTISERID&api_key=APIKEY&start_date=2018-01-01&end_date=2018-01-02&options[]=impressions&intervals[]=dt&options[]=cpm&filters[offer_id]=16146,15506
This request will get a date report that includes impressions and CPM data only for offers 16146 and 15506, grouped by day. Rows for each corresponding day are returned even if there was no traffic during that time frame.
Example Response
Last updated