Skip to content
Fresh 2026

Ad Delivery Checks

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:

bash
curl -G \
  -d 'fields=failed_delivery_checks' \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v19.0/<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:

json
{
 "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:

NameDescriptionType
check_nameThe name of the failed check (See Delivery Check types)String
summaryOne line description of the errorString
descriptionMore detailed explanation of the errorString

Delivery Check Types

The ad delivery checks include the following checks:

check_nameFailure reason
page_statusPage Unpublished - This ad cannot deliver because the page it targets is not published.
mobile_eligibleNot Eligible For Mobile - This ad will not deliver to mobile users.
blocked_urlURL on block list - This ad redirects to a suspicious URL.
invalid_custom_audiencesOne of the following:<br>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.<br>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.<br>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.<br>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.
logged_out_adsOne of the following:<br>1. Only Page post ads allowed for logged out ads.<br>2. The Story used for a logged out ads is not public.