[go: up one dir, main page]

On June 30, 2025 we announced that we would roll out a change that would cause our bidding models to start using the presence of the ClickConversion.conversion_environment field in imported in-app conversions for campaign performance.

That change, which may have caused performance degradation in certain campaigns where this is not set, will no longer be implemented. However we still recommend that users who import conversions using the Google Ads API set the conversion_environment field in order to gain the following benefits:

  • Accurate cross-environment attribution: Understand the full value of your campaigns across website and app sources.
  • Ad destination reporting: Gain insights into where the user lands after clicking your ad, and the relative performance of each segment.
  • Streamlined Google support: Receive faster and more effective troubleshooting.

For more details see this Help Center article.

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

Starting on November 17 2025, we are changing the account-default behavior of automatically created customer conversion goals.

Current behavior

Currently, when you create a new conversion action using the Google Ads API, customer conversion goals are created automatically, as needed. These newly created goals are automatically set as account-default, meaning this goal will automatically be biddable in any campaign that is optimizing to account-default goals. While convenient, this sometimes leads to bidding mechanisms targeting unnecessary goals, potentially resulting in suboptimal campaign performance. This change aims to optimize bidding performance by reducing the number of unnecessary goals included in the account-default set for a given account.

What’s changing?

With this change, a new automatically created goal will only be set as account-default if all other goals within the same category are also account-default goals. For example, if an account has an existing, non-account-default customer conversion goal associated with a conversion action with the category PURCHASE and a conversion origin of WEBSITE, then any new conversion actions with the category PURCHASE will result in goals that are also not account-default.

This approach helps us better infer user intent, and it ensures that the account-default set remains lean and effective.

Technical recommendation

After this change is introduced, newly created account goals will not be considered account-default automatically. If you want to set an account goal to account-default manually, set the CustomerConversionGoal.biddable field to true.

This update will enhance the efficiency and effectiveness of goal management within Google Ads. We encourage you to review your applications and client workflows in light of this upcoming change.

For any questions or concerns, feel free to refer to our support page. You can also discuss this post in our “Google Advertising and Measurement Community” Discord server.

Today in the Google Ads UI, you will see updated enhanced conversions for leads diagnostics that feature a number of improvements that offer better visibility into the state of your conversion import implementation. The goal of these changes is to help you identify common problems and address them quickly.

Here are some of the changes you’ll see:

  1. New "Importing limited user-provided data" Alert: A new, high-priority alert has been introduced to detect a common implementation error, where users fail to import incremental conversions that contain user-provided data (UPD) but not a GCLID. We recommend that you import all of your conversion data that has user-provided data, regardless of whether or not it has a GCLID. Doing so helps to find cross-device or Youtube EVC conversion touchpoints, driving performance uplift. You may not see these benefits if you omit UPD-only conversions.
  2. Improved Status for "Tagless" Implementations: A new "Good" status has been added to validate setups where advertisers import conversions with both a GCLID and user-provided data, but do not have the Google tag implemented on their website. Previously, this valid configuration could trigger confusing "Urgent" alerts. If you have not implemented the Google tag on your website, it’s important to include GCLIDs in your conversion imports whenever possible in order to get performance benefits.
  3. Reprioritized Alert Logic: Alert priorities have been updated to be more intelligent. For users sending GCLIDs with their offline data, import-related issues will be prioritized as more critical, while tag-related issues will be downgraded in severity.
  4. Complete Alert Visibility: The diagnostics interface has been updated to show all alerts at once, regardless of their severity tier. This allows developers to see a complete picture of all required and recommended actions upfront, rather than fixing one issue only to uncover another.
  5. Deprecation of CLICK_NOT_FOUND: The informational CLICK_NOT_FOUND error has been removed from the Diagnostics UI and API, and, correspondingly, the debug_mode parameter in the UploadClickConversions method that triggers it in API responses has also been removed. See this related blog post for reference.

Reach out to the Google Ads API support channel if you have any questions or need support. If you want to discuss this change with us, join our “Google Advertising and Measurement Community” Discord server.

