MSDN Library

Campaign Management API Release Notes

This page has been deprecated and the content will not be refreshed as of February 2013.

Instead please see Release Notes or Bing Ads API Overview.

This topic provides information about changes to the Campaign Management service.

Version 8 R4.7 (February 2013)

Changes to Ad Extensions

Removed the Location Ad Extensions Limit on Add

The AddAdExtensions operation no longer restricts the number of location ad extensions that you can add per call to 10. Previously, you could add 100 ad extensions, but only 10 of them could be location ad extensions. You can still add only 100 ad extensions, but there is now no restriction to the number of them that can be location ad extensions.

In addition, the service used to determine the location’s geographical coordinates when you called AddAdExtensions. If the service could not determine the coordinates, AddAdExtensions would fail. Now, the service determines the coordinates after the extensions are added. To check whether the service successfully determined the coordinates, call the GetAdExtensionsByIds or GetAdExtensionsByCampaignIds operation to get the LocationAdExtension object. The service successfully determined the coordinates if the GeoCodeStatus element is set to Complete. It can take from seconds to minutes for the service to determine the coordinates.

New operation to get an account’s extensions

Added the GetAdExtensionIdsByAccountId operation, which returns an account’s ad extensions. You can request all of the account’s ad extensions or only those that are associated with a campaign. Previously, you had to maintain your own list of ad extension IDs.

Version 8 R4.6 (January 2013)

Added support for the following markets.

  • Indonesia

  • Malaysia

  • Philippines

  • Taiwan

  • Thailand

  • Vietnam

The following topics were updated with information to support these new markets.

  • Match Type and Bid Values – Added bid values for each country’s currency, except for the Vietnam Dong, which is not supported.

  • Language Values – Added the TraditionalChinese language value for Taiwan. The other countries use English.

  • Publisher Country Values – Added each country and its country code and support language.

  • TextAd – Added maximum string lengths for the Text and Title fields to support Traditional Chinese.

In addition, the Country Codes file that contains the location targeting codes was updated to reflect these new distribution channels. For information about downloading the Country Codes file, see Country Codes.

Version 8 R4.5 (November 2012)

Business Targeting Being Removed

Business location targeting will no longer be supported beginning April 2013. Any existing business targets will automatically be converted to radius targets (in the same target object). Please update your application accordingly. For more information, see Business Targeting.

Added New Ad Extension Types

You can include the following new extensions in a text ad.

  • CallAdExtension – Text ads will include a phone number. The phone number is clickable on hi-fi mobile devices.

  • LocationAdExtension – Text ads will include the business’ address and a phone number. The phone number is clickable on hi-fi mobile devices.

For more information about using these new extensions, see Ad Extensions.

System_CLiX_note Note

To use these extensions, you must be a member of the location ad extension v2 and call ad extension v2 pilot programs.

System_CLiX_note Note

If you call the SetCampaignAdExtensions and GetCampaignAdExtensions operations to set and get location and call ad extensions, you must migrate your application from using the old version of AdExtension to using version 2 of the location and call ad extensions by April 2013. For more information, see Ad_Extensions_V1.

Transitioning from Metro Codes to DMA® Codes

Bing Ads is transitioning from metro codes to DMA® codes for the United States. You must update your application to use the new DMA® codes by April 2013. All campaigns that reference metro codes will be automatically migrated to the new DMA® codes by April 2013. If you use the old codes after the migration, your application will stop working.

For details about the migration, see the Coming Soon: Bing Ads API is Migrating from Metro to DMA® Targeting blog post.

For links to the new country codes file that contains the DMA codes, and to a Microsoft Excel spreadsheet that maps the old metro and city codes to the new DMA and city codes, see Country Codes.

If you haven’t already read the Added Location Version to Get Target Requests release notes included in the Version 8 R4.3 notes, please do so. It contains possible breaking changes related to the transition to DMA codes.

Version 8 R4.4 (October 2012)

Added Site Links to Ads

You can now include site links to ads. By including deep links into your website, you can direct customers to relevant promotional or technical information that may help increase conversions. For details about how to add site links to ads, see Ad Extensions.

Version 8 R4.3 (September 2012)

Specify a Destination URL at the Keyword Level

Previously, to specify a destination URL for a keyword, you set the Param1 element of the Keyword object to the destination URL. To use the destination URL in an ad, you would set the DestinationUrl element of the TextAd object to {Param1}. When the ad was displayed, the destination URL would be pulled from the Param1 element of the keyword.

Now, you can explicitly specify the destination URL to use in the ad when the user’s search query matches the keyword. To specify the destination URL of a keyword, you call the SetDestinationUrlToKeywords operation.

