Author Archives: Google Ads Developer Advisor

Upcoming changes to page size in the Google Ads API

Starting the week of August 19, 2024, we will roll out a change that removes the ability to set the page_size field when making GoogleAdsService.Search requests. All requests will assume a fixed page size of 10,000 rows instead. Developers will receive the following errors if the page_size field is set:

This change was previously introduced as a versioned change in version v17 of the API. The current change introduces the change to the older API versions, making the API consistent across all API versions.

What do I need to change?

If you use version v17 of the API, no changes are required. If you use an older version of the API and set the page_size field in your GoogleAdsService.Search requests, then you should update your application code to stop setting this field.

How to get help

If you have any questions or need help, check out the Google Ads API support page for options.

Reminder: Entity Read Files sunset on October 31, 2024

On October 31, 2024, Display & Video 360 Entity Read Files (ERFs) will sunset. After this date, new private and public ERFs will not be generated. ERFs were deprecated in June 2021 and the October sunset date was first announced in January 2024.

If you are currently using ERFs to programmatically retrieve Display & Video 360 resource configurations, migrate to the Display & Video 360 API. You can either integrate directly with the Display & Video 360 API using REST requests or automatically import Display & Video 360 resource configurations into BigQuery using the Display & Video 360 API BigQuery Connector.

See our migration guide for more information on migrating to the Display & Video 360 API and the two integration options.

If you have questions or concerns about this migration, please contact us using our new Display & Video 360 API Technical support contact form.

Reduce ANRs when implementing mobile ads

We heard your feedback via Play Console crash reports regarding Application Not Responding (ANRs) errors related to the Google Mobile Ads SDK. After analyzing these reports, we updated our SDK implementation best practices to reduce ANR rates. The recommended best practices are as follows:

  1. Initialize the Mobile Ads SDK on a background thread
  2. Enable optimization flag for ad loading

1. Initialize the Mobile Ads SDK on a background thread

Our previous best practice was to specify the OPTIMIZE_INITIALIZATION manifest flag. However, some work on the calling thread is still required to prepare MobileAds to handle other method calls synchronously.

We now recommend calling MobileAds.initialize() on a background thread, enabling the work required on the calling thread to happen in the background.

import com.google.android.gms.ads.MobileAds
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch

class MainActivity : AppCompatActivity() {
  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    CoroutineScope(Dispatchers.IO).launch {
      // Initialize the Google Mobile Ads SDK on a background thread.
      MobileAds.initialize(this@MainActivity) {}
      runOnUiThread {
        // Load an ad on the main thread.
        loadAd()
      }
    }
  }
}

Note: When calling MobileAds.initialize() on a background thread, the OPTIMIZE_INITIALIZATION manifest flag is no longer required.

2. Enable optimization flag for ad loading

By enabling the OPTIMIZE_AD_LOADING manifest flag, you can offload most ad loading tasks to a background thread. We recommend enabling this flag in your app's AndroidManifest.xml file to reduce the occurrence of ad loading causing ANRs.

<manifest>
  ...
  <application>
      ...
      <meta-data
          android:name="com.google.android.gms.ads.flag.OPTIMIZE_AD_LOADING"
          android:value="true"/>
  </application>
</manifest>

We’ve updated all of our Android example apps to implement these best practices. For more details on initialization and optimization flags, see Get started and Optimize initialization and ad loading. Contact us if you have any questions or need additional help.

Register for the Performance Max Workshop

As previously announced, the Performance Max and the Google Ads API workshop is only one week away, on July 17, 2024. Register today to reserve your spot.

As a reminder, this developer-focused, virtual workshop will provide you with knowledge, resources, and support to build, manage, and report on Performance Max campaigns in the Google Ads API. We’re offering this live workshop in three regions. Follow the links below to view the full agenda in your region.

Regional Workshop Times & Agendas

We look forward to seeing you!

Location Auto-migration Complete

What changed?
On 24 July 2023, we announced the auto-migration of location extensions to assets. For the majority of accounts, location extensions were automatically migrated to assets. This change was made to expand the variety of ways in which your location extensions can serve. Accounts with no activity (no impressions, no clicks, and no spend) from July 1, 2023 to January 1, 2024 were not migrated.

How do I know if an account was migrated?
To find the status of an account, use the following fields of the customer resource:
  • bool location_asset_auto_migration_done
  • string location_asset_auto_migration_done_date_time
You will also see an alert in the Google Ads UI if your account has been migrated, and assets will appear under your account.

What do I need to do?
If your location extensions were not migrated, and you want to use location assets, you need to create the location assets via the UI or the API.

For questions about the API, please contact us on the forum.

For questions about the UI, please contact us here.

Announcing the Merchant API Beta, the new version of the Content API for Shopping

Today we're announcing the release of the Merchant API Beta. This is the newest version of the Content API for Shopping which comes with exciting new features. The Merchant API is a redesign of the Content API for Shopping which can help you showcase your products with new features, modular design with isolated sub-API updates, and improved alignment with Google's API improvement proposals. We invite you to try out the Merchant API Beta to provide early feedback so we can improve the Merchant API for you.

For more information, we highly recommend reviewing the launch status for Merchant API Beta expectations and see the following sections.

