问题
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?
回答1:
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
.
回答2:
- 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.
- 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!!!!
来源:https://stackoverflow.com/questions/38632685/fb-ads-api-status-effective-status-and-the-ads-actual-status