Targeting Improvements, now Live.

In May we announced the availability of a refreshed set of features across our suite of APIs in Sandbox. Today we are very excited to announce the general availability of the Targeting improvements to our V9 Campaign Management Service, which means all our developers can code against the new Targeting capabilities for their API clients. Thanks to our developers, these improvements and new features were the direct results of all your feedback.

Improvements to Targeting

With our goals to bring greater parity in targeting functionality between Bing Ads and AdWords and to give you more control on when and where your ads show, we have made an abundance of improvements to targeting features. We already announced the availability of the radius targeting improvements in July. In addition to that we have added postal code targeting and made updates to Day and Hour targeting and physical intent targeting. We are adding new capabilities through the new object called Target2.

Radius Targeting Improvements 

You will now be able to apply both geo and radius targeting at the same time. In addition to that, you will be able to specify radius increments down to the mile instead of the fixed increments (5, 10, 20 etc.) that we had previously enforced. The new radius target object also allows you to specify units in terms of kilometers and miles as well. Please see RadiusTarget2.

New DayTime Target

We are replacing the existing Day and Hour target with a new DayTimeTarget in Target2. This adds the capability to have fully flexible time ranges, minute level granularity (0, 15, 30, and 45) and the ability to add individual time ranges per day. Based on the feedback from our developers and partners during pilot we have made changes to how the interplay between the Day and Hour target in the legacy Target object and the new DayTime target in the Target2 object will behave. Your existing Day and Hour targets will continue to work (via the Target object) however once you make a change to those settings via DayTimeTarget, we will send a flag through the new “IsAdScheduleInNewFormat” key in the ForwardCompatibilityMap property of
the legacy Target object. This read-only key will be set to true to help you choose and implement the functionality to either overwrite the DayTime target value by specifying new Day and Hour target element values or preserve the DayTime target value by keeping Day and Hour target values null. Note that even in this state you can still manage other types of targets (e.g. AgeTarget,
GenderTarget) via the original Target object. This has no impact on the other targeting types.  

Since there’s much more flexibility in the new model (DayTime Target), which cannot be expressed by the existing DayTarget and HourTarget objects, it’s recommended that the API clients use the new DayTimeTarget available in the Target2 object.

New PostalCode Target

We are adding a new PostalCodeTarget object to LocationTarget2 so you can more granularly target a specific location and assign different bid adjustments for different postal code locations within a city. With this change, we have also increased the number of location targets per campaign or ad group to 10,000. The capability to add postal code targets will be available only for U.S market in this release. We will be looking at adding support for other markets in the near future.

Additional Location Intent Option

Today we have two choices for on location targeting; either physically located in the target location or not. We are adding three intent options available in the enum IntentOption on the LocationTarget2 object. We introduced an added option to select users who are only searching for viewing pages about your target but who are not physically located in your target location. This is available when you select “PeopleSearchingForOrViewingPages”. 

Note that if you or another application sets the value to “PeopleSearchingForOrViewingPages” for the IntentOption element of this LocationTarget2 object, the HasPhysicalIntent element of the legacy LocationTarget object will be null when retrieved. A subsequent set from the legacy LocationTarget object will ignore this null value.

We are really excited about this API refresh and the new capabilities in our developer platform. 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.