# 2024 Out-Of-Cycle Changes



2024 out-of-cycle changes to Marketing API.

### December 13, 2024

### Upcoming Special Ad Categories Changes
*Applies to v22.0+. Will apply to all versions March 2025.*

Certain customer list custom audiences will become ineligible for usage in ad sets of housing, employment, and financial products and services, including credit, campaigns beginning March 2025. Learn more about the update [here](https://www.facebook.com/business/help/1452187872132363) and whether the restrictions apply to you.

#### Ad Sets for Special Ad Category Campaigns
*Beginning March 2025, this change will be applied to all versions.*

Starting with v22.0, you will be unable to create or update ad sets if their targeting options contain one or more ineligible customer list custom audiences. You will need to either [certify](https://www.facebook.com/legal/customer-list-custom-audience-certification) if eligible or remove any such audiences to successfully create or update the ad set.

The `is_sac_cfca_terms_certified` field will be added to the ad set API. You will be required to use this field to certify that any customer list custom audiences being used in an ad set of a housing, employment, and financial products and services, including credit, campaign comply with [Meta's CLCA certification](https://www.facebook.com/legal/customer-list-custom-audience-certification).

This change affects the following endpoints when creating or updating ad sets:

* [`POST /{ad-accout-id}/adsets`](https://developers.facebook.com/documentation/ads-commerce/marketing-api/reference/ad-account/adsets)
* [`POST /ad_set_id`](https://developers.facebook.com/documentation/ads-commerce/marketing-api/reference/ad-campaign)

#### Custom Audiences
*Applies to all versions.*

Starting on January 6, 2025, you can use the new `is_eligible_for_sac_campaigns` field to identify whether a custom audience can be used in ad sets of Special Ad Category campaigns. You must provide the intended `special_ad_categories` and `special_ad_category_countries` of the Special Ad Category campaign using the audience, as well as the `ad_account_id` which will use the audience to create or edit the ad set.

This change affects the following endpoints:

* [`GET /custom_audience_id`](https://developers.facebook.com/documentation/ads-commerce/marketing-api/reference/custom-audience)

See [Special Ad Categories](https://developers.facebook.com/documentation/ads-commerce/marketing-api/audiences/special-ad-category) for more information about these changes.

### November 12, 2024

### Ad Asset Promotional Metadata
*Applies to: all versions.*

The `coupon_codes` field will be added to the AdAssetPromotionalMetadata API. This field stores the coupon codes and their detection sources that the advertiser opted in to during ad creation.

The following endpoints are affected:
* [`GET /{ad-creative-id}?fields=asset_feed_spec`](https://developers.facebook.com/documentation/ads-commerce/marketing-api/reference/ad-creative)


### October 31, 2024

### Added variation to a Ad set Promoted Object
*Applies to: v21.0+*

Variation string in promoted object defines what variant we want to use for the selected product set.

Options are:
- PROUDCT_SET_AND_WEBSITE
- PRODUCT_SET_AND_APP
- PRODUCT_SET_AND_IN_STORE
- PRODUCT_SET_AND_OMNICHANNEL

Each option requires a set of params like pixel id, omni channel object, application id with product set id selected to work.

The following endpoints are affected:
* [`GET /act_{ad-account-id}/adsets`](https://developers.facebook.com/documentation/ads-commerce/marketing-api/reference/ad-account/adsets)
* [`POST /act_{ad-account-id}/adsets`](https://developers.facebook.com/documentation/ads-commerce/marketing-api/reference/ad-account/adsets)


### October 7, 2024

### New available category for Special Ad Categories
*Applies to: all versions.*

There is a new special ad category input for the special_ad_categories field. This input is `FINANCIAL_PRODUCTS_SERVICES` representing the [Financial products and services](https://www.facebook.com/business/help/510724041294968) category, and will eventually replace the `CREDIT` input on January 14, 2025. This change is part of an upcoming expansion of special ad categories to include financial products and services in early 2025. [Learn more about the update here](https://www.facebook.com/business/help/510724041294968).

`CREDIT` is still a valid special ad category selection until it is deprecated on January 14, 2025. Developers must have migrated to the `FINANCIAL_PRODUCTS_SERVICES` input prior to the deprecation. It is recommended that you prioritize this update well in advance of the deprecation date to minimize disruption for your customers.

It is important to note that `CREDIT` and `FINANCIAL_PRODUCTS_SERVICES` cannot be selected at the same time for a single campaign. Only one (`CREDIT` or `FINANCIAL_PRODUCTS_SERVICES`) may be used of the two choices.

Businesses that have selected the `FINANCIAL_PRODUCTS_SERVICES` input must comply with [audience restrictions](https://developers.facebook.com/documentation/ads-commerce/marketing-api/audiences/special-ad-category#hec-restrictions), similar to housing and employment.

The following endpoints are affected:
* [`POST /{campaign-id}`](https://developers.facebook.com/documentation/ads-commerce/marketing-api/reference/ad-campaign-group)

* November 15, 2024 - Changelog entry updated with the date for this upcoming change as previously noted would occur.


### August 1, 2024

### Ads Insights API

#### Unique Metrics Deprecation
*Applies to all versions on October 30, 2024.*

On October 30, 2024, a number of the unique metrics will be deprecated from the Ads Insights API for all API versions. [Learn more.](https://developers.facebook.com/blog/post/2024/08/07/ads-insights-api-unique-metric-updates/)

After the update, the API's `unique_actions` and `cost_per_unique_action_type` fields will return only the following `action_type` breakdowns:

* `link_click`
* `onsite_conversion_messaging_first_reply`
* `onsite_conversion_total_messaging_connection`
* `outbound_click`

Accordingly, the following action_type breakdowns will be deprecated from the API's `unique_actions` and `cost_per_unique_action_type` fields:

* `add_payment_info`
* `add_to_cart`
* `app_custom_event`
* `app_custom_event.fb_mobile_achievement_unlocked`
* `app_custom_event.fb_mobile_activate_app`
* `app_custom_event.fb_mobile_add_payment_info`
* `app_custom_event.fb_mobile_add_to_cart`
* `app_custom_event.fb_mobile_add_to_wishlist`
* `app_custom_event.fb_mobile_complete_registration`
* `app_custom_event.fb_mobile_content_view`
* `app_custom_event.fb_mobile_d2_retention`
* `app_custom_event.fb_mobile_d7_retention`
* `app_custom_event.fb_mobile_initiated_checkout`
* `app_custom_event.fb_mobile_level_achieved`
* `app_custom_event.fb_mobile_purchase`
* `app_custom_event.fb_mobile_rate`
* `app_custom_event.fb_mobile_search`
* `app_custom_event.fb_mobile_spent_credits`
* `app_custom_event.fb_mobile_tutorial_completion`
* `app_custom_event.other`
* `app_engagement`
* `app_install`
* `call_confirm_grouped`
* `checkin`
* `click_to_call_call_confirm`
* `click_to_call_callback_request_submitted`
* `click_to_call_native_20s_call_connect`
* `click_to_call_native_60s_call_connect`
* `click_to_call_native_call_placed`
* `click_to_join_new_channel_member`
* `comment`
* `commerce_event`
* `complete_registration`
* `credit_spent`
* `group_join`
* `initiate_checkout`
* `landing_page_view`
* `lead`
* `leadgen_grouped`
* `like`
* `mobile_app_install`
* `offline_conversion`
* `offline_conversion.add_payment_info`
* `offline_conversion.add_to_cart`
* `offline_conversion.add_to_wishlist`
* `offline_conversion.complete_registration`
* `offline_conversion.initiate_checkout`
* `offline_conversion.lead`
* `offline_conversion.other`
* `offline_conversion.purchase`
* `offline_conversion.search`
* `offline_conversion.view_content`
* `offsite_conversion`
* `offsite_conversion.fb_pixel_add_payment_info`
* `offsite_conversion.fb_pixel_add_to_cart`
* `offsite_conversion.fb_pixel_add_to_wishlist`
* `offsite_conversion.fb_pixel_complete_registration`
* `offsite_conversion.fb_pixel_custom`
* `offsite_conversion.fb_pixel_initiate_checkout`
* `offsite_conversion.fb_pixel_lead`
* `offsite_conversion.fb_pixel_purchase`
* `offsite_conversion.fb_pixel_search`
* `offsite_conversion.fb_pixel_view_content`
* `omni_achievement_unlocked`
* `omni_activate_app`
* `omni_add_to_cart`
* `omni_add_to_wishlist`
* `omni_app_install`
* `omni_complete_registration`
* `omni_custom`
* `omni_initiated_checkout`
* `omni_level_achieved`
* `omni_purchase`
* `omni_rate`
* `omni_search`
* `omni_spend_credits`
* `omni_tutorial_completion`
* `omni_view_content`
* `onsite_app_add_to_cart`
* `onsite_app_purchase`
* `onsite_app_view_content`
* `onsite_conversion.add_to_cart`
* `onsite_conversion.add_to_wishlist`
* `onsite_conversion.click_to_call`
* `onsite_conversion.donate`
* `onsite_conversion.find_location`
* `onsite_conversion.flow_complete`
* `onsite_conversion.initiate_checkout`
* `onsite_conversion.lead`
* `onsite_conversion.lead_grouped`
* `onsite_conversion.message_to_buy`
* `onsite_conversion.messaging_20s_call_connect`
* `onsite_conversion.messaging_60s_call_connect`
* `onsite_conversion.messaging_block`
* `onsite_conversion.messaging_business_calling_call_answered`
* `onsite_conversion.messaging_business_calling_call_initiated`
* `onsite_conversion.messaging_business_calling_call_missed`
* `onsite_conversion.messaging_business_calling_opt_in_accepted`
* `onsite_conversion.messaging_business_calling_opt_in_denied`
* `onsite_conversion.messaging_business_calling_opt_in_sent`
* `onsite_conversion.messaging_conversation_replied_7d`
* `onsite_conversion.messaging_conversation_started_7d`
* `onsite_conversion.messaging_order_created_v2`
* `onsite_conversion.messaging_order_shipped_v2`
* `onsite_conversion.messaging_user_call_placed`
* `onsite_conversion.messaging_user_depth_2_message_send`
* `onsite_conversion.messaging_user_depth_3_message_send`
* `onsite_conversion.messaging_user_subscribed`
* `onsite_conversion.messaging_welcome_message_view`
* `onsite_conversion.other`
* `onsite_conversion.post_save`
* `onsite_conversion.purchase`
* `onsite_conversion.view_content`
* `onsite_web_add_to_cart`
* `onsite_web_app_add_to_cart`
* `onsite_web_app_purchase`
* `onsite_web_app_view_content`
* `onsite_web_lead`
* `onsite_web_purchase`
* `onsite_web_view_content`
* `page_engagement`
* `photo_view`
* `post`
* `post_engagement`
* `post_reaction`
* `purchase`
* `rsvp`
* `search`
* `video_view`
* `view_content`

Please note that the above changes do not affect other Ads Insights API fields, such as `actions`, `action_values` or `cost_per_action_type`.

The following endpoints are affected:

* [`GET /{ad-account-id}/insights`](https://developers.facebook.com/documentation/ads-commerce/marketing-api/reference/ad-account/insights)
* [`GET /{ad-id}/insights`](https://developers.facebook.com/documentation/ads-commerce/marketing-api/reference/adgroup/insights)
* [`GET /{ad-set-id}/insights`](https://developers.facebook.com/documentation/ads-commerce/marketing-api/reference/ad-campaign/insights)
* [`GET /{campaign-id}/insights`](https://developers.facebook.com/documentation/ads-commerce/marketing-api/reference/ad-campaign-group/insights)
* [`GET /{ad-report-run-id}/insights`](https://developers.facebook.com/docs/marketing-api/reference/ad-report-run/insights)

### June 24, 2024

### Ad Scheduling
*Applies to: All versions*

The fields `ad_schedule_start_time` and `ad_schedule_end_time` will become available for Manual sales campaigns, Manual app campaigns, and Advantage+ app campaigns.

The following endpoints are affected:
* [`GET /{ad-id}`](https://developers.facebook.com/documentation/ads-commerce/marketing-api/reference/adgroup)
* [`POST /{ad-id}`](https://developers.facebook.com/documentation/ads-commerce/marketing-api/reference/adgroup)


### March 11, 2024

### Ad

Starting March 11th, 2024, we will no longer support providing a `bid_amount` value on ads. Instead please use the `bid_amount` value in the ad set as the source of truth. API calls attempting to update the `bid_amount` for an ad will result in an error.

The following endpoints are affected:

* [`GET /{ad-account-id}/ads`](https://developers.facebook.com/documentation/ads-commerce/marketing-api/reference/adgroup#Reading)
* [`POST /{ad-account-id}/ads`](https://developers.facebook.com/documentation/ads-commerce/marketing-api/reference/adgroup#Creating)