Marketing API Version

Ad Delivery Checks

Related Topics

Delivery checks are a set of tests which can help find out potential issues related to ad delivery.

Run And Read

To run the ad delivery checks and get the failed check results, read the failed_delivery_checks field of an ad. For example, running delivery checks for ad 6014290603725:

use FacebookAds\Object\Ad;
use FacebookAds\Object\Fields\AdFields;

$ad = new Ad(<AD_ID>);

from import Ad

ad = Ad(<AD_ID>)
curl -G \
  -d 'fields=failed_delivery_checks' \
  -d 'access_token=<ACCESS_TOKEN>' \<AD_ID>

If all the checks have passed failed_delivery_checks field will not be part of the response.

For example, the response for an ad with a failed invalid_custom_audiences check will be in a form of:

 "failed_delivery_checks": [
      "summary": "Custom Audience No Longer Shared", 
      "description": "This ad uses a custom audience that's no longer being shared with you. Please contact the person who set up the audience for more information.", 
      "check_name": "invalid_custom_audiences", 
  "id": "6014290603725"

The failed_delivery_checks field is a JSON array which contains JSON objects of the failed checks. Each failed check has the following fields:

Name Description Type


The name of the failed check (See Delivery Check types)



One line description of the error



More detailed explanation of the error


Delivery Check Types

The ad delivery checks include the following checks:

check_name Failure reason


Page Unpublished - This ad cannot deliver because the page it targets is not published.


Not Eligible For Mobile - This ad will not deliver to mobile users.


URL on block list - This ad redirects to a suspicious URL.


One of the following:
1. Custom Audience No Longer Shared - This ad uses a custom audience that's no longer being shared with you. Please contact the person who set up the audience for more information. If the account no longer has access to some of the audiences that the ad uses the ad can't deliver.
2. Custom Audience Opt Out Conflict - This ad uses different audiences with different opt-out links. You can only use different custom audiences on the same ad if they don't use conflicting links.
3. Ad Using Deleted Custom Audience - This ad uses a custom audience that's been deleted by you or by the person who set it up. An ad using deleted custom audiences can't deliver.
4. Custom Audience Error - There's a problem with this custom audience associated with this ad. We're working to fix the issue. Please try again later.


One of the following:
1. Only Page post ads allowed for logged out ads.
2. The Story used for a logged out ads is not public