This page provides release notes for sunset versions of the Bid Manager API.
Navigate to our main release notes page for all releases to live versions.
April 15, 2021
New features
Released Bid Manager API v1.1.
v1.1
SDF and Line Item services sunset
SDF and Line Item services are now sunset.
Users who seek to download Structured Data Files or manage line items must instead use the Display & Video 360 API.
Known issues
None.
August 6, 2020
New features
v1.1
Path & Path Attribution Reports
TYPE_PATH
and TYPE_PATH_ATTRIBUTION
report
types
are now live.
This includes the addition of new field params.options.pathQueryOptions
(which contains fields pathFilters
and channelGrouping
) to
query
and
report
resources.
New Filters
added:
FILTER_CHANNEL_GROUPING
FILTER_EVENT_TYPE
FILTER_PATH_EVENT_INDEX
FILTER_PATH_PATTERN_ID
New Metrics
added:
METRIC_ACTIVITY_REVENUE
METRIC_CONVERTING_PATHS
METRIC_EXPOSURE_CONVERSION_RATE
METRIC_LAST_TOUCH_CLICK_THROUGH_CONVERSIONS
METRIC_LAST_TOUCH_TOTAL_CONVERSIONS
METRIC_LAST_TOUCH_VIEW_THROUGH_CONVERSIONS
METRIC_PATH_CONVERSION_RATE
METRIC_PROVISIONAL_IMPRESSIONS
METRIC_TOTAL_EXPOSURES
METRIC_TOTAL_PATHS
Known issues
None.
March 20, 2020
New features
v1.1
Asynchronous query run
Queries.createquery
and
Queries.runquery
method now
allow running queries asynchronously.
See new parameter asynchronous
in
createquery
and
runquery
for more details.
Known issues
None.
January 14, 2020
New features
v1.1
Query schedule start time
Queries.createquery
method now
allows specifying the date at which query run schedules start.
See new field
schedule.startTimeMs
for
more details.
Known issues
None.
January 8, 2020
New features
v1.1
Toggle targeted audience lists data
Queries.createquery
method now
allows specifying whether audience list data should be limited to specific
insertion orders or line items.
See new field
params.options.includeOnlyTargetedUserLists
for more details.
Known issues
None.
November 19, 2019
New features
v1.1
One-to-one filter to report column mapping
Filters that mapped to multiple report columns now map to single columns.
For example, in v1, including the filter FILTER_ADVERTISER
yields a report
with columns "Advertiser" in addition to "Advertiser ID". In v1.1, all
report columns have their own filters. For example, a new filter
FILTER_ADVERTISER_NAME
maps to "Advertiser". To get both "Advertiser
ID" and "Advertiser" columns in reports, both filters FILTER_ADVERTISER
and
FILTER_ADVERTISER_NAME
, respectively, will have to be included in
Queries.createquery
requests.
More concretely, the createquery
request:
{
...
"params": {
...
"groupBys": ["FILTER_ADVERTISER"],
"metrics": ["METRIC_IMPRESSIONS"],
...
}
...
}
generates a report file with the following headers in v1:
Advertiser,Advertiser ID,Advertiser Status,Advertiser Integration Code,Impressions
and the following headers in v1.1:
Advertiser,Impressions
The following v1 code used to get the report columns:
List<String> groupBys = new ArrayList<>();
groupBys.add("FILTER_ADVERTISER");
List<String> metrics = new ArrayList<>();
metrics.add("METRIC_IMPRESSIONS");
com.google.api.services.doubleclickbidmanager.model.Parameters createQueryParameters =
new com.google.api.services.doubleclickbidmanager.model.Parameters()
.setGroupBys(groupBys)
.setMetrics(metrics);
will have to be modified similar to the following in v1.1 (note filter ordering):
List<String> groupBys = new ArrayList<>();
groupBys.add("FILTER_ADVERTISER_NAME");
groupBys.add("FILTER_ADVERTISER");
groupBys.add("FILTER_ADVERTISER_INTEGRATION_STATUS");
groupBys.add("FILTER_ADVERTISER_INTEGRATION_CODE");
List<String> metrics = new ArrayList<>();
metrics.add("METRIC_IMPRESSIONS");
com.google.api.services.doubleclickbidmanager.model.Parameters createQueryParameters =
new com.google.api.services.doubleclickbidmanager.model.Parameters()
.setGroupBys(groupBys)
.setMetrics(metrics);
Original filter | Added filters |
---|---|
FILTER_ADVERTISER
|
FILTER_ADVERTISER_NAME FILTER_ADVERTISER_INTEGRATION_CODE FILTER_ADVERTISER_INTEGRATION_STATUS |
FILTER_AD_POSITION |
FILTER_AD_POSITION_NAME |
FILTER_CARRIER |
FILTER_CARRIER_NAME |
FILTER_CHANNEL_ID |
FILTER_CHANNEL_NAME |
FILTER_CITY |
FILTER_CITY_NAME |
FILTER_COMPANION_CREATIVE_ID |
FILTER_COMPANION_CREATIVE_NAME |
FILTER_DMA |
FILTER_DMA_NAME |
FILTER_INSERTION_ORDER |
FILTER_INSERTION_ORDER_NAME |
FILTER_PARTNER |
FILTER_PARTNER_NAME FILTER_PARTNER_STATUS |
FILTER_REGION |
FILTER_REGION_NAME |
FILTER_TRUEVIEW_DMA |
FILTER_TRUEVIEW_DMA_NAME |
FILTER_TRUEVIEW_IAR_REGION |
FILTER_TRUEVIEW_IAR_REGION_NAME |
FILTER_USER_LIST_FIRST_PARTY |
FILTER_USER_LIST_FIRST_PARTY_NAME |
FILTER_USER_LIST_THIRD_PARTY |
FILTER_USER_LIST_THIRD_PARTY_NAME |
Pagination
v1.1 adds pagination to methods
Queries.listqueries
and
Reports.listreports
.
In v1.1, the number of results returned by these
methods is equal to a newly added parameter
pageSize
(it defaults to
100
if not specified). Responses contain a newly added
nextPageToken
field that
can be used to retrieve the next set of results. This field is blank if results
have been exhausted.
The following v1 code to retrieve all reports belonging to a specific query:
public class GetReports {
public List<Report> getReports(DoubleClickBidManager service, long queryId) throws IOException {
ListReportsResponse reportListResponse = service.reports().listreports(queryId).execute();
return reportListResponse.getReports();
}
}
will have to be modified similar to the following in v1.1, in order to continue retrieving all reports:
public class GetReports {
public List<Report> getReports(DoubleClickBidManager service, long queryId) throws IOException {
ListReportsResponse reportListResponse = service.reports().listreports(queryId).execute();
List<Report> reports = new ArrayList<>(reportListResponse.getReports());
while (reportListResponse.getNextPageToken() != null
&& reportListResponse.getNextPageToken().length() > 0) {
// Get next set, or page, of results.
reportListResponse =
service
.reports()
.listreports(queryId)
.setPageToken(reportListResponse.getNextPageToken())
.execute();
reports.addAll(reportListResponse.getReports());
}
return reports;
}
}
See Queries.listqueries
and
Reports.listreports
method
documentation for more details.
Known issues
None.