Skip to content

Billing Events

Updated: Jun 28, 2026

billing_event defines events you want to pay for such as impressions, clicks, or various actions. Billing depends on the size of your audience and your budget.

For example, to optimize for POST_ENGAGEMENT and pay per IMPRESSIONS:

curl -X POST \
  -F 'name="My First Adset"' \
  -F 'lifetime_budget=20000' \
  -F 'start_time="2025-11-11T14:18:00-0800"' \
  -F 'end_time="2025-11-21T14:18:00-0800"' \
  -F 'campaign_id="<AD_CAMPAIGN_ID>"' \
  -F 'bid_amount=500' \
  -F 'billing_event="IMPRESSIONS"' \
  -F 'optimization_goal="POST_ENGAGEMENT"' \
  -F 'targeting={
       "facebook_positions": [
         "feed"
       ],
       "geo_locations": {
         "countries": [
           "US"
         ],
         "regions": [
           {
             "key": "4081"
           }
         ],
         "cities": [
           {
             "key": 777934,
             "radius": 10,
             "distance_unit": "mile"
           }
         ]
       },
       "genders": [
         1
       ],
       "age_max": 24,
       "age_min": 20,
       "behaviors": [
         {
           "id": 6002714895372,
           "name": "All travelers"
         }
       ],
       "life_events": [
         {
           "id": 6002714398172,
           "name": "Newlywed (1 year)"
         }
       ],
       "publisher_platforms": [
         "facebook"
       ],
       "device_platforms": [
         "desktop"
       ]
     }' \
  -F 'status="PAUSED"' \
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v25.0/act_<AD_ACCOUNT_ID>/adsets

Once you select optimization_goal, you have one or more billing_event options. See Optimization goal and billing events and CPA.

Validation

Buying type and billing events

buying_type defines how the advertiser pays for delivery, set on the campaign level. In most cases, advertisers use AUCTION. Two special cases exist: RESERVED (Meta bases billing on prediction) and FIXED_CPM (the advertiser negotiates a fixed price). Campaigns with buying_type require ad sets with a billing_event defined.

Valid billing_events for each buying_type:

AUCTIONRESERVEDFIXED_CPM
IMPRESSIONS
LINK_CLICKS
PAGE_LIKES
POST_ENGAGEMENT
VIDEO_VIEWS

Optimization goal and billing events

For buying_type=AUCTION campaigns, with an optimization_goal set, Meta restricts which billing_event values you can choose for your ad set.

The restrictions below assume you have an objective specified on the campaign level.

optimization\_goalValid ad set billing\_event
APP_INSTALLSIMPRESSIONS
AD_RECALL_LIFTIMPRESSIONS
ENGAGED_USERSIMPRESSIONS
EVENT_RESPONSESIMPRESSIONS
IMPRESSIONSIMPRESSIONS
LEAD_GENERATIONIMPRESSIONS
LINK_CLICKSLINK_CLICKS, IMPRESSIONS
OFFSITE_CONVERSIONSIMPRESSIONS
PAGE_LIKESIMPRESSIONS
POST_ENGAGEMENTIMPRESSIONS. As of v2.11, POST_ENGAGEMENT is not an option.
REACHIMPRESSIONS
REPLIESIMPRESSIONS
SOCIAL_IMPRESSIONSIMPRESSIONS
THRUPLAYIMPRESSIONS, THRUPLAY
TWO_SECOND_CONTINUOUS_VIDEO_VIEWSIMPRESSIONS, TWO_SECOND_CONTINUOUS_VIDEO_VIEWS
IMPRESSIONS and VIDEO_VIEWS
VALUEIMPRESSIONS
LANDING_PAGE_VIEWSIMPRESSIONS

Unofficial mirror for reference/search purposes. All content originates from developers.facebook.com — see the source link at the top of each page. Machine-readable indexes: llms.txt · llms-full.txt · About