POST/ad_accounts/:ad_account_id/ad_groups
Create an ad group.
Starting July 13th, 2026, conversion_pixel_id is required for all ad groups. Retrieve your Pixel with List Pixels by Ad Account.
Optimization goal options
optimization_goal is required for conversion, video views, catalog sales, and app install campaign objectives.
Conversion
Starting May 5th, VIEW_CONTENT, SEARCH, and ADD_TO_WISHLIST will no longer be supported for new ad groups. Existing ad groups using these goals won't be affected, but they can't be created, extended, duplicated, or replicated.
PAGE_VISITVIEW_CONTENTSEARCHADD_TO_CARTADD_TO_WISHLISTPURCHASELEADSIGN_UPCLICKS
CLICKS is only available if neither Pixel nor CAPI has been set up.
Video views
Starting March 31st, 2026, NULL is no longer supported. Set to a valid video goal to prevent issues. Learn about video goals.
VIDEO_VIEW_6S
Catalog sales
PURCHASECLICKS
CLICKS is only available if neither Pixel nor CAPI has been set up.
App install
Learn more about app event goals.
MOBILE_CONVERSION_INSTALLMOBILE_CONVERSION_SIGN_UPMOBILE_CONVERSION_ADD_PAYMENT_INFOMOBILE_CONVERSION_ADD_TO_CARTMOBILE_CONVERSION_PURCHASEMOBILE_CONVERSION_COMPLETED_TUTORIALMOBILE_CONVERSION_LEVEL_ACHIEVEDMOBILE_CONVERSION_SPEND_CREDITSMOBILE_CONVERSION_REINSTALLMOBILE_CONVERSION_UNLOCK_ACHIEVEMENTMOBILE_CONVERSION_START_TRIALMOBILE_CONVERSION_SUBSCRIBEMOBILE_CONVERSION_ONBOARD_STARTEDMOBILE_CONVERSION_FIRST_TIME_PURCHASE
When shopping_type is DYNAMIC, see the targeting field description for which fields are applied.
Rate Limit
See the rate limits for Campaign Management Write
Policy Slug: ads-campaign-management-write
- Window: 60 seconds
- Quota: 200 requests
Request
Responses
- 201
- 400
- 401
- 403
- 404
- 429
- 5XX
An ad group.
Bad request.
No bearer token or a bad bearer token was provided.
Insufficient authentication scopes.
The specified resource was not found.
Too many requests. See Rate Limiting for header details and best practices.
Response Headers
The rate limit policies that apply to this request (IETF "RateLimit header fields for HTTP" draft). Each comma-separated policy is keyed by a public policy name and lists its quota q and window in seconds w.
The current rate limit state for each applicable policy (IETF "RateLimit header fields for HTTP" draft): remaining quota r and seconds until the window resets t. On a 429 the exhausted policy reports r=0.
Server error.