Posted:

In preparation for improvements to CPA bidding in AdWords, starting October 26, 2015, we'll perform a one-time removal of inactive ad group-level CPA bids.

What's an inactive ad group CPA bid, you ask? An ad group-level CPA bid is inactive if the ad group's effective bidding strategy is not a CONVERSION_OPTIMIZER strategy. This includes CPA bids on ad groups whose effective bidding strategy is TARGET_CPA, since the target for such ad groups is specified at the strategy level. The effective bidding strategy is the ad group-level strategy, if specified. Otherwise, it’s the bidding strategy set at the campaign-level.

How this change impacts the AdWords API

After the one-time removal of inactive CPA bids, there are two categories of ad groups you'll want to review:
  • Ad groups from which inactive CPA bids were removed: For these ad groups, the AdGroup object will no longer have a CpaBid in the bids attribute of its ad group-level BiddingStrategyConfiguration. Therefore, if you change the effective bidding strategy of these ad groups back to a CONVERSION_OPTIMIZER strategy, you will have to add a new CpaBid to the ad group’s BiddingStrategyConfiguration for your ads in the ad group to serve. You will only have to make this change once.
  • Ad groups you change from TARGET_CPA to CONVERSION_OPTIMIZER: AdWords will no longer copy the TargetCpaBiddingScheme.targetCpa value to a CpaBid on the ad group's bidding strategy configuration. Therefore, you will not automatically get the TARGET_CPA strategy bid if you transition to CONVERSION_OPTIMIZER. If the ad group's bidding strategy configuration already has a CpaBid, then CONVERSION_OPTIMIZER will use that bid. Otherwise, you will have to add a new CpaBid to the ad group BiddingStrategyConfiguration before ads in your ad group will serve.

How this change impacts bidding

Since the CPA bids being removed are inactive, this change will have no impact on bidding or ad serving.

What you should do

If you are interested in inactive CPA bids for CONVERSION_OPTIMIZER bidding strategies, download the current bids using AdGroupService before the removal date.

More bidding resources

Still have questions? Feel free to visit us on the AdWords API Forum or our Google+ page.

Posted:
We have added the following new features in AdWords scripts.

Bidding

You can now manage bids for your campaigns, ad groups and criteria in AdWords scripts. Support is also provided to retrieve and update shared bidding strategies in your account. The current release allows you to use MANUAL_CPC, MANUAL_CPM, BUDGET_OPTIMIZER or CONVERSION_OPTIMIZER as bidding strategies; and set CPC, CPM or CPA bids to your biddable entities. See our guide and code snippets to learn more about this feature.

Display criteria

You can now manage the following display criteria through AdWords scripts: keywords, placements, topics, audiences. Check out our code snippets for usage examples.

New ad extensions

You can now manage review and callout extensions for your campaigns and ad groups in AdWords scripts.

If you have questions or feedback about these features, let us know on our forum.

Posted:
Starting on April 22nd, 2014, a v201309 or v201402 AdGroupBidModifierService.mutate request will fail with a CriterionError and reason CANNOT_BID_MODIFY_CRITERION_TYPE if all of the following conditions are met for the same criterion:
  • The criterion is a Platform criterion for the mobile platform ID (30001)
  • The Campaign has a CampaignCriterion for the mobile platform criterion with a bidModifier set to 0 (this is displayed as a Bid adj. of -100% under Settings in the AdWords UI)
  • The AdGroupBidModifier has the same mobile platform criterion and attempts to set the bidModifier to any value other than 0
The AdWords API and UI will start rejecting such requests because allowing this combination could give the impression that the ad group will serve ads for the mobile platform criterion when in fact it will not.

For example, assume you create a campaign with a CampaignCriterion containing the following criterion and bid modifier:
<criterion xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:type="Platform">
    <id>30001</id>
    <type>PLATFORM</type>
    <Criterion.Type>Platform</Criterion.Type>
    <platformName>HighEndMobile</platformName>
</criterion>
<!-- This will appear as "-100%" in the UI. -->
<bidModifier>0.0</bidModifier>
If you attempt to create an AdGroupBidModifier containing the following criterion and bid modifier for any ad group in the campaign on or after April 22nd, 2014, it will fail because the non-zero ad group bid modifier of 1.25 would have no effect:
<criterion xmlns:ns2="https://adwords.google.com/api/adwords/cm/v201402"
  xsi:type="ns2:Platform">
    <ns2:id>30001</ns2:id>
</criterion>
<!-- This will appear as "+125%" in the UI.  Any other non-zero
     value will also fail. -->
<bidModifier>1.25</bidModifier>
Before April 22nd, 2014, please take the following actions to ensure a smooth transition for your application:
  • Make sure that your application will be able to properly handle the error
  • Examine your existing campaigns and ad groups and address any bid modifiers that meet the conditions above