In today's data-driven world, the performance of your ad campaigns increasingly depends on the richness of the conversion data you import. When it comes to machine learning, the more signals you provide, the better the models can understand user behavior, predict outcomes, and deliver value. For conversion imports specifically, richer data can mean increased observed conversions, and better modelled conversions.

For this reason it’s important to make sure that your application is set up to gather, and import, as much conversion data as possible to the Google Ads API. To do that, you may need to make improvements to your existing conversion import pipeline.

Why upgrade?

We recommend that you upgrade your conversion import pipeline by gathering and importing more than just GCLIDs.

  • Durability:
    • Improve conversion attribution, especially when GCLIDs are missing, by incorporating new data points.
    • Adapt to evolving privacy regulations and the deprecation of traditional tracking identifiers.
  • Better modeling:
    • Provide more data to Google's AI for better campaign optimization.
    • Get a more complete picture of user behavior and improve model reliability.

Steps to upgrade your conversion import pipeline

  • Update your Google Ads API version:
  • Include user-provided data:
    • Include hashed user-provided data (email, phone number), when available, to unlock cross-device and engaged-view conversions. See our documentation on sending user-provided data.
    • Important: Set up your application to import all conversions, even if they only have user-provided data and don’t have a GCLID.
  • Send additional signals:
    • Capture and import session attributes by using our JavaScript helper function to generate an encoded token (setting session_attributes_encoded), or by capturing the sub-fields individually as key-value pairs (setting session_attributes_key_value_pairs). We recommend using the JavaScript helper function to provide an encoded token; use of key-value pairs is available for users who cannot generate an encoded token in the browser. User's IP address is also available as a new field, though reporting and bidding benefits will become available in the future.
    • Make sure you provide users with clear and comprehensive information about the data you collect on your sites, apps, and other properties and get consent where required by law or any applicable Google policies.
  • Adopt Braid (gbraid & wbraid):
    • Capture and import these URL parameters for privacy-safe conversion reporting when GCLID and user-provided data are unavailable.
    • Note: We recently announced that gclid and gbraid can be imported together for a single conversion starting on Oct. 3, 2025.
  • Implement order ID:
    • Set the order_id field with a unique identifier. This helps reference conversions when adjustments or retractions are needed.
  • Provide conversion environment:
    • Set the conversion_environment field to specify whether the conversion source is APP or WEB.
    • Note: We recently announced that conversion environment data will start informing bidding models for in-app conversions in late September.
  • Consent and data sharing responsibilities:
    • Advertisers are responsible for ensuring they have the right to share all data uploaded to Google. Make sure you set the consent field on all imported conversions.

Reach out to the Google Ads API support channel if you have any questions.

We're thrilled to announce significant improvements to the Google Ads API documentation, designed to make your development experience smoother, faster, and more intuitive. These changes are a direct result of valuable feedback from our incredible API developer community.

Our goal was simple: enhance discoverability and reduce the need to jump between pages, so you can spend less time searching and more time building. Let's dive into what's new:

1. Easier campaign type discovery and implementation

One of the most requested features was clearer guidance on supported campaign types. You can now more easily identify which campaign types the API supports and, crucially, find all the resources you need to implement them directly within the documentation. This streamlines your workflow from discovery to deployment.

2. Unified reporting and reference documentation

We've merged our Reporting and Reference documentation into a single location. This means all your essential references are now together, providing a more comprehensive and less fragmented experience when you're working with data and API specifics.

3. Seamless gRPC and REST integration

For those who switch between gRPC and REST, we've introduced a highly anticipated feature: a one-button toggle!

This lets you effortlessly switch between the two protocols on the same page. If you haven't yet, we highly recommend trying out our Try-it feature directly from the developer site. With gRPC and REST now co-located, accessing Try-it is more efficient than ever, making it perfect for quickly testing new features and requests.

4. Reorganized and clustered guides

