Skip to content
Fresh 2026

Ad Pixel

Reading

A Facebook pixel is a small piece of JavaScript code that an advertiser places on every page of their website. This piece of code provides a set of lightweight functionalities for sending user-specific events and event-specific custom data to Facebook. Advertisers can use the Facebook pixel to capture intent information about how people are using their website. A single Facebook pixel is added to all pages of a website, and is then used to create website custom audiences

Example

HTTPPHP SDKJavaScript SDKAndroid SDKiOS SDK Graph API Explorer

GET /v25.0/{ads-pixel-id} HTTP/1.1
Host: graph.facebook.com
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->get(
    '/{ads-pixel-id}',
    '{access-token}'
  );
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
/* make the API call */
FB.api(
    "/{ads-pixel-id}",
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{ads-pixel-id}",
    null,
    HttpMethod.GET,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]\
                               initWithGraphPath:@"/{ads-pixel-id}"\
                                      parameters:params\
                                      HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,\
                                      id result,\
                                      NSError *error) {\
    // Handle the result\
}];

If you want to learn how to use the Graph API, read our Using Graph API guide.

Parameters

This endpoint doesn't have any parameters.

Fields

FieldDescription
id<br>numeric stringID of the pixel<br>Default
automatic_matching_fields<br>list<enum>Advanced matching fields which are enabled for automatic advanced matching
can_proxy<br>boolcan_proxy
code<br>stringPixel code to be placed on the website
config<br>stringThe configuration to use for uploads to this dataset. Format determined by the method of upload (eg. UI or SDK)
creation_time<br>datetimeTime at which the pixel was created
creator<br>UserThe user who created this pixel
data_use_setting<br>enumSetting to capture how pixel data should be used
description<br>stringSELF_EXPLANATORY
duplicate_entries<br>integerNumber of duplicate entries for this dataset
enable_auto_assign_to_accounts<br>boolWhether the dataset is auto assigned and auto tracked for all accounts that the owner business owns
enable_automatic_matching<br>boolRepresents whether automatic advanced matching is enabled for the pixel for identity matching purposes
event_stats<br>stringEvent stats of this dataset
event_time_max<br>integerLatest entry of this dataset
event_time_min<br>integerEarliest entry of this dataset
first_party_cookie_status<br>enumFirst party cookie status to indicate whether first party cookies can be set for this pixel
has_1p_pixel_event<br>boolwhether pixel has sent us 1p signals
is_consolidated_container<br>boolA boolean value indicating whether this signal container has unified pixel and offline conversion data set
is_created_by_business<br>boolFlag stands for if a pixel is created by business
is_crm<br>boolTrue if a pixel contains lead gen data source config
is_mta_use<br>boolWhether the dataset is restricted to MTA only
is_restricted_use<br>boolWhether the dataset is restricted to Lift only
is_unavailable<br>boolWhether this pixel is unavailable
last_fired_time<br>datetimeTime at which the pixel was last fired
last_upload_app<br>stringThe app that made the most recent upload
last_upload_app_changed_time<br>integerTime when the app that made the most recent upload last changed
match_rate_approx<br>int32Approximate match rate percentage for the entries in this dataset
matched_entries<br>integerNumber of matched entries of this dataset
name<br>stringName of the pixel
owner_business<br>BusinessID of the business that owns this pixel or null if the pixel has not been claimed by any business yet.
usage<br>OfflineConversionDataSetUsageUsage info for the dataset
valid_entries<br>integerNumber of valid entries of this dataset

Edges

EdgeDescription
assigned_users<br>Edge<AssignedUser>assigned_users
da_checks<br>Edge<DACheck>A list of results after running Dynamic Ads checks on this pixel.
offline_event_uploads<br>Edge<OfflineConversionDataSetUpload>The offline uploads associated with this event set
openbridge_configurations<br>Edge<OpenBridgeConfiguration>Get all the openbridge configurations associated to this Pixel
shared_agencies<br>Edge<Business>Agencies or other businesses this pixel is shared with
stats<br>Edge<AdsPixelStatsResult>Stats data for this pixel

Error Codes

ErrorDescription
200Permissions error
100Invalid parameter
80004There have been too many calls to this ad-account. Wait a bit and try again. For more info, please refer to https://developers.facebook.com/docs/graph-api/overview/rate-limiting#ads-management.
368The action attempted has been deemed abusive or is otherwise disallowed
190Invalid OAuth 2.0 Access Token
2500Error parsing graph query

Creating

You can make a POST request to adspixels edge from the following paths:

  • /act_{ad_account_id}/adspixels

When posting to this edge, an AdsPixel will be created.

Example

HTTPPHP SDKJavaScript SDKAndroid SDKiOS SDKcURL Graph API Explorer

POST /v25.0/act_<AD_ACCOUNT_ID>/adspixels HTTP/1.1
Host: graph.facebook.com

name=My+WCA+Pixel
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->post(
    '/act_<AD_ACCOUNT_ID>/adspixels',
    array (
      'name' => 'My WCA Pixel',
    ),
    '{access-token}'
  );
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
/* make the API call */
FB.api(
    "/act_<AD_ACCOUNT_ID>/adspixels",
    "POST",
    {
        "name": "My WCA Pixel"
    },
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
Bundle params = new Bundle();
params.putString("name", "My WCA Pixel");
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/act_<AD_ACCOUNT_ID>/adspixels",
    params,
    HttpMethod.POST,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
NSDictionary *params = @{
  @"name": @"My WCA Pixel",
};
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]\
                               initWithGraphPath:@"/act_<AD_ACCOUNT_ID>/adspixels"\
                                      parameters:params\
                                      HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,\
                                      id result,\
                                      NSError *error) {\
    // Handle the result\
}];
curl -X POST \
  -F 'name="My WCA Pixel"' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v25.0/act_<AD_ACCOUNT_ID>/adspixels

If you want to learn how to use the Graph API, read our Using Graph API guide.

Parameters

ParameterDescription
name<br>stringName of the pixel

Return Type

This endpoint supports read-after-write and will read the node represented by id in the return type.

Struct {

id: numeric string,

}

Error Codes

ErrorDescription
6202More than one pixel exist for this account
6200A pixel already exists for this account
100Invalid parameter
200Permissions error

Updating

You can update an AdsPixel by making a POST request to /{ads_pixel_id}.

Parameters

ParameterDescription
automatic_matching_fields<br>array<enum {em, fn, ln, ph, ge, zp, ct, st, country, db, external_id}>Advanced matching fields for which automatic advanced matching should be enabled
data_use_setting<br>enum {EMPTY, ADVERTISING_AND_ANALYTICS, ANALYTICS_ONLY}Setting to capture how pixel data should be used
enable_automatic_matching<br>booleanEnable automatic advanced matching for the pixel for identity matching purposes
first_party_cookie_status<br>enum {EMPTY, FIRST_PARTY_COOKIE_ENABLED, FIRST_PARTY_COOKIE_DISABLED}First party cookie status to indicate whether first party cookies can be set for this pixel
name<br>stringName of the pixel
server_events_business_ids<br>array<numeric string>server_events_business_ids

Return Type

This endpoint supports read-after-write and will read the node to which you POSTed.

Struct {

success: bool,

}

Error Codes

ErrorDescription
190Invalid OAuth 2.0 Access Token
100Invalid parameter

Deleting

You can't perform this operation on this endpoint.