The keyword’s destination URL is used if specified; otherwise, the ad’s URL is used.

Note that you can continue to use the Param1 element of the keyword to specify the destination URL of a keyword; however, you are encouraged to begin using the SetDestinationUrlToKeywords operation instead.

You use the following operations to get and set the destination URL of a keyword.

Appeal Editorial Rejections

If an ad or keyword fails editorial review, and the failure is appealable, you can call the AppealEditorialRejections operation to appeal the rejection.

To find ads or keywords that failed the editorial review process, call the GetAdsByEditorialStatus or GetKeywordsByEditorialStatus operation, respectively.

To determine the reason for the failure and whether it’s appealable, call the GetEditorialReasonsByIds operation. The operation returns an EditorialReasonCollection object which includes an AppealStatus element. The rejection is appealable if the status is set to Appealable. For possible status values, see AppealStatus.

Exclude Locations from Location Targets

You can now exclude locations from a location target. For example, if you target the U.S., you can exclude one or more states from being targeted. To exclude a location from a target location, call the SetExclusionsToAssociatedEntities operation. For details, see Exclude Locations from a Location Target.

To get a list of locations that have been excluded from a location target, call the GetExclusionsByAssociatedEntityIds operation.

Added Location Version to Get Target Requests

Added the LocationTargetVersion element to the following request messages. You can use the new element to specify the version of the location codes to return if the target contains location targets. For example, you can request that the operations return metro codes or Nielsen DMA® codes. By default, the operations will return the oldest supported version. Currently, the oldest supported version is metro codes.

Because older versions may not be supported in the future, you should update your application to set this element to Latest to avoid breaking changes.

Version 8 R4.2

Increased the number of Negative Site URLs per Ad Group and Campaign

The number of negative site URLs that you can specify per ad group and campaign has increased from 500 to 2,000.

This increase affects the number of AdGroupNegativeSites and CampaignNegativeSites objects that you can pass to the SetNegativeSitesToAdGroups and SetNegativeSitesToCampaigns operations, respectively.

You can pass a maximum of 5,000 objects. The total number of URLs that you can specify is 30,000; however, you should limit the total number of negative site URLs included in the specified campaigns to 10,000. For example, if you specify 2,000 URLs per campaign, the maximum number of CampaignNegativeSites objects that you should pass is 5.

You Can Now Specify How your Ads Rotate into the Auction.

You can now specify how you want your ads rotated within an ad group. Previously, the best performing ads were rotated into the auction. Now, you can continue favoring best performing ads or you can request that ads be rotated evenly into the auction.

Favoring best performing ads reduces the likelihood that new ads will be rotated into the auction in the near future. If you add seasonal ads or if you want to experiment with the ad copy of underperforming ads, you should request that ads be rotated evenly into the auction to get the ads in front of customers.

Use the following operations to get and set the type of ad rotation applied to an ad group.

Added New Location Target Codes

Added location target codes for the following countries.

Version 8 R4.1

Increased the Number of Ads per Ad Group

A standard user can now add a maximum of 50 ads to an ad group. The previous limit was 20 ads per ad group.

Version 8 R4

Removed Bulk Download Support

This is a breaking change for members of the BulkDownload pilot program. The bulk download feature has moved to the Bulk service. For more information, see the Bulk Service Release Notes.

The following operations have been removed from the Campaign Management service.

  • DownloadCampaignHierarchy

  • GetDownloadStatus

Version 8 R3

Keywords Now Support URL by Match Type

The way that you specify the match types of a keyword is changing. Previously, you would create a single Keyword object and specify a bid value for each match that you wanted to bid on (for example, exact match or phrase match). If you did not specify a bid value at the keyword-level, the default bid value specified at the ad group level was used.

Now, you must create a Keyword object for each match type that you want to bid on. For example, to bid on the keyword car by using exact match and phrase match, create a Keyword object and set the Text element to car and the ExactMatchBid element to a bid amount. Then, create a second Keyword object and set the Text element to car and PhraseMatchBid to a bid amount. When you add the keywords, you’ll get a unique keyword ID for each keyword and match-type combination.

Because this is a breaking change and will require you to update your campaign management code and may require you to update your reporting code, account managers will work with customers to migrate their accounts. After your accounts are migrated, the new keyword behavior will be enforced.

Note that the new keyword behavior will be enforced for all customers in the German, Austrian, and Swiss markets.

Added an Operation to Check the Data Migration Status

Occasionally, a new feature requires that a customer’s data be restructured. For example, to support the new URL by match type keyword model, if a customer’s keyword object contains more than one match type bid, new keyword objects will need to be created to ensure that each keyword object contains a unique keyword and match type combination.