Not using bid adjustments in your campaigns and ad groups? Check out our bid modifiers guide to learn how to use this powerful feature of AdWords.

Still have questions? Feel free to visit us on the AdWords API Forum or our Google+ page.

Posted:
We previously announced that we are removing the ability to set contentBid for “Display Network only” campaigns in the AdWords API on February 18th, 2014. However, based on developer feedback, we are moving this date to March 3, 2014.

If your application modifies ad group bids for Display-only campaigns, then your application may be affected by this change.

To make sure your applications and scripts work properly, you should make the following changes to your application code before March 3, 2014:
  • Modify your code to set the default ad group bid instead of contentBid for “Display Only Campaigns”.
  • Clear out the contentBid field for “Display Only Campaigns” by setting it to zero so that AdWords will start using the default ad group bid when serving your ads.
  • If you store campaigns in a local data store, re-sync your data store with AdWords to pick up the updated default bid values.
If you have any questions about this change or the AdWords API in general, you can post them on our developer forum. You can also follow our Google+ page for updates about the AdWords API.

Posted:
As previously announced, we are removing the ability to set contentBid for “Display Network only” campaigns in the AdWords API on February 18th, 2014. Once this change happens, you will start receiving a ReadOnlyError.READ_ONLY error for all versions of the API if you set contentBid for a “Display Network only” campaign. You can use the fieldPath of the ApiError object to identify the operation triggering the error.

To make sure your applications and scripts work properly, you should make the following changes to your application code before February 18th, 2014:
  • modify your code to set the default ad group bid instead of contentBid for “Display Only Campaigns”
  • clear out the contentBid field for “Display Only Campaigns” so that AdWords will start using the default ad group bid when serving your ads
  • if you store campaigns in a local data store, re-sync your data store with AdWords to pick up the updated default bid values
If you have any questions about this change or the AdWords API in general, you can post them on our developer forum. You can also follow our Google+ page for updates about the AdWords API.

Posted:
[Update 2/17/2014: Based on developer feedback, we have moved the date of this change back to March 3, 2014.]

We're making a change to how the contentBid setting works in “Display Network Only” campaigns. Here's some background on the change and how it might affect you.

Currently, if you have a campaign that targets only the Display Network, then you can use a CpcBid at the adgroup level to specify a default bid and a display network bid override for content networks. In the past, we've allowed users to specify a contentBid in a "Display Network Only" campaign type, even though contentBid is useful only for "Search & Display Networks" campaign type. This allowed users to switch between "Search & Display Networks" and “Display Network only” campaign types without modifying their bids.

Since display campaigns have become so much more specialized over time, we've recently removed support for switching “Display Network only” campaigns to other campaign types. This makes contentBid setting obsolete for “Display Network only” campaigns, so we are removing the ability to set contentBid for “Display Network only” campaigns in AdWords API. The default bid value will be used for serving your ads on Google Display Network.

What this means for you

If you do not set contentBid at the adgroup level for a “Display Network only” campaign, this change will not affect you.

Starting on February 18th, 2014, if you set contentBid for a “Display Network only” campaign, then you will start receiving a ReadOnlyError.READ_ONLY error for all versions of the API. You can use the fieldPath of the ApiError object to identify the operation triggering the error.

To avoid getting errors, you should:
  • modify your code to set the default adgroup bid instead of contentBid
  • clear out the contentBid field to make sure that AdWords will start using the default adgroup bid when serving your ads
  • if you store campaigns in a local data store, re-sync your data store with AdWords to pick up the updated default bid values
If you're still using contentBid to set ad group display bids in “Display Network only” campaigns within a few days of February 18th, 2014, we plan to do a one-time migration of those bids to become your ad group default bid. This migration is intended to ensure your ads serve with the correct bid; you must still make sure your code is able to handle ad group bids on the Display Network properly.

If you have any questions about this change or the AdWords API in general, you can post them on our developer forum. You can also follow our Google+ page for updates about the AdWords API.

Posted:
Since February 2013 advertisers have been able to explicitly set the Content Bid Dimension in the API. In the meantime, we’ve also been automatically setting the Content Bid Dimension for advertisers using older versions of the API, and for those using v201302 that did not explicitly specify a bid dimension. The automatic setting followed the logic described in this blog post.

Once v201209 is deprecated and all legacy campaigns are auto-migrated to Enhanced Campaigns and Powerful Bidding (July 22, 2013), we’ll stop setting the Content Bid Dimension implicitly for ad groups (new and existing). As announced back in March, advertisers wanting to override the ad group default bid with criteria-level bids from a given content dimension will need to explicitly set the contentBidCriterionTypeGroup to the desired CriterionTypeGroup.