Highlights:
You can find a complete list of features in the release notes in the GRPC/REST reference sections and accompanying compatibility guides, but here are the highlights:
  • Sub APIs with new features at launch: We are excited to announce an initial set of sub apis which comes with new features:
    • Data Sources: Allows multiple API feed creation and management, improved management of supplemental feeds via creation with linking to primary feeds, and support for other shopping feeds such as promotions.
    • Notifications: Receive push notifications for changes to a given account and product data.
    • Products: Unifying Product & ProductStatuses resources to streamline your workflow, new functionality to support inserting products into non API data sources.
    • Inventory: Improved management with the ability to remove in-store or regional inventories for your products.
    • Accounts: New terms of signing (ToS) functionality via the API and accessing account issues with multi-language support.
    • Local Feeds Partnership: For Point-of-sale data providers, more granular inventory management with availability status submissions and feed labels for inventory.
    • Promotions: Simplified promotion statuses with improved details and support for custom promotion attributes for faster iterations on new features.
    • Quota: Additional fields such as version, sub-api, and adjustments visible through the API to manage your quotas more efficiently.
    • Reports: A new NonProductPerformanceView table which provides insights into non-product performance data such as data on links leading to merchants’ homepage.
  • Merchant API is the future. Going forward, we will start launching new features primarily for the Merchant API which will have the newest Merchant Center features. We recommend you start using the Merchant API and would love to hear your feedback to help shape the future.
  • More features are on the way! Today's release contains many new improvements. Currently, there isn’t feature completeness between the Content API and Merchant API. We will have more features upcoming which are based on establishing parity, your feedback, and completely new features such as creation of file feeds with the Data source Merchant API.
Learn more and check out the following resources:

Instant reports will soon be available using Bid Manager API

In the upcoming months, Display & Video 360 instant reports will be made available using the Bid Manager API. We previously announced the migration of certain report types from Offline Reporting to Instant Reporting.

Once a partner is migrated, they will see the following changes:

  • Instant reports will be included in queries.list responses.
  • Existing Standard, Reach, YouTube, and URA reports will only be available under the Instant Reporting tab in the Display & Video 360 interface under the same query and report IDs.
  • If you use the Display & Video 360 interface to build new reports, you will need to build Standard, Reach, YouTube, and URA reports under the Instant Reporting tab.

This migration will happen by partner throughout the following months, with all reports under a partner migrated at once.

If you have questions about this migration in general, you can contact Display & Video 360 product support using this contact form. If you have questions about how this migration will impact the API, please contact us using our new Bid Manager API Technical support contact form.

June 2024 update to Display & Video 360 API

Today, we’re announcing the June 2024 update to the Display & Video 360 API. This update adds the following:

  • The ability to retrieve and manage keyword targeting assigned at the advertiser level.
  • The optimizationObjective field in the InsertionOrder resource. This field is only writable for allowlisted customers, and will otherwise be set as null.

More details about this update can be found in the Display & Video 360 API release notes. Before using these new features, make sure to update your client library to the latest version.

If you need help with these new features, please contact us using our new Display & Video 360 API Technical support contact form.

Batch processing support for Performance Max

What’s New

Starting with Google Ads API v17, BatchJobService supports AssetGroupOperation. With this change you can use batch processing to create and manage entire Performance Max campaigns.

Batch processing is a powerful feature in the Google Ads API that lets you dispatch a set of operations, which might be interdependent, to multiple services without waiting for each operation to complete. Batch processing also provides automatic retries for transient errors, and automatic grouping of operations We have made batch processing available for AssetGroupOperation in response to your feedback to provide another option for working with asset groups asynchronously.

Implementation Details

Using AssetGroupOperation with batch processing for Performance Max campaigns is similar to how you use other operations, with the following special considerations:

When creating asset groups using batch processing, AssetGroupOperation and AssetGroupAssetOperation must be sequential without other operations in between. This is due to how operations are grouped together when processed. You can learn more about the considerations and best practices for using batch processing to create Performance Max campaigns in the Batch processing for Performance Max guide.

Here’s how to create an asset group in a batch job:

  1. Create a MutateOperation containing an AssetGroupOperation. This is no different than creating a MutateOperation using the GoogleAdsService.Mutate service. See the mutating resources guide.
  2. Associate assets with the asset group by creating a MutateOperation containing operations of type AssetGroupAssetOperation for each asset required; the sequential AssetGroupOperation and operations of type AssetGroupAssetOperation must combine to meet applicable minimum asset requirements.
  3. Add the operations of type MutateOperation to the batch job as you would with any other type of operation.
  4. Run the batch job by calling RunBatchJob after adding all operations.

The following resources contain additional information to help you with your integration:

Improving Performance Max integrations Blog Series

This article is part of a series that discusses new and upcoming features that you have been asking for. We’ll cover what’s new and how it differs from the current implementation approach.

Keep an eye out for further updates and improvements on our developer blog, continue providing feedback on Performance Max integrations with the Google Ads API, and as always, contact our team if you need support.

Workshop Reminder

Register today for the Performance Max and the Google Ads API workshop happening on July 17!

Upcoming Workshop: Performance Max and the Google Ads API

Today, we’re announcing an upcoming developer workshop, Performance Max and the Google Ads API. These virtual sessions will provide you with knowledge, resources, and support to create, manage, and report on Performance Max campaigns in the Google Ads API. The workshop will be presented live in three regions on July 17, 2024.

Regional Workshop Times & Agendas

Hear from Google Ads API experts as we:

  • Tour the core features and business goals available in Performance Max campaigns.
  • Detail key technical pieces of your Performance Max implementation, from setup to reporting.
  • Build a Performance Max interface in an interactive demo.
  • Review best practices for configuring and optimizing your Performance Max campaigns.
  • Discuss Performance Max and AI in an experts panel.

Whether you’re new to Performance Max or looking to expand upon an existing integration, we'll have a variety of sessions to help you achieve your goals and boost your Google Ads account performance with the power of Google AI. We’ll be delivering several talks to discuss what's unique about Performance Max and explain key concepts across experience levels.

Throughout the workshop, you’ll have the opportunity to interact with our team via live Q&A.

Head over to the event site to register and view the full agenda. We look forward to seeing you!