We recently announced that v2.2 of the Marketing API will be enforced on March 11th, 2015. Starting on that date, all unversioned API requests, and API requests with version 2.1 or earlier, will result in errors. If you are already calling Marketing API with v2.2 specified, you would experience no difference after March 11.
Here are some frequently asked questions around this migration.
promoted_object
, an adset could have ads with different goals such as each ad promoting a different page. As targeting, budget and bid are all set on the adset level, this will cause unwanted resource competition. promoted_object
and objective
?promoted_object
is an ad set level setting, and objective
is an ad campaign level setting.promoted_object
. Currently ad sets of ad campaigns with the objective
of Website Conversions, Page Likes, Offer Claims, and App Installs or Engagement objectives would have to have promoted_object
field set.objectives
and the promoted_objects
. For example, if you have an objective
of Offer Claims in an ad campaign, the promoted_objects
of ad sets in that ad campaign must have offer_id
set, and it will be checked that the ads in this ad set are promoting the right offer. So you cannot use the wrong offer_id
ad in the ad set.objectives
do not require promoted_object
. If you try to create or update an ad set with promoted_object
in this case, you would get an error reply.promoted_object
and conversion specs?promoted_object
is an ad set level setting, and conversion_specs
is an ad level setting.promoted_object
is required, the conversion specs of the ad are inferred from the objective
of the ad campaign and the promoted_object
in ad set together. You cannot update the conversion specs for ads of ad campaigns of those objectives, any attempts will be ignored.promoted_object
and tracking specs?promoted_object
is an ad set level setting, and tracking_specs
is an ad level setting.objective
of the ad campaign, and by the ad creative if the objective
is NONE
. The promoted_object
of the ad set does not have a direct role here. However, as the whether the promoted_object
is needed is decided by the objective
, and the promoted_object
also has some validation against the ad creative, it is fair to say that the promoted_object
of an ad set has an indirect relationship with the default tracking specs of the ads.promoted_object
after March 11?promoted_object
of an ad set is immutable, all ads without promoted_object
would still be without it. There is nothing for you to migrate, even if you want. The required promoted_object
will only be checked during new ad set creation in v2.2 or later.promoted_object
will still work as before - those ads will still deliver if they are active, you can still update those ad sets, and you can still update ads in those ad sets including changing conversion_specs
. You just cannot create new ad sets without promoted_object
with v2.2 or later. And this is true even before March 11, as the API checks version, not date.objective
and promoted_object
be updated?objective
, an ad campaign level setting, can only be updated between a valid objective and NONE
, either direction. It cannot be changed from a Mobile App Install to an Offer Claim, for example.promoted_object
, an ad set level setting, cannot be updated currently in most cases. However, as it is a common case to switch among multiple conversion pixels in an ad with WEBSITE_CONVERSIONS
objective, the promoted_object
of an ad set in an ad campaign with that objective may be updated.promoted_object
if the object is created inline by using object_story_spec
?promoted_object
, you must have the object to promote ready before you create an ad set. The object could a conversion pixel, a Page, an offer, or an app. Among these objects, only offer can be created 'inline', i.e. during ad creative creation, which would happen after the creation of an ad set. As the result, we are disabling the inline creation of offer, to break this mutual dependency. Thus you should not create offers inline anymore, even if you still can currently.bid_type
or targeting
within an ad set, after March 11?bid_type
or targeting
of those ads, you would get an error, while you can still update other fields, including bid_info
, of the ad.bid_info
still at ad level while bid_type
is moved to ad set level?bid_type
and bid_info
are moved to the ad set level. However, as we noticed that some partners like to have different bidding amounts for different ads, to do their own optimization or for other purposes, we allow bid_info
to be overwritten at ad level. After March 11, bid_info
still can be specified during the creation or update of an ad, just like before, even if it is not migrated, i.e. the bid_type
or targeting
is still at ad level.