All your familiar guides are still there, but we've given them a thoughtful re-ordering. Guides with similar features are now clustered together, creating a more logical flow and helping you navigate to related topics more quickly. This thoughtful reorganization aims to reduce friction and enhance your learning.

We want your feedback!

These changes are just the beginning, and your feedback is crucial as we continue to refine and improve. If you have any thoughts on these updates, or suggestions for future enhancements, please click the Send Feedback button at the bottom of any page in the documentation.

This direct line lets you provide valuable input that will help shape the future of the Google Ads API documentation.

We're incredibly excited about these updates and believe they will significantly enhance your experience with the Google Ads API. Happy coding!


This blog post was updated on August 12, 2025 to add clarification on how to attach a negative keyword list to your campaign.

We're excited to announce the launch of three powerful new features for Performance Max campaigns within the Google Ads API. These updates will give you greater control and flexibility over your Performance Max campaigns, allowing for even more precise targeting and optimization. Available today across all supported versions of the Google Ads API, these features empower developers and advertisers to refine their Performance Max strategies.

Introducing new targeting capabilities

1. Device targeting

With the introduction of device targeting, you now have the ability to specify at the campaign level where your Performance Max ads will appear. This feature provides a new layer of control, enabling you to optimize your campaign reach across various platforms. To set up device targeting, add a DeviceInfo criterion to your Performance Max campaign.

2. Negative keyword lists

To help prevent your ads from showing for irrelevant searches, we're introducing support for negative keyword lists at the campaign level on Performance Max campaigns. This highly requested feature allows you to upload and apply lists of keywords that you want to exclude, ensuring your ads are displayed to the most relevant audience. You can attach a negative keyword list to your campaign by attaching a SharedSet with the type NEGATIVE_KEYWORDS using the CampaignSharedSetService. Refer to this page for an example on how to attach a negative keyword set to a campaign.

3. Age range exclusions

We're also adding the capability to exclude specific age ranges from your Performance Max campaigns. This allows for more granular audience targeting, which helps you comply with age-related advertising regulations and focus your spend on the most appropriate demographics for your products or services. To set up an age range exclusion, add an AgeRangeInfo as a negative criterion on your PMax campaign.

How to get started

These new features are available starting today on all supported versions of the Google Ads API. For detailed documentation on how to implement these new targeting options in your Performance Max campaigns, refer to our developer guides.

We're committed to continually enhancing the Google Ads API to provide you with the tools you need to succeed. We encourage you to explore these new features and incorporate them into your Performance Max strategies to achieve even better results.

In October, 2025, Python 3.9 will reach end-of-life in October 2025 and will no longer be supported by the Python Software Foundation. Once Python 3.9 officially reaches end-of-life status, it will also no longer be supported by the Google Ads client library for Python. That means we will not make updates to the library, or address any issues related to compatibility with Python 3.9, outside of critical security updates.

In Q4 2025 we will release a new major version of the library that is incompatible with Python 3.9. This new version will include support for Python 3.14. Users of deprecated, or soon-to-be deprecated versions of Python, are at risk of losing access to the Google Ads API. Please note the below timelines:

  • Current: Python 3.7 users cannot currently access the Google Ads API
  • Q1 2026: Python 3.8 users will lose access to the API when version v19 of the Google Ads API is sunset in Q1 2026.
  • Late 2026: Python 3.9 users will lose access to the API when version v22 of the Google Ads API is sunset in late 2026

Follow the deprecation and sunset timetable for updates around the specific timing of Google Ads API version releases and sunsets.

Any library users currently relying on Python 3.8 or 3.9 should upgrade their systems to Python 3.10 or higher as soon as possible.

If you have any questions about this change, please file an issue on the client library repository.

Starting on October 3, 2025, you will be able to set both the gclid and gbraid fields on your ClickConversion messages when importing them to the Google Ads API, by using the UploadClickConversions method.

Previously, setting both of these fields resulted in the following partial failure error:

Once this change is released, this error will no longer be returned. Instead you will see successful import responses.

What’s changed?

