Author Archives: Google Ads Developer Advisor

Announcing v1_3 of the Google Ads API

Today we’re announcing the v1_3 release of the Google Ads API. With this version, you’ll continue pointing to v1 as your endpoint; however, you'll need to update your client libraries in order to use v1_3 features.

Here are the highlights: What resources are available?
The following resources should help you get going with v1_3 of the Google Ads API: The updated client libraries and code examples will be published by May 24, 2019. If you have any questions or need help, please contact us via the forum.

Announcing v201905 of the Google Ad Manager API

We're happy to announce that v201905 of the Google Ad Manager API is available starting today. This version introduces a long-requested feature: Targeting Presets. The new TargetingPresetService allows you to read your network's targeting presets in a familiar Targeting object that can be applied to line items, forecasts, and proposal line items.

This release also introduces support for configuring and reporting on custom dimensions, and new Programmatic features such as Pause and Resume actions for Proposals.

For a full list of API changes in v201905, see the release notes.

For questions about these or any other API changes, reach out to us on the Ad Manager API forums.

Expanding your Shopping ads to additional Google platforms

YouTube and Google Discover power visually rich experiences and play a part of millions of users’ shopping journeys. Soon your Standard Shopping campaigns will be able to reach users who discover and continue their shopping journey on these additional Google platforms.

We’re excited to announce that Shopping ads (both Product Shopping ads and Showcase Shopping ads) in your standard Shopping campaigns will be eligible to appear on YouTube and Google Discover beginning the week of July 15th, 2019. Shopping ads served on YouTube and Google Discover will be reported under the Google Display Network.

In preparation for this change, standard Shopping campaigns that are enabled for Search Network will be automatically enabled for YouTube and Discover, beginning the week of June 17th, 2019. This means that any standard Shopping campaigns that target the Search Network will automatically enabled to target the Content Network. After this process, developers using the Google Ads API or the AdWords API can give users the ability to opt-in/opt-out. They can do this by changing the campaign target network as follows:
  • Google Ads API - Modify the NetworkSettings of the standard Shopping campaign to set target_content_network to true or false.
  • AdWords API - Modify the NetworkSetting of the standard Shopping campaign to set targetContentNetwork to true or false.
Ads with these settings will only be eligible to appear on YouTube and Google Discover from the week of July 15th, 2019. During that week, you may start seeing new metrics as part of your reporting data. Depending on which API you are using you can access the metrics by doing the following: Note: If you would like to upgrade to the Google Ads API from the AdWords API, please see more information our blog.

If you have any questions or need help, please contact us via the forum.

Upcoming breaking changes to the Google Ad Manager API

On Monday July 8, 2019 the Ad Manager API's ReportService will stop supporting reports that mix Ad Exchange historical reporting fields with Historical reporting fields. This change will impact all API versions.

After July 8, any API reports that use both an Ad Exchange historical Dimension or Column and a Historical Dimension or Column will fail with the following error: ReportError.REPORT_CONSTRAINT_VIOLATION

Why are we making this change?

This change is being made to ensure all API reports return accurate data. The Query Tool has never supported creating reports that mix Ad Exchange historical and Historical data, and in some cases this may lead to unexpected results. This change brings the API in line with the Query Tool.

How can I tell if I am impacted?

This change impacts approximately 2% of all reports run with the Ad Manager API. If you only run saved queries that were created with the Query Tool, this change does not impact you.

