Announcing the general availability of the Bing Ads API and SDK Version 10

We are pleased to let our developer community and partners know that our Bing Ads API and SDK version 10 is now generally available. Our V10 API and SDK provides multiple enhancements that increase productivity and performance for our developers.

The following services include new features and updates and are now available in version 10. Our SDKs have been updated to include these new services as well.

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

Campaign management service

a. Support for upgraded URLs

Upgraded URLs allows faster and easier URL management. With this you can manage and update a single URL tracking templates at the Account, Campaign or Ad Group level without worrying about triggering Ad review or losing ad stats and history. Based on partner feedback, we also increased the limit of Final URLs to 2048 characters for added flexibility for longer URLs. 

With full API support for upgraded URLs in this release, you will be now able to manage Upgraded URLs for Campaign, AdGroup, Ad, Keyword, SiteLink, and BiddableAdGroupCriterion through our Campaign Management service. TrackingUrlTemplate property for Account object will be supported through our V9 Customer management service. We have plans to transition our customer management service to V10 in the near future

Upgraded URLs will be released in stages - first in pilot starting early next year and then will be made generally available later in the year. Once you add support for Upgraded URLs in your platform and tools through our V10 API, you need to ensure the Customer is added to the pilot for them to be able to use the Upgraded url properties. We will be opening the Upgraded URLs pilot in the near future. Stay tuned for updates on this on our product news blog.

b. More efficient API Operations 

You gave us feedback on the need for consistency in our APIs. We heard that loud and clear and streamlined all our Campaign and AdGroup API operations to provide a consistent experience that is similar to our Ad and Keyword objects.  With support for partial success in the API response for these objects, managing Campaign and AdGroup operations is now easier and more efficient. The PartialErrors element in the response includes a BatchError object, which defines the error object and identifies the items in the request message that caused the operation to fail. You can refer to our error handling guide for more details on this.

On the same note, our AppealEditorialRejections and GetEditorialReasonsByIds service operations will now require AdGroup Ids in addition to Keyword or Ad Ids. In addition to this, we also made it easy to identify operation failures caused by specific items by including the BatchError object in the response message for these operations. 

C. Improvements to the overall API 

Based on your feedback, we were able to identify and fix issues, cleaned-up deprecated APIs and properties and made other housekeeping improvements to our APIs with this release. Here are a few highlights of these changes among others that we have made to v10. 

  1. CampaignType and Settings properties in the Campaign object are now required in the request. 
  2. We consolidated AdGroup default match type bid properties into a single “SearchBid” property. This allows for a more consistent experience for our advertisers across all our tools and API. For any existing data with multiple match type bid values for AdGroup, we will return the “Broad” match bid value in the “SearchBid” property of the AdGroup object in read operations. 
  3. Added “Expired” enum value to the AdGroupStatus value set. We will start returning “Expired” status instead of “Deleted” status for AdGroups that are past the expiration date. The v9 “Deleted” status is equivalent to the v10 “Expired” status.
  4. Removed the ‘Draft’ enum from the AdGroupStatus value set. Existing AdGroups in ‘Draft’ status will be returned as ‘Paused’ status.
  5. Removed the previously deprecated SubmitAdGroupForApproval service operation from our v10 campaign management service.
  6. Removed the previously deprecated non-structured Negative Keyword related service operations SetNegativeKeywordsToCampaigns, GetNegativeKeywordsByCampaignIds, SetNegativeKeywordsToAdGroups, and GetNegativeKeywordsByAdGroupIds 
  7. Removed V9 Target object and promoted the Target2 data object, which we introduced as part of our V9 refresh last fall, to V10 Target. We also renamed all Target2 related service operations as part of this change. 
  8. Removed the GetCampaignCriterionByCampaignId and GetAdGroupCriterionsByAdGroupId service operations to simply the number of operations. You should use GetCampaignCriterionsByIds and GetAdGroupCriterionsByIds instead.
  9. Removed “Mobile” AdType value set as we will stop delivering WAP Ads beginning November 2015.
  10. Removed “RichSearch” AdType value set as we will stop delivering Rich Ads In Search beginning January 2016.

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


Bulk service

a. Support for GZip compression

We got feedback from developers about the need for GZip CompressionType in addition to our zip compression in our Bulk Download operations and so we are happy to announce that in V10 Bulk service we will start supporting GZip compression type. The default will be Zip but you can change that to request GZip compression type in the DownloadCampaignsByAccountIds and DownloadCampaignsByCampaignIds operations.

b. File format version

To provide enhanced and reliable support for campaign data in our Bulk file, we removed Bulk file format version 1.0, 2.0 and 3.0. We have shipped a new file format version 4.0, which will be the only supported  FormatVersion in our V10 Bulk service. The service now requires the 'Format Version' to be specified in the ‘Name’ field in the bulk upload file and in the bulk download request message.

c. Support for Upgraded URLs feature

We are adding support for “Final Urls”, “Final Mobile Urls”, “Final App Urls”, “Tracking URL Templates” and “Custom Parameters” columns to Campaign, Ad Group, Text Ad, Keyword and Sitelink Ad Extension records in the Bulk file.

d. Other housekeeping improvements

  1. Based on the feedback we received, we renamed ‘COUNTRY_CODE’ column name to ‘Country Code’ in our Bulk CSV file to be consistent with our column naming convention. 
  2. GetDetailedBulkUploadStatus operation is renamed to GetBulkUploadStatus and it replaces the v9 GetBulkUploadStatus operation.
  3. The “Search Broad Bid” column is now renamed to “Search Bid” for the AdGroup record
  4. We are introducing “Code” and “ErrorCode” elements in the JSON response to Bulk file upload http post. This will enable you to code against the error and take action as necessary.

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


Ad Insight service

We merged Optimizer and Ad Intelligence services and replaced that with the new ‘Ad Insights’ service to simply it for our customers. Most of the Optimizer service operations will now be available in this new service.

a. Budget Landscape

We removed the GetBudgetLandscape service operation and 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 now get the Budget landscape data using the GetBudgetOpportunities service operation.

We removed the ApplyOpportunities service operation. To apply the suggested bid, budget, and keyword opportunities, you can use the update operations provided with the Bulk or Campaign Management services.

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


Client Libraries (SDK) 

We have full fidelity for all the new features and updates in our C#, Java and Python client libraries. Additionally, we included workflow support for Reporting operations. You can now take advantage of the “ReportingServiceManager” class to submit your download request, poll the service until it report is generated and download the file to a local directory you specify in the request.

Updates to these SDKs are now published to the respective repositories and the source code available in GitHub. You can find more information about this here.


What about other services?

We plan to move the Reporting, Customer Management and Customer Billing services to version 10 in the near future. Please stay tuned to our API blog for further updates on this. 


Note about v9 sunset

We will sunset and remove v9 Campaign Management, Bulk, Optimizer and Ad Intelligence services at the end of calendar Q2 2016. Please migrate your applications from v9 to v10 at your earliest convenience. To help with your migration, we have provided a guide for migration from Bing Ads API v9 to v10.


Stay tuned and connected

We are really excited to share all of these new features with our developer and partner community. Stay tuned to our API blog and our Developer portal as we’ll continue to provide updates in both forums. As always, we would love for our developers to provide their feedback on our API and Client libraries. If you have any questions or comments, feel free to post them in our API forum.