Today, we're excited to announce that the brand guidelines rollout is now complete for all new Performance Max campaigns created through the Google Ads UI, with API-created accounts soon to follow. As was first announced in December, this means that new PMax campaigns initiated in the UI will have brand guidelines enabled by default, offering advertisers greater control over their brand's representation.

With brand guidelines rolling out to more Performance Max campaigns, it is crucial to understand how this impacts campaigns you interact with via the API, and for you to update your code in advance to prepare for it.

What do API Users need to update now?

Previously, brand assets such as your business name and logo were associated with Asset Groups.

Currently, for any PMax campaign with brand guidelines enabled, these brand assets are now stored at the campaign level. This means if your application queries or modifies brand assets for PMax campaigns, you must adjust your code to look for these assets in CampaignAsset instead of AssetGroupAsset for these campaigns. Accounting for both asset locations in your application is vital to ensure your integrations continue to function as expected. To determine if brand guidelines are enabled for a PMax Campaign, check the Campaign.brand_guidelines_enabled field.

What do API Users need to plan for in the future?

Brand guidelines will be enabled by default when creating PMax Campaigns using the API beginning in v21. You can optionally disable brand guidelines by setting the Campaign.brand_guidelines_enabled field to false on-creation. The default behavior for brand guidelines on new Performance Max campaigns created via the API remain disabled for all supported versions through v20.

To manually turn on brand guidelines through the API, you have two options:

  1. Starting in v19, all API users can choose to manually enable brand guidelines when creating a new PMax campaign. To do so, you need to set the Campaign.brand_guidelines_enabled field to true during campaign creation. You can refer to the “Add Performance Max Campaign” code sample for an example of how to create a campaign with brand guidelines enabled.
  2. To manually enable brand guidelines for an existing campaign, use CampaignService.EnablePMaxBrandGuidelines. Set auto_populate_brand_assets to true to automatically populate the campaign with top-performing brand assets. Disabling brand guidelines for a campaign after its creation is not supported.

There is an in-progress automatic migration to enable brand guidelines for existing campaigns. As previously announced, this migration has already begun on a rolling basis by CID. Only campaigns that use the same logos and business name across all asset groups will be automatically migrated. We anticipate the migration to be completed for all applicable CIDs by October 30th. In the meantime, we encourage you to use the existing migration endpoint to manually update your campaigns to brand guidelines at your own pace.

We’re launching our new “Google Advertising and Measurement Community” Discord server! To join, just click this invite link and follow the onboarding guide.

The current products available on this server are Analytics, Google Ads, Google AdMob, and Google Ad Manager.

The Ads Developer Relations team will be on this server regularly to discuss your feedback or questions using Google’s Advertising and Analytics APIs/SDKs, as well as to let you know what’s new with our products.

We’ll be hosting a “Meet the Team” in August, where we’ll go over who we are, and how you can expect to engage with us in Discord. Stay tuned as we add other events, and more channels.

Looking forward to chatting with you on Discord!

The previously announced September 30, 2025 deadline to include the ClickConversion.conversion_environment parameter has been removed. The changes described in this blog post will not be released and no further action is required for this specific update. For more details see our Help Center article.

Previously we announced that, starting on June 30, 2025, in-app conversions imported through the Google Ads API must include a value for the ClickConversion.conversion_environment field. The timing and details for this rollout have changed.

Now, starting September 30, 2025, we will begin gradually rolling out a change to our bidding models so that they will start using the presence of the ClickConversion.conversion_environment field in imported in-app conversions to ensure accurate attribution for smarter bidding and optimal campaign performance. This means that if you are using the Google Ads API to measure in-app conversions, your campaign performance may degrade if the ClickConversion.conversion_environment field is not set.

For developers importing in-app conversions, the following considerations still apply:

  1. In-app conversions are defined as any conversion events that occur within an app, such as purchase, add to cart, or sign up.
  2. Once this bidding model change is launched to a campaign, if you do not include the conversion_environment field when importing conversions, you may observe fewer in-app conversions and worse overall campaign performance.
  3. If you do include conversion_environment data for your imported conversions, it ensures attribution accuracy and campaign effectiveness.
  4. The presence or absence of the conversion_environment parameter does not impact conversion uploads. These conversions will still be consumed and reported, with no error messages.

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

