AI-generated Key Takeaways
-
This page provides release notes for sunset versions of the Bid Manager API.
-
Bid Manager API v1.1 was released on April 15, 2021, with SDF and Line Item services sunset.
-
Path & Path Attribution Reports and new filters and metrics were added to v1.1 on August 6, 2020.
-
Asynchronous query run was enabled for Queries.createquery and Queries.runquery methods in v1.1 on March 20, 2020.
-
Pagination was added to Queries.listqueries and Reports.listreports methods in v1.1 on November 19, 2019.
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_GROUPINGFILTER_EVENT_TYPEFILTER_PATH_EVENT_INDEXFILTER_PATH_PATTERN_ID
New Metrics added:
METRIC_ACTIVITY_REVENUEMETRIC_CONVERTING_PATHSMETRIC_EXPOSURE_CONVERSION_RATEMETRIC_LAST_TOUCH_CLICK_THROUGH_CONVERSIONSMETRIC_LAST_TOUCH_TOTAL_CONVERSIONSMETRIC_LAST_TOUCH_VIEW_THROUGH_CONVERSIONSMETRIC_PATH_CONVERSION_RATEMETRIC_PROVISIONAL_IMPRESSIONSMETRIC_TOTAL_EXPOSURESMETRIC_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_NAMEFILTER_ADVERTISER_INTEGRATION_CODEFILTER_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_NAMEFILTER_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.