31

From the ads api doc it says

effective_status enum {ACTIVE, PAUSED, DELETED, PENDING_REVIEW, DISAPPROVED, PREAPPROVED, PENDING_BILLING_INFO, CAMPAIGN_PAUSED, ARCHIVED, ADSET_PAUSED} The effective status of the ad. The status could be effective either because of its own status, or the status of its parent units.

status enum {ACTIVE, PAUSED, DELETED, ARCHIVED} The configured status of the ad. The field returns the same value as 'configured_status', and is the suggested one to use.

BUT, the problem is unless the advertiser actively stops or pauses or deletes an advert or campaign the ad's status is always (as far as I can see in the aforementioned cases) ACTIVE. Am I wrong?

Secondly, does anyone know what the column on the Ads manager interface called "Delivery" is? It has values like "Completed" , "Not Delivering" etc.

Is there any way I can get this information from the API?

Chris Lear
  • 6,592
  • 1
  • 18
  • 26
almaruf
  • 750
  • 7
  • 21

2 Answers2

11

The field called 'delivery' in Facebook's UI is not a single field returned by the UI, but is based on examining the status, start/end dates, etc of the ads–you could replicate this yourself by examining the ads and their parent objects.

I'm not sure I understand what you're saying about "configured and effective status": if an ad was paused, both its effective and configured status should be PAUSED. If, for example, an ad's Ad Set was set to paused, the ad's configured status would remain ACTIVE but its effective status would be ADSET_PAUSED.

mech
  • 2,775
  • 5
  • 30
  • 38
Igy
  • 43,710
  • 8
  • 89
  • 115
  • 8
    Thanks for that clarification. But It would be great if you can define more precisely how this status is computed. It is an important information and I think user of the API should be able to get this from the API as it is otherwise impossible to know if an ad is delivering or not. – Julien Bachmann Jul 06 '17 at 10:39
  • 1
    In my case, both configured and effective status are "Active" for both Ad and AdSet, however FB online AdManager says that they aren't delivering due to being in review... Yes, "EffectiveStatus" field has a "PENDING_REVIEW" option, but it never appears. Why the SDK isn't working?! And how my code should determine if the ad is being reviewed?!?!? – AivanF. Sep 20 '18 at 11:17
  • And be sure to realize that `effective_status` is the status **at time of API call**. So historical reporting for campaigns that were since turned off will be missed if you're filtering just by `effective_status` (or `configured_status`). You can't even get an accurate value of 'today' spending if you give up halfway through the day and turn a campaign off. – Simon_Weaver Jan 28 '21 at 18:48
6
  1. How is the status computed?

When you give an Ad a status via the API you are setting its configured_status. This will update to whatever status you give it ACTIVE, PAUSED, etc.. And this value should reflect immediately in the configured_status parameter via a GET request to the object. The configured_status parameter will show whatever value you last set it too regardless of the parent status.

With that being said, if you have an ACTIVE ad that is nested under a PAUSED adset it will inherit the PAUSED status and that will reflect via the effective_status parameter. You can update the status of an Ad regardless of the status of the adset. It will only inherit the status if the parent is PAUSED to prevent spending.

As status will inherit from the parent object, it is most likely disabled. The effective_status reflects the current status of the object which may be overridden by its parent. More info can be found here

NOTE: I just posted the documentation for the Ad object but this applies to Adset objects as well

The configured_status is synonymous to the status parameter and is what you should set when updating the Ad.


  1. About what the column on the Ads manager interface called "Delivery" is?

According to Facebook, the new feature identifies under-delivering ad sets and explains why the under-delivery is happening and highlights suggestions for specific actions an advertiser can take to make their ad more competitive at auction – in-turn helping them to increase the performance of their advert.

Advertisers can find feedback relating to their ads in the “Delivery” column at the campaign and ad set level, and also under the “Tools” standalone tab in Facebook Ads Manager.

Check these article this might help you to give insights into "Delivery":

In Facebook Power editor

In Facebook Ads Manager

P.S Some things you only learn by practicing and trying during development process you cannot always depend on Documentation.

Hope this helps!!!!

PN10
  • 1,888
  • 3
  • 23
  • 34
  • 4
    You haven't really added any new information here. How exactly would one determine the "delivery" using the API only? – CodeNaked Sep 18 '17 at 14:55