Existing ad groups will keep their Content Bid Dimension setting, regardless of whether it has been set implicitly or explicitly. No changes are needed if you want to preserve the same Content Bid Dimension. After July 22, if you create a new ad group or want to change the bid dimension of an existing one, you’ll have to explicitly set the Content Bid Dimension.

You can verify the content bid dimension using AdGroupService.AdGroup#contentBidCriterionTypeGroup

If you have any questions or need help with migration, please contact us on the forum. You can also reach out to us on Google+ page.

Posted:
To provide more control and precision over bids in enhanced campaigns, we’ve now made ad group level mobile bid adjustments available in the AdWords API, as previously announced.

While the majority of advertisers will still see the most value in using the existing campaign level bid adjustments, this new feature will be useful for those who wish to set different mobile bid adjustments within an enhanced campaign. The functionality is accessible via the new AdGroupBidModifierService for all currently available AdWords API versions. It is not required to migrate to a different version of the API to use this new service. Please refer to this guide covering technical aspects of the release.

The new feature is only available for enhanced campaigns, so if you haven’t upgraded yet, now would be a good time. As a reminder, we will begin automatically upgrading all AdWords campaigns to enhanced campaigns starting on July 22, 2013.

If you have any questions regarding this new feature or enhanced campaigns, feel free to ask us on the forum, during office hours or via the Plus page.

Posted:
We’re changing the way that bidding works for the display network, by removing implicit ordering and introducing something more simplistic. You can migrate your AdGroups now or allow them to be automatically migrated for you. But before we can explain the new system, let’s take a look at what we’ve got now.

Historically, bidding on the display network has relied on implicit priority orders to determine how to use the criteria added to an AdGroup.

In the current system, criteria-level bid overrides an AdGroup default bid. But since the display network supports up to 6 dimensions of targeting, we often need to pick one of many possible bids to use for a given impression. To do so, we use the following order:
  • Placement (most specific)
  • Age
  • Gender
  • Topic
  • Interests and remarketing list
  • Display Network (AdGroup-level)
  • Keyword
  • Default AdGroup Bid (least specific)
to choose which value to use. If a matching placement has a bid, we use that. If not, we look for a matching Age bid, etc. If we get to User Lists/Interests and still have not found a bid override, we look for an AdGroup-level “Display Network Bid”. If that also doesn’t exist, then we take a Keyword bid if there is one. Finally, if we still haven’t found a bid to use, we use the default AdGroup bid.

For further information, see how bids are used on the display network.

Explicit Content Bid Dimension
We will be replacing the implicit order with a single display bid override dimension per AdGroup. Ads serving on the display network will honor bids from that dimension and ignore any bids that may exist on other dimensions. We will use this same override dimension for URL overrides - serving will honor urls from the display override dimension, and ignore urls from any other dimension.

In the new implementation, you will be able to explicitly specify which bid dimension will be used per AdGroup. You can set this by using the new object: BiddingStrategyConfiguration, and the new attribute on the AdGroup object: contentBidCriterionType, both are modified through the AdGroupService. For more information on the new implemenation, please see this guide on Bidding.

Migration
With the introduction of AdWords API version v201302 you’ll be able to manually migrate your AdGroups to take effect as you have been used to with the existing implementation. If you chose not to set these on existing AdGroups, however, for the duration of the migration period, things will continue with the existing order. After the migration period, we will automatically select the most appropriate dimension for each of your AdGroups.

To manually migrate your AdGroups, or to configure new AdGroups, you need to set the contentBidCriterionTypeGroup to the desired CriterionTypeGroup. You can then add new Bids using the BiddingStrategyConfiguration, that can then be selected at a later time.

Please note, by setting the contentBidCriterionType, the AdGroup will be marked as migrated.

Once the manual migration period has ended, those AdGroups that have not been migrated will be automatically migrated to the new structure. The automatic migration will select the contentBidCriterionTypeGroup, for un-migrated AdGroups, based on the existing method of prioritization. All automatically migrated AdGroups can continue to be edited through the API.

Once the automatic migration is complete, the old system of bidding will be retired and all AdGroups will honour the new bid dimension system. Also, once an AdGroup has a contentBidCriterionType, all subsequent changes to the effective bid dimension should be done through the same field.

Reports
With these changes, comes a new report, the PLACEMENT_PERFORMANCE_REPORT which will contain all the information about manual placements. We strongly recommend using this report for queries regarding placement performance, moving forward.

There will also be changes to the AUTOMATIC_PLACEMENTS_PERFORMANCE_REPORT and URL_PERFORMANCE_REPORT to better match the AdWords website.