If you use any of the following columns, your report will be considered an Ad Exchange historical report, and you may only use either Dimensions prefixed with AD_EXCHANGE or date Dimensions including DATE, WEEK, DAY, HOUR or MONTH_AND_YEAR:
  • Column.AD_EXCHANGE_ACTIVE_VIEW_ENABLED_IMPRESSIONS
  • Column.AD_EXCHANGE_ACTIVE_VIEW_MEASURED_IMPRESSIONS
  • Column.AD_EXCHANGE_ACTIVE_VIEW_VIEWED_IMPRESSIONS
  • Column.AD_EXCHANGE_AD_CTR
  • Column.AD_EXCHANGE_AD_ECPM
  • Column.AD_EXCHANGE_AD_REQUEST_CTR
  • Column.AD_EXCHANGE_AD_REQUEST_ECPM
  • Column.AD_EXCHANGE_AD_REQUESTS
  • Column.AD_EXCHANGE_AVERAGE_VIEWABLE_TIME
  • Column.AD_EXCHANGE_CLICKS
  • Column.AD_EXCHANGE_COVERAGE
  • Column.AD_EXCHANGE_CPC
  • Column.AD_EXCHANGE_CTR
  • Column.AD_EXCHANGE_DEALS_AD_REQUESTS
  • Column.AD_EXCHANGE_DEALS_BID_RESPONSES
  • Column.AD_EXCHANGE_DEALS_MATCH_RATE
  • Column.AD_EXCHANGE_DEALS_MATCHED_REQUESTS
  • Column.AD_EXCHANGE_ESTIMATED_REVENUE
  • Column.AD_EXCHANGE_IMPRESSIONS
  • Column.AD_EXCHANGE_LIFT
  • Column.AD_EXCHANGE_MATCHED_ECPM
  • Column.AD_EXCHANGE_MATCHED_REQUESTS
  • Column.AD_EXCHANGE_VIDEO_ABANDONMENT_RATE
  • Column.AD_EXCHANGE_VIDEO_DROPOFF_RATE
  • Column.AD_EXCHANGE_VIDEO_QUARTILE_1
  • Column.AD_EXCHANGE_VIDEO_QUARTILE_3
  • Column.AD_EXCHANGE_VIDEO_TRUEVIEW_SKIP_RATE
  • Column.AD_EXCHANGE_VIDEO_TRUEVIEW_VIEWS
  • Column.AD_EXCHANGE_VIDEO_TRUEVIEW_VTR

What changes do I need to make?

To prevent your reports from failing, you must convert your report to be either an Ad Exchange historical report or a Historical report.

To convert the report to an Ad Exchange historical report:
  1. Remove any Columns not in the list above.
  2. Remove any Dimensions that are not prefixed with AD_EXCHANGE, with the exception of the following Dimensions:
    1. DATE
    2. WEEK
    3. DAY
    4. HOUR
    5. MONTH_AND_YEAR
  3. Remove any DimensionAttributes for dimensions you removed.
  4. Remove any PQL filters that applied to fields you removed.

To convert the report to a Historical report:
  1. Remove any of the Columns in the list above.
  2. Remove any Dimensions that are prefixed with AD_EXCHANGE.
  3. Remove any PQL filters that applied to fields you removed.
If you have questions about this change or are unsure if it impacts you, reach out to us on the Ad Manager API forums. We'll be happy to check if you're impacted and work with you to update your applications.

Reporting issues April 30 and May 1, 2019

On May 1, at approximately 5pm PST, a bug caused Google Ads reporting for April 30 and May 1 (Pacific Time) to be incorrect. This bug impacts reports in all Google Ads interfaces, including any report data downloaded via the AdWords API, Google Ads API and Google Ads Scripts.

We are actively working on fixing the bug and correcting the data. Metrics reported for May 2nd will also be delayed until later that morning PST.

We appreciate your patience as we work to resolve this issue as quickly as possible.

If you have any questions or need help, please contact us via the forum.

Announcing v1_2 of the Google Ads API

Today we’re announcing the v1_2 release of the Google Ads API. With this version, you’ll continue pointing to v1 as your endpoint; however, you'll need to update your client libraries in order to use v1_2 features.

Here are the highlights: What resources are available?
The following resources should help you get going with v1_2 of the Google Ads API: The updated client libraries and code examples will be published by May 2, 2019. If you have any questions or need help, please contact us via the forum.

Announcing Google Ads API Doctor

We have heard from users that correctly configuring a client library and provisioning OAuth2 credentials can be challenging, so today we are introducing Google Ads API Doctor, a new tool that will analyze your client library environment. The program will:
  • Verify that your OAuith2 credentials are correctly configured and ready to make API calls.
  • Guide you through fixing any OAuth2 problems it detects and verify the corrected configuration.
The initial version of this tool will help you analyze and fix issues related to OAuth2 configuration, including the following common issues:
  • Invalid refresh token: The program will identify this and guide you through the process to obtain a valid token, back up your configuration file, and write the new value to your active configuration file.
  • Permission denied: There are several OAuth errors that sound similar, such as user permission denied and permission denied. The program identifies that in the first case it is caused by an invalid refresh token and in the second it’s because the Google Ads API is disabled in the Google API Console.