In v21 of the Google Ads API, the UploadClickConversion method’s debug_enabled setting will be removed. Starting on August 6, 2025, all the previous versions (v18, v19, and v20) will ignore this setting if it’s set as part of a request.

As a result of this change, Google Ads API will no longer return ConversionUploadError.CLICK_NOT_FOUND errors, because setting the debug_enabled field to true is the only way to retrieve it. This error code will be removed from the Google Ads API in a future version.

Here’s a breakdown of how this change will materialize in each Google Ads API version:

If your application uses this field or error code, make sure you update your application to handle the new API behavior.

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

Previously we announced that, starting on June 30, 2025, in-app conversions imported through the Google Ads API must include a value for the ClickConversion.conversion_environment field. The timing and details for this rollout have changed.

Now, starting September 30, 2025, we will begin gradually rolling out a change to our bidding models so that they will start using the presence of the ClickConversion.conversion_environment field in imported in-app conversions to ensure accurate attribution for smarter bidding and optimal campaign performance. This means that if you are using the Google Ads API to measure in-app conversions, your campaign performance may degrade if the ClickConversion.conversion_environment field is not set.

For developers importing in-app conversions, the following considerations still apply:

  1. In-app conversions are defined as any conversion events that occur within an app, such as purchase, add to cart, or sign up.
  2. Once this bidding model change is launched to a campaign, if you do not include the conversion_environment field when importing conversions, you may observe fewer in-app conversions and worse overall campaign performance.
  3. If you do include conversion_environment data for your imported conversions, it ensures attribution accuracy and campaign effectiveness.
  4. The presence or absence of the conversion_environment parameter does not impact conversion uploads. These conversions will still be consumed and reported, with no error messages.

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

This post was recently updated to reflect that API support for these settings will be included in v21.

We're providing an important update regarding new image optimization features rolling out in the Google Ads user interface, specifically impacting Performance Max campaigns.

What are these new UI features?

  • Landing Page Images: This setting allows Google AI to automatically source relevant images directly from your ad's landing page. The aim is to dynamically incorporate these visuals into your ads, potentially improving relevance and extending your reach across more placements.
  • Image Enhancements: With this feature, Google AI can automatically make improvements to your uploaded image assets. This can include smart cropping to create different versions of your images, helping to unlock more ad inventory and boost performance. Future enhancements may also include capabilities like uncropping or animating images.

You can find more information about these features in the Google Ads Help Center.

Default behavior:

Image enhancements will be enabled for all Performance Max users. For Landing Page Images, the setting will be enabled on PMax only if the account level Dynamic Image setting is active. Note that enabling the account-level Dynamic Image setting requires manual opt-in through the UI.

Key Information for API Users:

At this time these new UI features for Performance Max campaigns can only be managed with the Google Ads user interface. API control of these settings will become available in version 21.

  • These features will not be viewable through the Google Ads API.
  • At this time, you will not be able to opt-in or opt-out of these new settings (Landing Page Images and Image Enhancements) using the Google Ads API. To change the status of these settings you must use the Google Ads UI.

API Integration Impact:

Your existing API integrations will continue to function for the features and settings currently supported by the API. However, these new additional Performance Max settings will need to be managed by your users directly in the Google Ads interface.

We encourage you to familiarize yourselves with the details provided in the Google Ads Help Center to understand the scope of these UI changes for Performance Max campaigns. This will enable you to effectively support your users and clarify what can and cannot be controlled via the API.

We are committed to keeping our developer community informed. Stay tuned to this blog for further updates on control of these image optimization settings in the Google Ads API.

Starting on May 1, 2025, we will begin to automatically enable brand guidelines for Performance Max campaigns that use the same brand assets (BUSINESS_NAME, LOGO, and LANDSCAPE_LOGO) across all asset groups.