While the customer’s data is being restructured, the customer will not be allowed to add, delete, update, or get any of their campaign entities. If you try to access an entity of an account that is being restructured, the call will fail with error 2928 (CampaignServiceCustomerDataBeingMigrated). To determine the status of the restructuring process, call the GetAccountMigrationStatuses operation.

Added a Keyword Broad Match Modifier

You can use the broad match modifier to require that specific terms in your keyword be present in the search query. To implement the broad match modifier, include a plus sign (+) in front of every term in the keyword that must be present in the search query. For example, if you bid on “Hawaii hotels”, your ad could be served for the search queries, “Hawaii beach hotels” and “Hawaii rentals.” However, if you changed the keyword to “+Hawaii +hotel”, the keyword would match only “Hawaii beach hotels.” For more information about the broad match type, see Match Type and Bid Values.

Version 8 R2.3

Campaign-Level Conversion Tracking is No Longer Supported

Conversion tracking is no longer supported at the campaign level. If you set the ConversionTrackingEnabled element of the Campaign object, the value is ignored.

Calling the SetAnalyticsType operation and setting the Type element of the AccountAnalyticsType object to CampaignLevel will fail.

If your account specifies CampaignLevel analytics at the time of this release, the analytics type is changed to Enabled. Your campaign-level conversion tracking script will continue to work and reporting will continue to report conversion data.

For more information about enabling account-level analytics and using goals to track conversions, see Managing Campaign Analytics and About conversion tracking.

Version 8 R2.2

Negative Keyword Behavior Changed

Previously, if you specified negative keywords at the campaign and ad group level, only the ad group's negative keywords were used to compare to the user’s query. Now, both lists will be used to compare to the user’s query. Campaign-level negative keywords are used if an ad group in the campaign does not specify negative keywords.

Devise OS Targeting is No Longer in Pilot

Anyone can now target specific mobile and tablet devices and device-specific operating systems. For information about targeting devices, see the Remarks section of DeviceTarget.

Version 8 R2.1

Increased the Ad’s text length.

The maximum length of an ad’s text, after all parameter substitution strings are resolved, has increased from 70 characters to 71 characters. For information, see the Text element of the TextAd data object.

Version 8 R2

Changes to the Daily Budget Calculation

Previously, if you created a campaign and specified a daily budget, the service would calculate the monthly budget limit by multiplying the daily budget by the average number of days in a month (30.4 days).

Beginning with this release, the service will calculate the monthly budget limit by multiplying the daily budget by the number of days in the month. For more information about how the monthly limit is calculated, see the Budget Rules section of the Campaign object.

Changes to Negative Keywords

This feature will be available as early as November 10, 2011.

In addition to supporting a phrase-match comparison to determine whether a negative keyword applies to the search query, you can now choose to use an exact-match comparison. To use an exact-match comparison, enclose the negative keyword in square brackets (for example, [old dog]). For more information, see Negative Keywords.

Negative keywords are no longer supported at the keyword level. If you add or update negative keywords at the keyword level, the operation will not fail; however, the negative keywords will be ignored.

Added Physical Intent for Location Targeting

The service now supports the HasPhysicalIntent element of the LocationTarget object. The element determines whether the user must be physically located in the targeted location in order for the ad to display. For more information, see LocationTarget.

Changes to the Market Redefinition Pilot

Members of the Market Redefinition pilot no longer use the PublisherCountries element of the AdGroup object to specify the countries where they want the ads in the ad group to display. Instead, if you want your ads to display only in specific countries, use Country targets to identify the countries. To target countries, see LocationTarget.

Added the Address and Phone Number to Text Ads

With the release of version 8, if your campaign includes a business location target, the address and phone number of the business is included in the campaign’s text ads. With this release, members of the LocalAttributes and ClickToCallOnly pilot programs can choose whether to include the address and phone number in the text ads. For more information, see the Remarks section of SetCampaignAdExtensions.

In addition, you can specify a different phone number to use in the ad instead of the one specified in the business location target. If the ad is displayed on a high fidelity mobile phone, you can also specify whether to disable the display URL link, so that the click-to-call link is the only clickable link in the ad.

The following are the operations and REST templates that you would use to get and set your preferences for including your business’ address and phone number in text ads.

Added Targeting for Tablet and Smartphone Devices and Operating Systems

This feature will be available as early as November 11, 2011.

By default, ads will target tablet devices, in addition to your current list of devices (computers and smartphones).

If you are a member of the Device OS Targeting pilot program, you can choose whether to target your ads to run on tablets. If you target tablets, you can optionally specify the operating system of the tablets to target.