If you want to send the output to support, you can run your scenario with the PII flag to hide your Personally Identifiable Information (PII) and copy the screen output. To gather even more information, you can use the verbose flag to see the low-level JSON that is returned.

We are releasing this project as open source per Google’s open source initiative, and we encourage contributions. See contributing to Google open source to learn more about how to contribute to this project. As always, share your feedback on the Google Ads API forum.

Announcing the 2019 NYC Google Ad Manager API Workshop

We’re excited to announce another Google Ad Manager API Workshop in NYC on May 8, 2019. If you’re a regular user of the Ad Manager API and Google Publisher Tags, then you’re sure to find something of interest at this event.

What is it?

A half-day event featuring technical talks by Google engineers and office hours with Google's Developer Relations team. Doors will open at 12:45pm and our keynote presentation will kick off at 1 o’clock. We will have talks on the following topics:
  • Serverless API integrations using Google Cloud Functions
  • Strategies and hands-on demos of tools for faster loading pages and ads
  • Advanced techniques for extracting data that isn't available in the reporting API

Who is the target audience?

The event is targeted toward developers who use or are interested in using the Ad Manager API. The talks will be technical in nature, so a technical background is recommended for all attendees. This event is an opportunity for you to learn more about the API's capabilities and its newest features. This is also an opportunity for you to share feedback by talking directly with Googlers who work on the API.

Where is it?

Google’s Chelsea Market Office
75 Ninth Avenue,
New York, NY 10011

How do I sign up?

To register, please visit our website for this event. Seating is limited, so after you register, we will reach back out to you to confirm your spot at the workshop.

Sunset of the Ad Manager API v201805

On Friday, May 31, 2019, in accordance with the deprecation schedule, v201805 of the Ad Manager API will be sunset. At that time, any requests made to this version will return errors.

If you’re using any of Google’s client libraries, you should allow extra time to migrate off of v201805, since it was the last version before the DFP API became the Google Ad Manager API. For details on what’s changed, each client library has a migration guide: Java, Python, .NET, PHP, and Ruby.

When you’re ready to upgrade, check the release notes to identify any breaking changes (such as the change to the capitalization of DateTime.timeZoneId in v201811). Then, grab the latest version of your client library and update your code. As always, don't hesitate to reach out to us on the developer forum with any questions.

To be notified of future sunsets, join the Ad Manager API Sunset Announcements group and adjust your notification settings. If you are an administrator on your network, you can also receive notifications when an application is making requests to your network using a deprecated version, as explained in this post.

Python 2 Deprecation in Ads API Client Libraries

As the official End of Life date for Python 2 approaches, we will be ending support for Python 2 in both the AdWords/Google Ad Manager and Google Ads Python client libraries in 2019. After deprecation the minimum required Python version for both libraries will be 3.6+.

Deprecation will begin with the AdWords/Google Ad Manager Python client library in May. Here’s a timeline for easy reference:
  • mid-May: version 19.0.0 is released to support Google Ad Manager API v201905. Python 2 users should not upgrade to any major version beyond this.
  • mid-May - late-June: Python 2 deprecation window.
  • Last week in June: version 20.0.0 is released that is incompatible with Python 2.
  • July 1: Support for Python 2-related issues in the library ends.
If you are a user of the AdWords/Google Ad Manager client library, please take note of the following:
  • Google Ad Manager Users:
    • If you’re already using Python 3, no need to take action.
    • If you’re using Python 2 you should remain on version 19.0.0 until you’ve migrated to Python 3.
  • AdWords Users:
    • Please migrate to the new Google Ads API.
    • If you’re using Python 2 you should remain on version 19.0.0 until you’ve migrated to the Google Ads API.
  • All Users:
    • Beginning July 1, 2019 we will discontinue prioritizing work and triaging GitHub Issues related to compatibility with Python 2. Note that we will submit patches to version 19.0.0 if any major bugs arise after this deadline.
The Google Ads API client library will continue to be compatible with Python 2 until the end of 2019. We will post more information about that migration at a later date. In the meantime, Python 2 users should start planning their migration to Python 3 as soon as possible in order to avoid complications.

If you have questions about the Python 3 migration please submit an issue on the respective GitHub repository, and for general API support please reach out to us on the Google Ads API forum or the Google Ad Manager API forum.