Please note the rollout timelines:
  • For Google Ads UI users: The process will begin on May 1, 2025 for customer IDs that exclusively manage their campaigns using the UI.
  • For API users: This process will begin on June 1, 2025.
The overall process across all campaigns is expected to be complete by July 31, 2025.

Important Notes:
  • Only campaigns using consistent business names and logo assets across all asset groups will be automatically migrated. Campaigns with variations in these assets will not be migrated.
  • All eligible Performance Max campaigns under a customer ID will be migrated simultaneously.
  • After migration, each migrated campaign will have its own set of brand assets stored at the campaign level using CampaignAsset.
  • You can tell if a campaign has been migrated by checking its Campaign.brand_guidelines_enabled field.
Actions Required
If your application creates asset groups, update your code to check the campaign’s Campaign.brand_guidelines_enabled field. This will tell you whether to include brand assets in the new asset group.

If your application modifies brand assets, update your code to check the campaign’s Campaign.brand_guidelines_enabled field. This will tell you where to save the brand asset; either on a campaign using a CampaignAsset or on an asset group using an AssetGroupAsset.

To avoid extra steps later, we strongly recommend migrating all of your campaigns now using CampaignService.EnablePMaxBrandGuidelines. If you migrate your campaigns manually, each CampaignService.EnablePMaxBrandGuidelines request can only include 10 EnableOperations.

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

As of v17 of the Google Ads API, recommendations of type LOWER_TARGET_ROAS have included a current_average_target_micros as a whole currency value instead of a micros value (where one million is equivalent to one currency unit) as indicated by the field name. On April 23, 2025, we are rolling out a fix to populate current_average_target_micros with the micros value.

Note that as a result of the incorrect unit, the currently returned current_average_target_micros value is truncated and is therefore less precise than the micros equivalent. If you were converting the existing value to micros by multiplying by 1,000,000, the resulting value wouldn't necessarily be correct because any digits past the first position are dropped. For example, a current_average_target_micros value of 5 might have been converted to 5,000,000 in micros before the change, but could be returned as 5,750,000 (more precise) after the change.

What do I need to do?

If you use the Google Ads API or Google Ads scripts to query the recommendation resource for recommendations of type LOWER_TARGET_ROAS, and your application logic uses the current_average_target_micros field, you must update your application to treat the value as micros instead of a whole budget value for when the change takes effect on April 23, 2025.

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

Starting on April 7, 2025, a new maximum membership duration of 540 days will gradually roll out for Customer Match lists in Google Ads and Display & Video 360 platforms. This change is being made to better align with Customer Match best practices.

From this date, existing lists configured to have no membership expiration set or membership expiration greater than 540 days will be updated to use the maximum membership duration of 540 days, and a membership duration of 540 days will be retroactively applied to all those existing members that have a longer duration. The reflected list size decreases as memberships expire. Campaigns targeting too small a segment of users can’t serve ads and may automatically pause. Refresh your Customer Match list before April 7, 2025 to renew memberships or replace the expired Customer Match lists with up-to-date lists to ensure that your ad campaigns are not interrupted.

With a set membership duration, you will need to start refreshing your list regularly by re-uploading customer data to your lists. If you do not, the list size will get smaller over time. Refer to this article to learn more about Customer Match.

Required actions for Google Ads API users

Starting on April 7, 2025, requests to set the UserList.membership_life_span field in the Google Ads API to greater than 540 will return a RangeError.TOO_HIGH error. We recommend you check your current implementation to make sure you no longer set the field value to greater than 540.

For existing user lists with membership_life_span field in the Google Ads API greater than 540, starting from April 7, 2025 customer data user lists will be automatically migrated to have a membership life span of the maximum 540 days. If you need to update your code to regularly refresh your customer lists, check out our guide for examples.

No action is required if you do not set the membership_life_span field in the Google Ads API and you regularly refresh your customer lists. Leaving the field unset has the same effect as setting it to the maximum 540 days value.

