News for Developers

We originally posted this blog in July 2017. As of this week (October 2017), we've made some updates to editing ads limitations. See details below.

When you provide ad creative using object_story_spec, Facebook creates an inline unpublished page post for you. This is known as an ad post which represents your ad. Each time you or anyone else edits the ad, we create a new creative spec, a new creative, and in doing so we also create a new ad post.

In the past, each time we created a new ad post for a modified ad, we did not maintain social feedback on the new post. This included likes, comments, shares, video views count, and so on. We did this because this feedback was only associated with the earlier, original ad post.

We now carry forward this feedback so that when you edit your ad, we maintain feedback. For most cases, this feedback is available in the latest version of the ad.

The Challenge

In the past, you created an ad:

curl 
  -F 'name=My Ad' 
  -F 'adset_id=AD_SET_ID' 
  -F 'creative={"name":"My Creative", "object_story_spec":{"page_id":PAGE_ID, "text_data":{"message":"My message"}}}' 
  -F 'status=PAUSED' 
  -F 'access_token=ACCESS_TOKEN' 
  https://graph.facebook.com/API_VERSION/AD_ACCOUNT_ID/ads

This created three new ads-related objects:

  • Ad
  • Ad Creative
  • New ad post that renders when Facebook delivers your ad creative

You could have also created an ad using existing ad creative:

curl 
  -F 'name=My Ad' 
  -F 'adset_id=AD_SET_ID' 
  -F 'creative={"creative_id":CREATIVE_ID}' 
  -F 'status=PAUSED' 
  -F 'access_token=ACCESS_TOKEN' 
  https://graph.facebook.com/API_VERSION/AD_ACCOUNT_ID/ads

This created one new object, the ad, which used the existing ad creative and ad post.

When Facebook delivered the ad, people reacted, commented, shared or viewed the video in the ad. We then stored this feedback in the ad post. In the past, you edited the ad and specified new creative spec as follows, which created a new ad post without feedback:

curl 
  -F 'creative={"name":"My Creative", "object_story_spec":{"page_id":PAGE_ID, "text_data":{"message":"My new message"}}}' 
  -F 'access_token=ACCESS_TOKEN' 
  https://graph.facebook.com/API_VERSION/AD_ID

This resulted in two new objects:

  • New Ad Creative
  • New ad post that renders when an ad creative displays

These two new object replaced the previous ad creative and unpublished post. With the new post associated with the ad, we deleted all social feedback the earlier ad objects had. We stored this feedback only on the old ad post. It was lost when you edited the ad and when we created a new post for the edited ad.

The Solution

Now, when you change ad creative with a new creative spec, we share social feedback from your old ad post with the newly-created ad post. This means you can edit your ad after you start delivery, save the updates, run the updated ad and it apppears with all the reactions, comments, shares, and video view counts occuring before your edits. This provides a better experience for people on viewing your ads enables your ad be more engaging over time.

Limitations for carrying social feedback

Carrying social feedback is possible if you created the ad's post inline. That is, we carry forward feedback if you create the post when you also create the ad or ad creative. If you update any of the following, we cannot carry forward feedback from an old ad post to a new ad post:

  • Change image or video in ad, for a single image or video ad.
  • Change image or video in any card of a multi- image or video ad.
  • Modify any Dynamic Ads.

Note: There are some cases when we still reset social feedback after you edit your ad. You no longer retain this feedback after edits:

  • If you use the same ad creative in multiple ads
  • If you use an ad creative's ad post in multiple ads, such as re-promoted ads
  • If the ad creative's ad post was published or was scheduled to be published

Limitations for editing an ad

Once we carry social feedback after you edit an ad, the new ad's post and the old post share social feedback. This relationship results in other limitations. Once you edit an ad, you cannot:

  • Publish or schedule to publish the old ad post
  • Retrieve post insights for old or new ad posts
  • Reuse the old ad post
  • Boost the old ad post
  • Read old ad post at PAGE_ID/promotable_posts

Some things to note that can impact your ad's performance:

  • If you delete the old ad post, we delete all social feedback aggregated before deletion.
  • If you publish or schedule to publish the new ad post, we delete all social feedback aggregated before the publish.

Any limits result from multiple ad posts sharing reactions, comments and shares. We believe these limits are small compared to the value of carrying over the social feedback after editing an ad, which is one of advertisers' top-desired features. Our research shows that carrying over reactions and comments for an edited ad can improve an ad's performance and ROI. This improvement can become dramatic, especially if you edit an ad multiple times during its' lifetime.

This feature is now automatically available to all ads, with the few noted exceptions. This means no additional work on your part. You don't need to change your API integration, research, or refactor code changes and you can immediately benefit from visible social feedback in your ads. We hope you and the advertisers you support, gain by better ad viewer engagement and satisfaction.