To get the latest product updates delivered to you, add the URL of this page to your
feed
reader, or add the feed URL directly: https://developers.google.com/feeds/ad-manager-release-notes.xml.
December 04, 2025
Upcoming changes to draft reports
On or after January 5, 2026:
Requests using SAVED visibility value will normalize to the alias value
VISIBLE.
Reports with a DRAFT visibility will be automatically migrated:
* The Report.visibility field will be set to VISIBLE
* The current Report.reportDefinition value will be copied to a new
draftReportDefinition field
* The Report.reportDefinition field will be unset
Reports must have a reportDefinition to run:
draftReportDefinition |
reportDefinition |
RunReport Behavior |
|---|---|---|
| Unset | Set | Runs reportDefinition |
| Set | Set | Runs reportDefinition |
| Set | Unset | Error |
Clients running or writing reports with Visibility.DRAFT must update the
report to Visibility.VISIBLE using the API or by naming the report in the UI
before January 5, 2026.
On or after January 30, 2026:
The DRAFT and SAVED values will be removed.
Requests using DRAFT and SAVED values will fail.
Clients must migrate to using Visibility.VISIBLE
by January 30, 2026.
On or after January 30, 2026, errors will no longer include AdManagerError
objects in the error.details field. The same error information is provided
in the google.rpc.BadRequest object.
Before January 5, 2026:
{
"error": {
"code": 400,
"message": "Field foo is not supported for filtering.",
"status": "INVALID_ARGUMENT",
"details": [
{
"@type": "type.googleapis.com/google.ads.admanager.v1.AdManagerError",
"errorCode": "PARSE_ERROR_UNPARSABLE",
"message": "Field foo is not supported for filtering."
},
{
"@type": "type.googleapis.com/google.rpc.BadRequest",
"fieldViolations": [
{
"description": "Field foo is not supported for filtering.",
"reason": "PARSE_ERROR_UNPARSABLE",
"localizedMessage": {
"message": "Field foo is not supported for filtering."
}
}
]
},
{
"@type": "type.googleapis.com/google.rpc.RequestInfo",
"requestId": "8897430220173363092"
}
]
}
}
On or after January 5, 2026:
{
"error": {
"code": 400,
"message": "Field foo is not supported for filtering.",
"status": "INVALID_ARGUMENT",
"details": [
{
"@type": "type.googleapis.com/google.rpc.BadRequest",
"fieldViolations": [
{
"description": "Field foo is not supported for filtering.",
"reason": "PARSE_ERROR_UNPARSABLE",
"localizedMessage": {
"message": "Field foo is not supported for filtering."
}
}
]
},
{
"@type": "type.googleapis.com/google.rpc.RequestInfo",
"requestId": "8897430220173363092"
}
]
}
}
Clients that rely on AdManagerError must migrate to use BadRequest before
January 5, 2026.
Renamed Report metric USER_MESSAGES_CCPA_MESSAGES_SHOWN to USER_MESSAGES_US_STATES_MESSAGES_SHOWN.
Added LineItem resource.
Added support for creating and updating customTargetingKeys.
Added support for creating and updating adUnits.
Added support for creating and updating customFields.
Added support for creating and updating placements.
Added support for reading, allowing, and blocking adReviewCenterAds.
Added additional report dimensions, metrics, types, and date ranges.
Added AudienceSegment resource.
Added BandwidthGroup resource.
Added Contact resource.
Added ContentLabel resource.
Added CreativeTemplate resource.
Added Team resource.
August 29, 2025
In an upcoming release, the following Report dimensions and metrics will be renamed:
| Current value | New value |
|---|---|
PROGRAMMATIC_BUYER_ID |
DEAL_BUYER_ID |
PROGRAMMATIC_BUYER_NAME |
DEAL_BUYER_NAME |
AD_SERVER_UNFILTERED_IMPRESSIONS |
AD_SERVER_UNFILTERED_DOWNLOADED_IMPRESSIONS |
The current values will be marked as deprecated but will be supported as an alias to the new value until October 1st, 2025. The server will normalize usage to the new values. For example, if a client uses PROGRAMMATIC_BUYER_ID when creating a Report, the response from the server will contain DEAL_BUYER_ID.
On or after October 1st, 2025 the deprecated values will be removed and requests using these values will fail. Clients must migrate to the new values before October 1st, 2025.
August 12, 2025
In an upcoming release, Report messages will be restructured. These changes are wire compatible, but this change will alter the import paths in client libraries.
| Current Type Path | New Type Path |
|---|---|
Report.Field |
ReportDefinition.Field |
Report.DateRange |
ReportDefinition.DateRange |
Report.Sort |
ReportDefinition.Sort |
Report.Filter |
ReportDefinition.Filter |
Report.Slice |
ReportDefinition.Slice |
Report.Flag |
ReportDefinition.Flag |
Report.ReportType |
ReportDefinition.ReportType |
Report.Dimension |
ReportDefinition.Dimension |
Report.Metric |
ReportDefinition.Metric |
Report.MetricValueType |
ReportDefinition.MetricValueType |
Report.TimePeriodColumn |
ReportDefinition.TimePeriodColumn |
Report.TimeZoneSource |
ReportDefinition.TimeZoneSource |
Report.Value |
ReportValue |
Report.DataTable |
ReportDataTable |
Schedule |
ScheduleOptions.Schedule |
Added CmsMetadataValue resource.
Added CmsMetadataKey resource.
Added DeviceManufacturer resource.
Added MobileCarrier resource.
Added Application resource.
Added Content resource.
Added MobileDeviceSubmodel resource.
Added methods for reading and writing Contact resources.
Added ContentBundle resource.
Added additional Report dimensions and metrics.
Added DeviceCapability resource.
Added Browser resource.
Added MobileDevice resource.
Added BrowserLanguage resource.
June 26, 2025
The canonical resource name for CustomTargetingValue has been changed from
networks/{networkCode}/customTargetingKeys/{customTargetingKeyId}/customTargetingValues/{customTargetingValueId}
to
networks/{networkCode}/customTargetingValues/{customTargetingValueId}.
To retrieve custom targeting values for a specific key, use the method
networks.customTargetingValues.list with a filter on customTargetingKey.
Clients using the old format should migrate before July 28th, 2025. Requests using the old format will fail on or after July 28th, 2025.
AdBreak, AdUnit, CustomField , Placement , and Role resources now include fields with default values in responses. Previously, fields with default values like 0 or an empty string were omitted from the response.
Old behavior
{
"name": "/networks/123/exampleResource/1"
}
New behavior
{
"name": "/networks/123/exampleResource/1",
"stringField": "",
"intField": 0
}
Added ProgrammaticBuyer resource.
Added DeviceCategory resource.
Added BandwidthGroup resource.
Added support for Targeting on Private Auction deals.
Added GeoTarget resource.
Added OperatingSystem and OperatingSystemVersion resources.
May 23, 2025
On or after June 23, 2025 the canonical resource name for CustomTargetingValue will change formats from networks/{networkCode}/customTargetingKeys/{customTargetingKeyId}/customTargetingValues/{customTargetingValueId} to networks/{networkCode}/customTargetingValues/{customTargetingValueId}.
March 11, 2025
Added support for Private Auctions.
Added support for Ad Breaks.
Corrected resource name patterns and grammar in documentation.
Refactored type paths for Companies and Reports. This change is wire compatible, but import paths will change for Python client library versions >0.2.4. Other client libraries are not affected.
September 24, 2024
Open Beta: The Ad Manager API is now available to all users.
Request ID is set in the HTTP header X-Goog-Correlation-Id for all responses and in the error body for API errors. This ID can be shared with support to assist with troubleshooting.
Added support for Interactive Reporting
Temporarily removed Closed Beta services that had data discrepancies with the SOAP API:
- LineItem
- Creative
- Contact
- Label
- Team
These will be added back when the discrepancies are resolved.
June 18, 2024
Removed support for ReportService methods. These will be replaced by methods for running Interactive reports.
All DateTime fields have been changed to use RFC3339 timestamp strings.
Added support for publisher provided signals resources including entitySignalsMappings and taxonomyCategories.
Added adUnitSizes resource to list the ad unit sizes available in a network.