Announcing the availability of Bing Ads V10 API Interfaces in Sandbox

In April we announced our V10 API plans and we are excited to let our developers know that our Bing Ads V10 API interfaces are now available in Sandbox. We’ll be rolling out functionality for the new features in sandbox soon. Here’s a high level overview of the interface changes that are now available in the following Bing Ads API services

  1. Campaign Management service
  2. Bulk service
  3. Ad Insights service

Campaign Management service


Support for Upgraded URLs

 As mentioned in our previous blog post, we will be adding support for Upgraded Urls to all the below entities and Final Urls will eventually replace destination Urls specified today for Ads and Keywords.


With the exception of Account entity, you will be able to manage Upgraded Urls for Campaign, AdGroup, Ad, Keyword, SiteLinkExtension and BiddableAdGroupCriterion through our V10 Campaign management service. UrlTrackingTemplate support for Account data object will be in our V9 Customer Management service and we have plans to transition our Customer Management service to V10 in the near future.

We received many questions from our developer/partner community on the roll out and migration plan for upgraded URLs. In order to make this process smooth and ease our users into the new Final Urls structure, we plan to roll these changes in stages. 

Stage 1 - V10 API GA

When we make the functionality available in production at the end of August 2015, you will need to be in the Upgraded URL pilot to be able to use or switch from Destination Url to Final Urls. This is so we can minimize the accidental switch to upgraded Urls. Once you add the customer to pilot, and copy your Destination Urls to final Urls, the Destination Url value for Keyword and Ad objects will be null in their respective ‘Get’ service operations. We will not allow users to SET both Destination URL and final URLs in the ‘Add’ or ‘Update’ service operations. If you need to get back to Destination URL for some reason, you can always clear out the values in final URLs field and set the Destination Url property – basically last write wins.

Stage 2

This is our mandatory migration stage and during this time Destination URLs will be read-only in both V9 and V10 API. You can update all other entity properties using V9 and V10 campaign management service but you won’t be able to manage Destination Urls. Stage 2 will start during early calendar Q1 2016.

Stage 3

Sunset of V9 campaign management service. At this stage Destination URL will stop working completely and you will be able to manage Urls only through the Final Urls property.


Support for partial success in AdGroup and Campaign operations

In V10 campaign management service, we included support for Partial Errors to our AdGroup and Campaign object’s service operations, similar to what we already have for Ad and Keyword objects. This change will allow the caller to handle the response and errors in a consistent way in their code. The Partial errors element in the response includes a BatchError object, which defines the error object that identifies the item within the batch of items in the request message that caused the operation to fail. Note that some AdGroup or Campaign operations may return BatchErrorCollection object. Refer to our error handling guide for more details on this. 


Operations requiring AdGroup Ids

AppealEditorialRejections and GetEditorialReasonsByIds service operations will now require AdGroup Ids in addition to Keyword or Ad Ids. You will need to pass a tuple of AdGroup Id and Ad Id or Keyword Id in the request message. In addition to this change we also made it easy to identify operation failures caused by specific items by including BatchError object in the response message for these operations.


Other housekeeping changes to our interfaces

1. In V10 campaign management service we removed the following previously deprecated non-structured Negative keyword related service operations SetNegativeKeywordsToCampaigns, GetNegativeKeywordsByCampaignIds, SetNegativeKeywordsToAdGroups, and GetNegativeKeywordsByAdGroupIds

2. We removed the Target object and renamed the Target2 data object that we introduced as part of our V9 refresh last fall, to Target. We also renamed the Target2 related service operations to as part of this change.

3. To simplify and number of operations, we removed the GetCampaignCriterionByCampaignId and GetAdGroupCriterionsByAdGroupId service operations. You should use GetCampaignCriterionsByIds and GetAdGroupCriterionsByIds instead.

4. Removed the previously deprecated SubmitAdGroupForApproval service operation from our V10 campaign management service

5. We also removed the ‘Draft’ enum value from our AdGroupStatus value set. AdGroups in ‘Draft’ status will be returned with ‘Paused’ status.

You can read more about these updates and migrating from Bing Ads v9 campaign management service to v10 campaign management service here.


Bulk Service

Developers like you gave us feedback to support GZip CompressionType in addition to our current zip compression in our Bulk Download operations and so we are happy to announce that in V10 Bulk service we will support GZip compression type. The default will be Zip but you can change that to request GZip compression type in the DownloadCampaignsByAccountIds and DownloadCampaignsByCampaignIds operations.

We removed support for Bulk file format version 1.0, 2.0 and 3.0. We will have a new file format version 4.0, which will be the only supported  FormatVersion in our V10 Bulk service. We will also require the 'Format Version' to be specified in the ‘Name’ field in the bulk upload file and in the bulk download request message.

Based on the feedback we received, we also renamed ‘COUNTRY_CODE’ column name to ‘Country Code’ in our Bulk CSV file to be consistent with our other column naming convention. 

You can read more about these updates and migrating from Bing Ads v9 Bulk service to v10 Bulk service here.


Ad Intelligence and Optimizer services are merged into a single ‘Ad Insight' service

We merged Optimizer service with Ad Intelligence service and the named the new service ‘Ad Insight’ to simply it for our customers. Most of the Optimizer service operations will be
available in this new service.  

Budget Landscape

We removed the GetBudgetLandscape service operation and instead Budget Landscape will be added to our BudgetOpportunity data object to simplify and reduce the API calls you need to make to get this data. You can get the Budget landscape using the GetBudgetOpportunities service operation.

You can read more about these updates and migrating from Bing Ads v9 Ad Intelligence and Optimizer services to v10 Ad Insights service here.


We are really excited to share all the new interface updates available in our Sandbox starting now. We look forward to making the functionality available for these changes soon in our sandbox so you can test your implementation and give us feedback. Stay tuned to our blogs as we’ll continue to provide updates when the functionality rolls out to our sandbox environment. As always, we would love for developers to provide their feedback on our APIs. If you have any questions or comments, feel free to post them in the comments below.