If you run into issues or have questions about these changes, please contact us using our Google Ads API forum.

Required actions for Display & Video 360 API users

Starting on April 7, 2025, firstAndThirdPartyAudiences.create and firstAndThirdPartyAudiences.patch requests to the Display & Video 360 API that set the membershipDurationDays field to greater than 540 will return a 400 error. Setting the membershipDurationDays field is required when you create a Customer Match list, so we recommend that you check your current implementation to make sure you no longer set the field to a value greater than 540.

From April 7, 2025, existing Customer Match list with a membershipDurationDays field set to a value greater than 540 days will be automatically migrated to a membership duration of the new maximum 540 days. After this date, you will need to regularly refresh your Customer Match list. See our guide for examples on how to update your Customer Match list.

If you run into issues or have questions about these changes, please contact us using our Display & Video 360 API Technical support contact form.


We are pleased to announce the launch of the Google Ads API Research Group. As a Developer Relations team, we want to ensure your voice is not only heard, but that your suggestions are incorporated into product decisions. Our goal is to turn your feedback into real improvements to the Google Ads API developer experience.

As a member of the research group, we'll invite you to participate in user research opportunities, such as surveys and usability studies. These opportunities let you voice your opinions and ideas about the Google Ads API, inform product design and prioritization, and ultimately shape the Google Ads API developer experience.

To sign up for the Google Ads API Research Group, fill out the opt-in form. This form takes about 5 minutes to complete. We are deeply committed to improving developer experience and appreciate your feedback.

With v18 of the Google Ads API, you can now use the Recommendations.GenerateRecommendations method during campaign construction to retrieve optimized budget suggestions for Performance Max and Search campaigns.

When using the GenerateRecommendations method with a recommendation type of CAMPAIGN_BUDGET, you can supply inputs, such as final URL and bidding strategy, which Google machine learning models will use to generate budget recommendations. Google Ads API users that provide a campaign creation interface can provide budget prefills that fit into the campaign creation workflow. As with many recommendation types, campaign budget recommendations provide projected impact metrics to help understand the effect that implementing the recommendation will have on account performance.

Explore additional Recommendations API features

Recommendations in the Google Ads API offer several ways to increase your campaigns' performance through customized suggestions like adding new keywords or updating your bidding strategy. With RecommendationSubscriptionService, you can subscribe to automatically apply specific recommendation types of your choosing for your account. To retrieve and process recommendations directly, you can leverage the recommendation reporting resource.

To explore the full recommendations offering, check out our implementation guide.

Starting on September 9, 2024, Google Ads API users will no longer need to wait 24 hours before uploading conversion adjustments - they can be uploaded immediately after the original conversion has been uploaded or recorded by Google tags.

This means that you will no longer need to keep track of the 24-hour window before uploading conversion adjustments, and can stop checking for certain error codes and retrying those upload requests.

Specifically, the following changes will take effect:

  1. The following error codes will no longer be returned in responses from the UploadConversionAdjustments method, and will no longer be visible in diagnostic reports:
  2. Conversion adjustments that would previously be rejected with these error codes will count towards the pending_count in diagnostics until they’re processed, at which point they’ll be counted towards either the successful_count or failed_count fields. This might take up to 24 hours.

Here is how these changes will affect older Google Ads API versions v15 and v16:

  1. The following error codes will no longer be returned in responses from the UploadConversionAdjustments method, and will no longer be visible in diagnostic reports:
  2. Any conversion that would have triggered these codes will, in diagnostic reports, count towards the total_event_count metric while being processed. Once processing is completed they will be counted towards either the successful_count or failed_count. This might take up to 24 hours.

What do I need to do?

  1. Remove any logic from your application that waits before uploading adjustments, and begin uploading conversion adjustments at any time after the original conversion has been uploaded.
  2. Modify your application logic and business processes so that you are not tracking the two conversion adjustment errors that are being removed.
  3. If you rely on the successful or failed event count metrics, revisit your application logic with the understanding that some uploaded events may, at times, when using v17, be represented as pending.

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