Also, if you target smartphones, you can now specify the operating system of the smartphones to target.

The following are the operations to use to manage the tablet and smartphone devices that you target. For more information on using these operations, see the Remarks section of DeviceTarget.

For details about backward compatibility, see the Remarks section of DeviceTarget.

Version 8

Released Version 8 of the Campaign Management Service

The namespace has been changed to reflect the new version number for this release. The new namespace name is For the new service address, see Web Service Addresses.

Added Bulk Downloads

You can now download the entities of the specified campaigns or the entities of all of the campaigns in the specified account. You can request all entities of the campaign or only those that have changed since the last time you synced the campaign data. For details, see Bulk Downloads and the following operations.

  • DownloadCampaignHierarchy

  • GetDownloadStatus

This release will not include the ability to download negative keywords, negative site URLs, nor targets.

Changes to the Budget Types You Can Specify for Campaigns

The following budget types have been removed from BudgetLimitType.

  • DailyBudgetWithMaximumMonthlySpend

  • MonthlyBudgetDivideDailyAcrossMonth

The following budget types have been added.

  • DailyBudgetAccelerated

  • DailyBudgetStandard

The DailyBudgetAccelerated type replaces the DailyBudgetWithMaximumMonthlySpend. With this option, the daily budget is spent until it is depleted. If you want the daily budget to be spread throughout the day, you should use the DailyBudgetStandard budget type, which replaces the MonthlyBudgetDivideDailyAcrossMonth budget type.

In both cases, you no longer specify a monthly limit, which the service calculates by multiplying the daily budget by the average number of days in a month.

Changes to the Campaign Object

The following elements have been removed from the Campaign object.

  • CashBackInfo

  • ConversionTrackingScript

  • NegativeKeywords

  • NegativeSiteUrls

To get or set the negative keywords and site URLs for a campaign, you now call the following operations.

Changes to the AdGroup Object

The following elements have been removed from the AdGroup object.

  • CashBackInfo

  • LanguageAndRegion

  • NegativeKeywords

  • NegativeSiteUrls

To get or set the negative keywords and site URLs for an ad group, you now call the following operations.

The following elements have been added to the AdGroup object.

  • Language

  • Network

  • PublisherCountries

The Language and PublisherCountries elements replace the LanguageAndRegion element to specify the publisher countries where your ads display—and within those countries—the language-specific websites where your ads display.

Because you now use the Network element to specify the search network where your ads are displayed (for example, owned and operated, syndicated, or both), the GetNetworksByAdGroupIds and SetNetworksToAdGroups operations were removed.

Removed the AdGroupInfo and CampaignInfo Data Objects, and the Operations that Return Them

The following operations have been removed because the AdGroup and Campaign objects no longer contain the negative keywords and site URLs.

  • GetAdGroupsInfoByCampaignId

  • GetCampaignsInfoByAccountId

Removed Support for Behavioral and User Segment Targeting

The following operations related to behavioral targeting have been removed.

  • AddBehavioralBids

  • DeleteBehavioralBids

  • GetBehavioralBidsByAdGroupId

  • GetBehavioralBidsByIds

  • PauseBehavioralBids

  • ResumeBehavioralBids

  • UpdateBehavioralBids

The following operations related to user segment targeting have been removed.

  • AddSegments

  • DeleteSegments

  • DeleteUsersFromSegment

  • GetCustomSegments

  • GetSegments

  • GetSegmentsByIds

  • SetUsersToSegments

The Behavior and Segment elements from the Target object have been removed.

The OverridePriority element of the Keyword object has been removed. Because segment targeting was removed, the dynamic substitution values that expand the text, title, and display URL of an ad now come only from the Keyword object.

Other Changes to Targeting

In addition to removing behavioral and user segment targeting as described above, new elements were added to the following targeting objects.

  • The HasPhysicalIntent element was added to the LocationTarget object. This element is for future use.

  • The Id and Name elements were added to the RadiusTargetBid object. These elements are for future use.

Changes to the Data Type of the Language Element of the GetNormalizedStrings Operation

The Language element of the GetNormalizedStringsRequest message has changed from a Language value set type to a string type. For a list of language values that you can use, see Language Values. You can specify only English and French.

Content Match is no Longer in Pilot

Anyone can specify the content ad distribution model (see AdGroup); however, the content model is limited to the U.S., Canadian, and Indian markets.

Removed all References to the Cashback Feature, Which is no Longer Supported

Removed the GetKeywordEstimatesByBids Operation

You now use the operations in the Ad Intelligence service to get this information.

© 2016 Microsoft