A bid expresses how much you value your ad reaching a target audience and delivering results on your
bid_amount is the amount you want to spend to reach a given
At Facebook's ad auction, Facebook evaluates your
bid_amount and the probability of reaching your
optimization_goal. We apply an effective bid so you only win auctions and have your ads delivered when you are likely to reach your
Bidding and Optimization core concepts include:
In response to Apple’s new policy, we are announcing breaking changes that will affect SDKAdNetwork, Marketing API and Ads Insights API endpoints.
Optimization goals that will be impacted by the new attribution fields are as follows:
Campaign objectives that are either
PRODUCT_CATALOG_SALES must have the following optimization goal:
For apps, only the
APP_INSTALLS objective can have
is_skadnetwork_attribution set to
billing_event cannot be
conversion_domain doesn't match the domains mapped to the pixel+event or custom conversion selected on the ad set level.
Enforcement will only occur after Apple requires their AppTrackingTransparency prompt.
To learn more about how Apple’s iOS 14.5 requirements will impact Facebook advertising, visit our Business Help Center aricles and our changelog:
When you choose your bid:
You can also set
billing_event but neither directly impact
bid_amount or your effective bid. Your actual cost is usually equal or less than
bid_amount; occasionally it may be a little higher, see Billing Event.
For example, use these settings to spend about $10.00 for 1,000 daily unique views:
However, to spend $10.00 for each app install, use these settings:
billing_event: any valid option
billing_event does not affect auction prices directly. It indirectly affects your actual spending due to Ads Delivery Pacing.
Define advertising goals you want to achieve when Facebook delivers your ads. We use your ad set's
optimization_goal to decide which people get your ad. For example with
APP_INSTALLS, Facebook delivers your ad to people who are more likely to install your app.
optimization_goal defaults to a goal associated with your
objective. For example, if
optimization_goal defaults to
If you specify another
optimization_goal, Facebook delivers your ad to as many daily unique Accounts Center accounts as possible, regardlesss of the probability anyone takes action towards your
objective. See Campaign, Objective, Optimization Goal and attribution_spec.
In Marketing API v2.4, we replaced forms of bidding such as
conversion_specs, with new fields:
billing_event. This decoupled campaign
LINK_CLICKS from billing, such as charges per
objectives support only certain ad set
|Other valid optimization_goal
Tracking specs help you track actions taken by users interacting with your ad. Tracking specs only track; they do not optimize ads delivery for an action or charge you based on that action.
You can use tracking specs with any bid type and creative. To specify tracking specs use the ad field,
We automatically select a default tracking spec set based on your objective, but you can track additional actions. For example, a link page post ad with
POST_ENGAGEMENT objective defaults to
post_engagement tracking, but you setup a Facebook pixel on the offsite page and track other actions.
The default tracking spec for the page post engagement objective is
action.type = post_engagement with ids for the post and page:
curl -X POST \
-F 'name="My First Ad"' \
-F 'adset_id="<AD_SET_ID>"' \
-F 'status="PAUSED"' \
-F 'access_token=<ACCESS_TOKEN>' \
For custom tracking specs, see Tracking Specs, Custom.