The advertiserReport query endpoint provides deal performance reporting for all deals associated with your TripleLift Account (aka Member), matching the capabilities of Reports for Advertisers in TripleLift Direct.
- Scope: Covers all deals created in your Account
- Capabilities: Filter and group using custom dimensions, metrics, and filter values.
- Required Parameters: buyerMemberId, startDate, endDate
Endpoint Summary
- Use the Synchronous endpoints when querying for low volumes of data, with quick response times
- Use the Asynchronous endpoints when querying for larger volumes of data, returned within 5 minutes
Depending on your needs and workflow, use the query endpoints below to request data:
| Query Endpoint Name | Query Endpoint Type | Description |
|---|---|---|
advertiserReport |
Synchronous | Returns deal performance data, up to 5,000 rows |
advertiserFilterOptions |
Synchronous | Returns all possible filter IDs and values of a dimension, in a given time period, to be used in your queries |
asyncDownloadAdvertiserReport |
Asynchronous | Returns a high volume of data, up to 400MB, within 5 minutes; responds with a pre-signed S3 download link |
asyncDownloadReportStatus |
Asynchronous | Polling endpoint that accepts the pre-signed S3 link from the asyncDownloadAdvertiserReport response and returns the status of your report generation (READY, WAITING, or ERROR) |
asyncEmailAdvertiserReport |
Asynchronous | Returns a high volume of data within 5 minutes, up to 10MB; delivers the final CSV report to a specified list of valid email addresses |
Authentication
Please refer to the steps outlined in the Curation API Guide to obtain a token.
If you do not have credentials to access the Curation API, please contact your TripleLift representative.
advertiserReport
Refer to the GraphQL schema for the most up-to-date information on available options
| Category | Name | Description |
|---|---|---|
| DATE | YMD | Specifies the year, month, and day for data aggregation (YYYY-MM-DD); daily data is available for the past 15 months (UTC) |
| DATE | HOUR | Indicates the hour of the day in UTC for granular reporting. Hourly data is available starting from 00:00 (UTC) yesterday. |
| DEVICE | DEVICE_TYPE | Device category (desktop, mobile, tablet, CTV) |
| DEVICE | DEVICE_SUBTYPE | More specific classification of the device type. |
| DEVICE | DEVICE_VENDOR | The manufacturer of the device. |
| DEVICE | OS | The operating system running on the device. |
| DEVICE | BROWSER | The browser used by the consumer. |
| GEO | COUNTRY_NAME | The geographic country where the ad request originated. |
| GEO | DMA | Designated Metro Area (DMA), from the ad request |
| GEO | REGION | Geographic subdivisions defined by the International Organization of Standardization (ISO) |
| GEO | SECTOR | The geographic sector or continent where the ad request originated. |
| INVENTORY | APP_BUNDLE_ID | Unique identifier for a mobile or CTV application. |
| INVENTORY | DOMAIN | The web domain, mobile app bundle ID, or CTV app bundle ID where the ad was served. |
| INVENTORY | PUBLISHER_ID | Unique identifier for the publisher entity. This is the sellers.json identifier. |
| INVENTORY | PUBLISHER_NAME | The descriptive name of the publisher. |
| INVENTORY | AD_SIZE | Height & width fields in the oRTB Supplier Bid Response, which dictate the size of the ad container allocated by the publisher ad server |
| INVENTORY | SUPPLY_SOURCE | Describes the supply integration (Direct, Prebid, etc) with TripleLift. |
| INVENTORY | SUPPLY_TYPE | Describes whether the supply was web or app. |
| BUYER | DSP | Demand side platform. |
| BUYER | DSP_SEAT_ID | Identifier for the demand-side platform seat. |
| BUYER | BRAND | The brand advertised in the creative. |
| BUYER | BRAND_DOMAIN | The adomain declared in the bid response, typically the primary website associated with the brand. |
| BUYER | PARENT_BRAND_NAME | The company that owns the brand; may be the same as brand. |
| DEAL | DEAL_CODE | Specific code for a deal. |
| DEAL | DEAL_NAME | Descriptive name for a deal. |
| DEAL | DEAL_TYPE | Describes the type of deal (e.g. programmatic guaranteed, private marketplace or PMP, etc.). |
| CREATIVE | AD_SOLUTION | TripleLift advertising solution; may include a combination of format, connection type, video placement &/or template. |
| CREATIVE | FORMAT | TripleLift ad format name. |
| CREATIVE | EXTERNAL_CREATIVE_ID | Identifier for the demand-side creative. |
| CREATIVE | CREATIVE_ASSET_ID | A unique ID for the specific creative asset used in an ad. |
| CREATIVE | CREATIVE_DURATION | Measured length of time, expressed in seconds, that a non-static ad creative is intended to be displayed or played to a user, as submitted by the advertiser or creative source. |
| METRIC | AD_REQUESTS | The total number of requests made for an ad to be served (fka Impressions). |
| METRIC | BID_REQUESTS | The total number of bid requests sent to demand platforms; this number is estimated. |
| METRIC | BID_RESPONSE_RATE | Bid Response Rate, (Bid Responses / Bid Requests) |
| METRIC | BID_RESPONSES | The total number of bid responses received from demand platforms; this number is estimated. |
| METRIC | BILLABLE | The total number of ad requests that resulted in a billable event. |
| METRIC | CLICKS |
The number of times consumers interacted with the ad by clicking.
TripleLift captures clicks in reporting based on a couple of key factors: the ad format and the buyer (DSP).
|
| METRIC | CPC | Cost per click (Spend / Clicks) |
| METRIC | CPCV | Cost per completed view (Spend / Video Completions) |
| METRIC | CTR | Click-through rate, (Clicks / Rendered) |
| METRIC | ECPM | Effective cost per mille (Spend / Billable) * 1000 |
| METRIC | FILL_RATE | Percentage of ad requests that resulted in a rendered ad (Rendered / Ad Requests) |
| METRIC | RENDER_RATE | Rendered Rate, (Renders / Wins) |
| METRIC | RENDERED | The total number of ad requests that resulted in an ad being shown. |
| METRIC | DEAL_SPEND | Advertising spend, excluding Added Value |
| METRIC | POST_AUCTION_DISCOUNT | Post Auction Discount (aka PAD), (Gross Spend - Deal Spend) |
| METRIC | TOTAL_AD_SPEND | Ad spend, including Added Value (aka Post Auction Discount or PAD), Unadjusted Spend (aka Spend, pre-PAD) |
| METRIC | TL_BID_RATE | Percentage of ad requests that TripleLift submitted to a publisher auction (TL Wins / Ad Requests) |
| METRIC | TL_WINS | The total number of ad requests that resulted in a won auction with TripleLift (prior to downstream, publisher auction) |
| METRIC | VCR | Video Completion Rate, (Video Completions / Video Starts) |
| METRIC | VIDEO_COMPLETIONS | The number of times a video ad played to its end. |
| METRIC | VIDEO_STARTS | The number of times a video ad began playing. |
| METRIC | VIDEO_Q1 | Percentage of video plays reaching the first quartile. |
| METRIC | VIDEO_Q2 | Percentage of video plays reaching the second quartile (50%). |
| METRIC | VIDEO_Q3 | Percentage of video plays reaching the third quartile. |
| METRIC | VSR | Video Start Rate, (Video Starts / Rendered) |
| METRIC | WIN_RATE | Win Rate, (Wins / Bid Responses) |
| METRIC | WINS | The total number of ad requests that resulted in a won auction with the publisher (aka downstream wins). |
advertiserReport Synchronous endpoints
These endpoints are designed to handle queries for low volumes of data and return results with relatively quick response times. When querying for larger volumes of data, use the Asynchronous endpoints.
Pagination
Synchronous endpoint results are paginated to a default page size of 50 rows. The size can optionally be set using the size parameter in a request (the value of which cannot exceed the row limit).
If the number of result rows is greater than the given page size, then the response will also include a nextCursor object, whose value can be passed in as the cursor field of the subsequent request.
When supplying a cursor to receive the next page of data, the user must also resubmit all the other query parameters, in the same order as they were originally passed in.
advertiserReport
Returns reporting data (e.g. the reporting available in the Query Tool of the TripleLift Console or TripleLift Direct).
The advertiserReport query endpoint has a row limit of 5,000. Any response exceeding the limit will only return data up to the limit. Use the asynchronous endpoints for larger reports.
advertiserFilterOptions
Returns all possible filter values of a dimension in a given time period.
The returned filter IDs can be used as the filter values when querying the advertiserReport.
advertiserReport Asynchronous endpoints
These endpoints are designed to handle queries for high volumes of data and return results within 5 minutes. For quicker response times and low volumes of data, use the Synchronous endpoints.
Results from querying the asynchronous endpoints are in the form of a CSV. Refer to the FAQs for tips on parsing the results.
There are two options to obtain a CSV report asynchronously:
- Submit a request to an asynchronous endpoint and immediately receive a report download link. Poll a second endpoint until your report is ready at that download link.
- Submit a request to an asynchronous endpoint and wait to receive an email containing the report.
Currently, CSV reports larger than 400MB will fail. Please refer to the Querying Guidelines section for tips on managing report size.
asyncDownloadAdvertiserReport
This endpoint is used in Option 1, above. This endpoint uses the same parameters as the synchronous advertiserReport endpoint (without the pagination-related fields cursor and size) and responds with a download link in the form of a pre-signed S3 URL.
The pre-signed S3 URL expires 30 minutes after it is returned.
Example request:
query {
asyncDownloadAdvertiserReport(
buyerMemberId: "YOUR_MEMBER_ID"
startDate: "2026-06-15"
endDate: "2026-07-30"
dimensions: [YMD, DEAL_NAME]
metrics: [DEAL_SPEND, RENDERED]
)
}
Example response:
{
"data": {
"asyncDownloadAdvertiserReport": "https://triplelift-reporting-api-downloads.s3.amazonaws.com/9629b338-a654-4f95-ac4f-8b9dfafeb3ca/1735843508921/triplelift_report.csv?X-Amz-Security-Token=IQoJb3JpZ2luXNyF2CRFuvpB430YDTbzZLAIgYBV4T2uFp4np4zZ471RwMNeby0c3%2By3sOTtfYmjRr%2FMqxgUI2%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgwyNTU5OTMwMDUwOTEiDAdZ%2FwDCe8O1dvOekSqaBd9AC9BjQXtHukgmdGomyMnnW5qr72B617Xz976w10EfL3KyOyw9KRD5JSJt8Pz8FrRQ23131xlFF35YmH8OSIlvWWkNfGVJMk0vP8fvc7w99T6fgB5yF2KfMVufwH6Y8lQdd0o5%2BSLvG581NstAl7SzSaEuOIqo0j41qRkueVk2QZGX3t2lkkO4Gqmjq51lU3Oaue7Jl6D%2B%2Bag1%2BFOGGIclN%2BFvxE%2FfBVhLzC3R2GgEsIj2UBe5JMUwdubG9xuwCA09sySJecBcOYknyUT%2FuyLEPZ4IvyshDzZtqYJUW8VjnCFGxLKg5PBj6dcw7rRUVHKxv8PfAkOcyonWQv9yEg5NsDhQnxqJ8bwb9no3aL%2Bdr8EBUeAZhhazilmNpOK87sbg%2BaAxI2o4gIpaTYnAEA4hJpFu1FnNOD8pFMMZzURQaB1Rke4omarL93I7spcpWC20r%2F8vAFu7Ahf9JKt20ZKhx65Kpgvqgw5YjmWITw5K4tJjUpvnW234cuBuiFOwUaHovg%2BG9IjDuDZI5WyLCfKKe8gx3glLK6ZNF8h2FD6vUBAD8XJzo31ARDhcdytwke71h%2BlAsGng6A7Umt62mP%2B1yR%2B29Mw0bvngRjJiEk7xz%2FRFZeGkAwDL6lsmnfppzThir3BYyj0WHdpl9TzuD%2Bxy0%2BgKTJ7Amik1qSvJSfu5kHVthjIfQcD%2FOh%2Fmh4cSFP%2F7g7c24nYE1kUL4SuV2DkpbOJhWR4CNm9gloOEcTmNB79YascR%2FeogWaIO9uS9PvHN%2BlCB%2BNNDOIysQfn6h%2Foqd0AtQLp5bHP17FMzAnJk84fPhG4dBOWq56EB5ai1QC6ihsithiuerhstithre31HEadvXaXds9md9%2FPWOEBI2VbzN8Q3eG19yvzDKrdu7BjqxAWas1Pj8UcE%2B2kA42NrTK%2B3H17PnGJG%2FqXD4Rvcx2wC995mJFpJgDLOOkUNRbrp2MHjm3eshQ8F07BuDbq%2BiuI0LNuBHI0qFoK8%2FesX8mBXKURXmGRGsujZDtjNVwHhqRwmgYKjR5HeXbjUgkHfXMEkJPqupeonlfI%2Fb1Om%2B30f0E%2BT46rQxOb%2B4lK9KYFze2XQC%2Bkl19y5WU0RPD23jfqyA53T3M%2B1pNV6U%2FdjKNgdClQ%3D%3D&X-Amz-Algorithm=ABC-123-DFF&X-Amz-Date=20260815T173505Z&X-Amz-SignedHeaders=host&X-Amz-Expires=1799&X-Amz-Credential=ASIIHHEIHTIHLWH%2F20250102%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=14b12cbd349dbbc36acac145778uuuuuuuuuu06f57716b15dba1814"
}
asyncDownloadReportStatus
This is the polling endpoint mentioned in Option 1. It accepts the pre-signed S3 link in the response from asyncDownloadAdvertiserReport and returns one of 3 possible status strings:
-
READY- the report is present in the download link -
WAITING- the report is not ready yet -
ERROR- the report request must be resubmitted
Please refer to the GraphQL schema for this endpoint's status refresh rate to help define your poll interval.
asyncEmailAdvertiserReport
This endpoint is used in Option 2. It uses the same parameters as the synchronous advertiserReport endpoint (without the pagination-related fields cursor and size), as well as a list of valid email addresses for the report recipients. It returns true if the request was successfully received, and false otherwise.
The asyncEmailAdvertiserReport has an email size limit of 10MB. Any email exceeding the limit will fail to send.
Example request:
query {
asyncEmailAdvertiserReport(
buyerMemberId: "YOUR_MEMBER_ID"
startDate: "2026-06-15"
endDate: "2026-07-30"
dimensions: [YMD, DEAL_NAME]
metrics: [DEAL_SPEND, RENDERED]
filters: []
emails: ["EMAIL_1", "EMAIL_2"]
)
}
Example response:
{
"data": {
"asyncEmailAdvertiserReport": true
}