> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apostra.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Meta Ads compatibility

> What you can and cannot do with Meta Ads through Apostra.

This page compares the Meta Ads capabilities represented in the
Apostra adapter with what Apostra currently makes available to buyers.
It answers a practical question: **what can I do through Apostra today, and
what would still require another path?**

<Note>
  **Last reviewed 2026-08-27.** This is Apostra's description of
  its own adapter, based on the implementation and the linked provider
  documentation. Meta Ads has not reviewed or endorsed this page.
  Availability can still vary by account permissions, market, and provider access.
</Note>

## At a glance

| Area                 | 🟢 Available | 🟡 Partial | 🔵 Testing | ⚪ Planned |
| -------------------- | ------------ | ---------- | ---------- | --------- |
| Campaign products    | **25**       | **0**      | **1**      | **1**     |
| Creative formats     | **1**        | **0**      | **4**      | **7**     |
| Adapter capabilities | **15**       | **0**      | **0**      | **1**     |

### How to read availability

* 🟢 **Available** — Offered through Apostra now, subject to your ad account's permissions and eligibility with the provider.
* 🟡 **Partial** — Some of the workflow is available; the Comments column explains the boundary.
* 🔵 **Testing** — Apostra is validating the workflow before offering it broadly.
* ⚪ **Planned** — Not offered through Apostra yet. The provider may still support it directly; Comments explains why and links a roadmap reference.

## Roadmap

The adapter roadmap is tracked in AI-1940 (a plain-text reference — Apostra's internal issue tracker is not public).
This roadmap tracks Meta adapter product completeness, safety, and live readiness. Every row that is not currently available shows
that reference or a more specific one in its References column, so customers
and partners can quote a stable identifier when asking about a capability.

## Connection, accounts, and identity

Meta Ads connects to Apostra through an OAuth grant. Connecting a Business Manager / Business Portfolio account gives Apostra access to each Ad account (`act_…`) it can reach — you then map each one to your advertisers. The mapped account decides which Meta Ads tenant a buy runs on: a media buy for an unmapped advertiser fails closed with `account_mapping_required` rather than silently using another account. Connection, account-discovery, and revocation behavior is the same across ad platforms — see [Platform accounts and advertiser mapping](/v2/concepts/ad-platform-accounts) for the full model and the [Meta Ads section of the connecting guide](/v2/guides/connecting-ad-platforms#meta) for Meta Ads-specific permissions.

| Apostra concept                             | Meta Ads concept             | What it represents                                                                        |
| ------------------------------------------- | ---------------------------- | ----------------------------------------------------------------------------------------- |
| Account (`account`)                         | ad account                   | Explicit selected ad account under the authorized Meta business.                          |
| Media Buy (`media_buy`)                     | campaign                     | Campaign objective and lifecycle.                                                         |
| Package (`package`)                         | ad set                       | Optimization, billing event, budget, flight, targeting, placement, and conversion source. |
| Creative (`creative`)                       | ad creative                  | Image, video, existing-post, and governed creative shapes.                                |
| Creative Assignment (`creative_assignment`) | ad                           | Ad binds one creative to one ad set.                                                      |
| Signal (`signal`)                           | Custom or Lookalike Audience | Account-owned audience identity and readiness.                                            |

## Campaign products

| Feature                             | Availability | References                                                                                                          | Comments                                                                                                                                                                                                                                             |
| ----------------------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Awareness                           | 🟢 Available | [Meta Campaign reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group)           | Available through Apostra.                                                                                                                                                                                                                           |
| Awareness Impressions               | 🟢 Available | [Meta Campaign reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group)           | Available through Apostra.                                                                                                                                                                                                                           |
| Awareness Ad Recall                 | 🟢 Available | [Meta Campaign reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group)           | Available through Apostra.                                                                                                                                                                                                                           |
| Traffic                             | 🟢 Available | [Meta Campaign reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group)           | Available through Apostra.                                                                                                                                                                                                                           |
| Traffic Landing Page Views          | 🟢 Available | [Meta Campaign reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group)           | Available through Apostra.                                                                                                                                                                                                                           |
| Engagement Page Likes               | ⚪ Planned    | [Meta Campaign reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group) · AI-1940 | Meta no longer accepts PAGE\_LIKES as an optimization goal for OUTCOME\_ENGAGEMENT campaigns. Use meta\_engagement for general Page engagement instead. Current boundary: Apostra implementation/testing.                                            |
| Engagement Event Responses          | 🟢 Available | [Meta Campaign reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group)           | Available through Apostra.                                                                                                                                                                                                                           |
| Engagement Instagram Profile Visits | 🟢 Available | [Meta Campaign reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group)           | Available through Apostra.                                                                                                                                                                                                                           |
| Engagement Instagram Conversations  | 🟢 Available | [Meta Campaign reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group)           | Available through Apostra.                                                                                                                                                                                                                           |
| Engagement                          | 🟢 Available | [Meta Campaign reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group)           | Available through Apostra.                                                                                                                                                                                                                           |
| Engagement Video Views              | 🔵 Testing   | [Meta Campaign reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group) · AI-1940 | Not available through standard buyer discovery or execution. This ThruPlay product is retained only for the protected Meta video conformance path because all of its creative formats are Testing. Current boundary: Apostra implementation/testing. |
| Engagement Messenger                | 🟢 Available | [Meta Campaign reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group)           | Available through Apostra.                                                                                                                                                                                                                           |
| Engagement Whatsapp                 | 🟢 Available | [Meta Campaign reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group)           | Available through Apostra.                                                                                                                                                                                                                           |
| Conversions                         | 🟢 Available | [Meta Campaign reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group)           | Available through Apostra.                                                                                                                                                                                                                           |
| Sales Website Value                 | 🟢 Available | [Meta Campaign reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group)           | Available through Apostra.                                                                                                                                                                                                                           |
| Sales Website Catalog               | 🟢 Available | [Meta Campaign reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group)           | Available through Apostra.                                                                                                                                                                                                                           |
| Sales Shop                          | 🟢 Available | [Meta Campaign reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group)           | Available through Apostra.                                                                                                                                                                                                                           |
| App Installs                        | 🟢 Available | [Meta Campaign reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group)           | Available through Apostra.                                                                                                                                                                                                                           |
| App Post Install Event              | 🟢 Available | [Meta Campaign reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group)           | Available through Apostra.                                                                                                                                                                                                                           |
| App Conversion Value                | 🟢 Available | [Meta Campaign reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group)           | Available through Apostra.                                                                                                                                                                                                                           |
| Leads                               | 🟢 Available | [Meta Campaign reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group)           | Available through Apostra.                                                                                                                                                                                                                           |
| Leads Instant Form Quality          | 🟢 Available | [Meta Campaign reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group)           | Available through Apostra.                                                                                                                                                                                                                           |
| Leads Website                       | 🟢 Available | [Meta Campaign reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group)           | Available through Apostra.                                                                                                                                                                                                                           |
| Leads Messenger                     | 🟢 Available | [Meta Campaign reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group)           | Available through Apostra.                                                                                                                                                                                                                           |
| Leads Instagram                     | 🟢 Available | [Meta Campaign reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group)           | Available through Apostra.                                                                                                                                                                                                                           |
| Leads Whatsapp                      | 🟢 Available | [Meta Campaign reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group)           | Available through Apostra.                                                                                                                                                                                                                           |
| Leads Calls                         | 🟢 Available | [Meta Campaign reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group)           | Available through Apostra.                                                                                                                                                                                                                           |

## Pricing notes

`pricing_options` omits `floor_price` and `price_guidance` for every Meta product. Meta exposes no discovery-time bid estimate, so a static guess would be no more reliable than no guidance at all, and for a non-USD ad account it would mean silently relabeling a USD number or, as it did before, showing an outright zero. Each product is still priced (`pricing_model`, `currency`, `max_bid`); there is simply no platform-backed number to bid against yet.

## Creative formats

These rows describe **Apostra availability**, not a claim that the ad platform
itself prohibits an unavailable format.

| Feature                | Availability | References                                                                                                  | Comments                                                                                                                                                                                                                                                                                |
| ---------------------- | ------------ | ----------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Image Feed             | 🟢 Available | [Meta Ad Set reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign)           | Available through Apostra.                                                                                                                                                                                                                                                              |
| Video Feed             | 🔵 Testing   | [Meta Ad Set reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign) · AI-1940 | Not available through standard buyer sync or assignment. The current Testing path requires an explicit JPEG or PNG \`thumbnail\` matching the video. Automatic thumbnail selection is not available through standard buyer workflows. Current boundary: Apostra implementation/testing. |
| Existing Post          | 🔵 Testing   | [Meta Ad Set reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign) · AI-1940 | Apostra is still testing this creative format before making it generally available. Current boundary: Apostra implementation/testing.                                                                                                                                                   |
| Stories                | 🔵 Testing   | [Meta Ad Set reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign) · AI-1940 | Not available through standard buyer sync or assignment. The current Testing path requires an explicit JPEG or PNG \`thumbnail\` matching the video. Automatic thumbnail selection is not available through standard buyer workflows. Current boundary: Apostra implementation/testing. |
| Reels                  | 🔵 Testing   | [Meta Ad Set reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign) · AI-1940 | Not available through standard buyer sync or assignment. The current Testing path requires an explicit JPEG or PNG \`thumbnail\` matching the video. Automatic thumbnail selection is not available through standard buyer workflows. Current boundary: Apostra implementation/testing. |
| Carousel               | ⚪ Planned    | [Meta Ad Set reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign) · AI-1940 | Apostra represents this creative format in its catalog, but has not completed the end-to-end buyer workflow and faithful readback needed to offer it. Current boundary: Apostra implementation/testing.                                                                                 |
| Promoted Offerings     | ⚪ Planned    | [Meta Ad Set reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign) · AI-1940 | Promoted Offerings is built through the per-offering package flow on \`create\_media\_buy\`. No Meta product currently carries it as a selectable creative format, so it is not offered in the creative catalog. Current boundary: Apostra implementation/testing.                      |
| Generated Image 1x1    | ⚪ Planned    | [Meta Ad Set reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign) · AI-1940 | Apostra represents this creative format in its catalog, but has not completed the end-to-end buyer workflow and faithful readback needed to offer it. Current boundary: Apostra implementation/testing.                                                                                 |
| Generated Stories 9x16 | ⚪ Planned    | [Meta Ad Set reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign) · AI-1940 | Apostra represents this creative format in its catalog, but has not completed the end-to-end buyer workflow and faithful readback needed to offer it. Current boundary: Apostra implementation/testing.                                                                                 |
| Generated Video Feed   | ⚪ Planned    | [Meta Ad Set reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign) · AI-1940 | Apostra represents this creative format in its catalog, but has not completed the end-to-end buyer workflow and faithful readback needed to offer it. Current boundary: Apostra implementation/testing.                                                                                 |
| Generated Reels 9x16   | ⚪ Planned    | [Meta Ad Set reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign) · AI-1940 | Apostra represents this creative format in its catalog, but has not completed the end-to-end buyer workflow and faithful readback needed to offer it. Current boundary: Apostra implementation/testing.                                                                                 |
| Generated Offerings    | ⚪ Planned    | [Meta Ad Set reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign) · AI-1940 | Apostra represents this creative format in its catalog, but has not completed the end-to-end buyer workflow and faithful readback needed to offer it. Current boundary: Apostra implementation/testing.                                                                                 |

## What the adapter can do

| Feature                | Availability | References                                                                                            | Comments                                                                                                                                          |
| ---------------------- | ------------ | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| List Accounts          | 🟢 Available | [Meta Marketing API overview](https://developers.facebook.com/docs/marketing-apis/overview)           | Business/ad-account discovery and explicit selection                                                                                              |
| Sync Accounts          | ⚪ Planned    | [Meta Marketing API overview](https://developers.facebook.com/docs/marketing-apis/overview) · AI-1940 | Account synchronization is not implemented. Current boundary: Apostra implementation/testing.                                                     |
| Get Products           | 🟢 Available | [Meta Marketing API overview](https://developers.facebook.com/docs/marketing-apis/overview)           | 21 objective/optimization/billing mappings                                                                                                        |
| Sync Creatives         | 🟢 Available | [Meta Marketing API overview](https://developers.facebook.com/docs/marketing-apis/overview)           | Creative creation and assignment readback for formats marked Available above; Testing formats are not available through standard buyer workflows. |
| List Creatives         | 🟢 Available | [Meta Marketing API overview](https://developers.facebook.com/docs/marketing-apis/overview)           | Ad creative inventory and assignment projection                                                                                                   |
| Preview Creative       | 🟢 Available | [Meta Marketing API overview](https://developers.facebook.com/docs/marketing-apis/overview)           | Provider-rendered, URL-only previews for verified selected-account creatives and transient image manifests                                        |
| Create Media Buy       | 🟢 Available | [Meta Marketing API overview](https://developers.facebook.com/docs/marketing-apis/overview)           | Campaign → ad set → ad                                                                                                                            |
| Get Media Buys         | 🟢 Available | [Meta Marketing API overview](https://developers.facebook.com/docs/marketing-apis/overview)           | Campaign/ad-set/ad projection with targeting provenance                                                                                           |
| Update Media Buy       | 🟢 Available | [Meta Marketing API overview](https://developers.facebook.com/docs/marketing-apis/overview)           | Lifecycle, geography, audiences, placements, devices, and creative assignments; AdCP 3.2 budget/bid replacement is not atomic                     |
| Get Media Buy Delivery | 🟢 Available | [Meta Marketing API overview](https://developers.facebook.com/docs/marketing-apis/overview)           | Insights API campaign/ad-set reporting plus placement, device, and geography breakdowns                                                           |
| Get Signals            | 🟢 Available | [Meta Marketing API overview](https://developers.facebook.com/docs/marketing-apis/overview)           | Custom and Lookalike Audience discovery                                                                                                           |
| Sync Audiences         | 🟢 Available | [Meta Marketing API overview](https://developers.facebook.com/docs/marketing-apis/overview)           | Custom Audience create/replace/status lifecycle                                                                                                   |
| Sync Event Sources     | 🟢 Available | [Meta Marketing API overview](https://developers.facebook.com/docs/marketing-apis/overview)           | Pixel, app, and supported built-in event source discovery                                                                                         |
| Log Event              | 🟢 Available | [Meta Marketing API overview](https://developers.facebook.com/docs/marketing-apis/overview)           | Conversions API event ingestion                                                                                                                   |
| Sync Catalogs          | 🟢 Available | [Meta Marketing API overview](https://developers.facebook.com/docs/marketing-apis/overview)           | Catalog synchronization                                                                                                                           |
| Get Account Financials | 🟢 Available | [Meta Marketing API overview](https://developers.facebook.com/docs/marketing-apis/overview)           | Account currency, funding, and spend constraints                                                                                                  |

## Placement choices

| Feature           | Availability | References                                                                                        | Comments                   |
| ----------------- | ------------ | ------------------------------------------------------------------------------------------------- | -------------------------- |
| Facebook Feed     | 🟢 Available | [Meta Ad Set reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign) | facebook / feed            |
| Facebook Stories  | 🟢 Available | [Meta Ad Set reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign) | facebook / story           |
| Facebook Reels    | 🟢 Available | [Meta Ad Set reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign) | Available through Apostra. |
| Instagram Feed    | 🟢 Available | [Meta Ad Set reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign) | instagram / stream         |
| Instagram Stories | 🟢 Available | [Meta Ad Set reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign) | instagram / story          |
| Instagram Reels   | 🟢 Available | [Meta Ad Set reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign) | instagram / reels          |

## Targeting

| Feature             | Availability | References                                                                                            | Comments                                                                                                                                                                                                                                            |
| ------------------- | ------------ | ----------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Geo Countries       | 🟢 Available | [Meta Marketing API overview](https://developers.facebook.com/docs/marketing-apis/overview)           | Available through Apostra.                                                                                                                                                                                                                          |
| Geo Regions         | 🟢 Available | [Meta Marketing API overview](https://developers.facebook.com/docs/marketing-apis/overview)           | ISO subdivision → provider region key with provenance                                                                                                                                                                                               |
| Geo Places          | 🟡 Partial   | [Meta Marketing API overview](https://developers.facebook.com/docs/marketing-apis/overview) · AI-1940 | Negotiated AdCP 3.2 stable provider city IDs; seller-wide advertisement awaits the authenticated resolver endpoint. Current boundary: Apostra implementation/testing.                                                                               |
| Geo Postal Areas    | 🟢 Available | [Meta Marketing API overview](https://developers.facebook.com/docs/marketing-apis/overview)           | Available through Apostra.                                                                                                                                                                                                                          |
| Ext                 | 🟡 Partial   | [Meta Marketing API overview](https://developers.facebook.com/docs/marketing-apis/overview) · AI-1940 | Targeting choice is only partially available through Apostra. Current boundary: Apostra implementation/testing.                                                                                                                                     |
| Age Ranges          | 🟢 Available | [Meta Marketing API overview](https://developers.facebook.com/docs/marketing-apis/overview)           | Available through Apostra.                                                                                                                                                                                                                          |
| User Age Unknown    | 🟢 Available | [Meta Marketing API overview](https://developers.facebook.com/docs/marketing-apis/overview)           | Explicit unknown-age policy                                                                                                                                                                                                                         |
| Genders             | 🟢 Available | [Meta Marketing API overview](https://developers.facebook.com/docs/marketing-apis/overview)           | Available through Apostra.                                                                                                                                                                                                                          |
| Device Type         | 🟢 Available | [Meta Marketing API overview](https://developers.facebook.com/docs/marketing-apis/overview)           | Available through Apostra.                                                                                                                                                                                                                          |
| Audience Include    | 🟢 Available | [Meta Marketing API overview](https://developers.facebook.com/docs/marketing-apis/overview)           | Available through Apostra.                                                                                                                                                                                                                          |
| Audience Exclude    | 🟢 Available | [Meta Marketing API overview](https://developers.facebook.com/docs/marketing-apis/overview)           | Available through Apostra.                                                                                                                                                                                                                          |
| Frequency Cap       | 🟢 Available | [Meta Marketing API overview](https://developers.facebook.com/docs/marketing-apis/overview)           | Available through Apostra.                                                                                                                                                                                                                          |
| Placement Selection | 🟡 Partial   | [Meta Marketing API overview](https://developers.facebook.com/docs/marketing-apis/overview) · AI-1940 | Selecting Facebook Feed and/or Instagram Feed together with Stories and/or Reels is fully honored; selecting only Stories and/or Reels without either Feed is not yet available on every account. Current boundary: Apostra implementation/testing. |

## Reporting

Apostra reports Meta Ads delivery day by day (there is no hourly delivery breakdown), aggregated nightly from adapter-reported delivery, in the advertiser's home currency using the booked or historical exchange rate — any cross-currency rollup is always labeled an estimate and is never used for billing. See [Reporting overview](/v2/guides/reporting-overview) for the full model. Apostra does not currently publish an attribution-finality window for Meta Ads; the table below lists every metric the adapter surfaces today.

| Feature         | Availability | References                                                                       | Comments                                                         |
| --------------- | ------------ | -------------------------------------------------------------------------------- | ---------------------------------------------------------------- |
| Impressions     | 🟢 Available | [Meta Insights API](https://developers.facebook.com/docs/marketing-api/insights) | Campaign and ad-set totals                                       |
| Clicks          | 🟢 Available | [Meta Insights API](https://developers.facebook.com/docs/marketing-api/insights) | Outbound navigation only; broad Meta clicks are excluded         |
| Spend           | 🟢 Available | [Meta Insights API](https://developers.facebook.com/docs/marketing-api/insights) | Account-currency amount                                          |
| Reach           | 🟢 Available | [Meta Insights API](https://developers.facebook.com/docs/marketing-api/insights) | Unique accounts when returned                                    |
| Conversions     | 🟢 Available | [Meta Insights API](https://developers.facebook.com/docs/marketing-api/insights) | Mapped according to the committed optimization contract          |
| Completed Views | 🟢 Available | [Meta Insights API](https://developers.facebook.com/docs/marketing-api/insights) | ThrUPlay mapping                                                 |
| Breakdowns      | 🟢 Available | [Meta Insights API](https://developers.facebook.com/docs/marketing-api/insights) | Placement, device, and geography projections with reconciliation |

## Webhooks and async lifecycle

Meta Ads campaign products declare `supports_webhooks: false`, so there is no product-level provider webhook contract for status, delivery, or reporting. Apostra separately accepts Meta's native ad-account webhook events.

* **Status.** A native Meta ad-account webhook event can trigger a media-buy status refresh for affected campaigns. Apostra does not otherwise poll Meta Ads in the background for creative or media-buy status changes; an explicit adapter read refreshes provider campaign state.
* **Delivery.** Apostra fetches delivery numbers (spend, impressions, clicks) live from Meta Ads on demand, only when you call `get_media_buy_delivery` directly. The `/reporting/metrics` endpoints never call the adapter either way — they read from a separately-populated store (see Reporting below), so a reporting request does not itself refresh provider delivery.

This is separate from Apostra's own buyer webhook subscriptions — an unrelated account-level event feed (currently `discovery.revision` only), documented in [Buyer webhooks](/v2/buyer/webhooks).

Meta is the one adapter with a genuine provider-pushed channel: Apostra can receive Meta's native ad-account webhook events and surface account-health signals such as disapproved ads or creative fatigue as `ext.scope3_provider_signals`, a Scope3 extension rather than a canonical AdCP status field. Processing an event can also refresh media-buy status for affected campaigns. The channel does not carry delivery numbers; on-demand delivery reads and the separately populated reporting store remain the sources for delivery.

## Market and account availability

Apostra does not promise that every feature is enabled for every account or
market. Availability is checked against your selected ad account rather than a global market list on this page.

## Important limitations

* **Apostra implementation/testing.** Messenger Inbox, Messenger Stories, and Threads Feed are not offered as selectable placements.
* **Apostra implementation/testing.** Promoting an existing post is still being tested and is not generally available.
* **Apostra implementation/testing.** Budget and bidding settings cannot be replaced atomically; create a replacement media buy instead.
* **the ad platform's API or your account's eligibility.** Account permissions, Page, Instagram, and WhatsApp ownership, and objective eligibility can narrow what is available.
* **the ad platform's API or your account's eligibility.** Sales Website Value (\`meta\_sales\_website\_value\`) requires the ad account's business to have been actively advertising for several weeks or to be verified with Meta; new or unverified businesses are rejected until then. Use Conversions (\`meta\_conversions\`) instead in the meantime.
* **the ad platform's API.** The Awareness product (\`meta\_awareness\`) uses Meta's REACH optimization goal. When no \`targeting\_overlay.frequency\_cap\` is provided, Meta automatically applies a platform default of 2 impressions per 7 days. To use a different cap, pass \`targeting\_overlay.frequency\_cap\` explicitly in your \`save\_media\_buy\` or \`create\_media\_buys\` call. All other Meta products use auction delivery and have no platform-applied default frequency cap.

## Technical mapping

Engineering-level detail — raw provider objectives, billing enums, optimization
codes, and object-field mappings. Not required reading to understand what
Apostra can do with Meta Ads; see the tables above for that.

<AccordionGroup>
  <Accordion title="Campaign product configuration">
    | Product                                                                          | Provider objective      | Optimization                           | Billing       |
    | -------------------------------------------------------------------------------- | ----------------------- | -------------------------------------- | ------------- |
    | Awareness (`meta_awareness`)                                                     | `OUTCOME_AWARENESS`     | `REACH`                                | `IMPRESSIONS` |
    | Awareness Impressions (`meta_awareness_impressions`)                             | `OUTCOME_AWARENESS`     | `IMPRESSIONS`                          | `IMPRESSIONS` |
    | Awareness Ad Recall (`meta_awareness_ad_recall`)                                 | `OUTCOME_AWARENESS`     | `AD_RECALL_LIFT`                       | `IMPRESSIONS` |
    | Traffic (`meta_traffic`)                                                         | `OUTCOME_TRAFFIC`       | `LINK_CLICKS`                          | `IMPRESSIONS` |
    | Traffic Landing Page Views (`meta_traffic_landing_page_views`)                   | `OUTCOME_TRAFFIC`       | `LANDING_PAGE_VIEWS`                   | `IMPRESSIONS` |
    | Engagement Page Likes (`meta_engagement_page_likes`)                             | `OUTCOME_ENGAGEMENT`    | `PAGE_LIKES`                           | `PAGE_LIKES`  |
    | Engagement Event Responses (`meta_engagement_event_responses`)                   | `OUTCOME_ENGAGEMENT`    | `EVENT_RESPONSES`                      | `IMPRESSIONS` |
    | Engagement Instagram Profile Visits (`meta_engagement_instagram_profile_visits`) | `OUTCOME_ENGAGEMENT`    | `PROFILE_VISIT`                        | `IMPRESSIONS` |
    | Engagement Instagram Conversations (`meta_engagement_instagram_conversations`)   | `OUTCOME_ENGAGEMENT`    | `CONVERSATIONS`                        | `IMPRESSIONS` |
    | Engagement (`meta_engagement`)                                                   | `OUTCOME_ENGAGEMENT`    | `POST_ENGAGEMENT`                      | `IMPRESSIONS` |
    | Engagement Video Views (`meta_engagement_video_views`)                           | `OUTCOME_ENGAGEMENT`    | `THRUPLAY`                             | `IMPRESSIONS` |
    | Engagement Messenger (`meta_engagement_messenger`)                               | `OUTCOME_ENGAGEMENT`    | `CONVERSATIONS`                        | `IMPRESSIONS` |
    | Engagement Whatsapp (`meta_engagement_whatsapp`)                                 | `OUTCOME_ENGAGEMENT`    | `CONVERSATIONS`                        | `IMPRESSIONS` |
    | Conversions (`meta_conversions`)                                                 | `OUTCOME_SALES`         | `OFFSITE_CONVERSIONS`                  | `IMPRESSIONS` |
    | Sales Website Value (`meta_sales_website_value`)                                 | `OUTCOME_SALES`         | `VALUE`                                | `IMPRESSIONS` |
    | Sales Website Catalog (`meta_sales_website_catalog`)                             | `OUTCOME_SALES`         | `OFFSITE_CONVERSIONS`                  | `IMPRESSIONS` |
    | Sales Shop (`meta_sales_shop`)                                                   | `OUTCOME_SALES`         | `OFFSITE_CONVERSIONS`                  | `IMPRESSIONS` |
    | App Installs (`meta_app_installs`)                                               | `OUTCOME_APP_PROMOTION` | `APP_INSTALLS`                         | `IMPRESSIONS` |
    | App Post Install Event (`meta_app_post_install_event`)                           | `OUTCOME_APP_PROMOTION` | `APP_INSTALLS_AND_OFFSITE_CONVERSIONS` | `IMPRESSIONS` |
    | App Conversion Value (`meta_app_conversion_value`)                               | `OUTCOME_APP_PROMOTION` | `IN_APP_VALUE`                         | `IMPRESSIONS` |
    | Leads (`meta_leads`)                                                             | `OUTCOME_LEADS`         | `LEAD_GENERATION`                      | `IMPRESSIONS` |
    | Leads Instant Form Quality (`meta_leads_instant_form_quality`)                   | `OUTCOME_LEADS`         | `QUALITY_LEAD`                         | `IMPRESSIONS` |
    | Leads Website (`meta_leads_website`)                                             | `OUTCOME_LEADS`         | `OFFSITE_CONVERSIONS`                  | `IMPRESSIONS` |
    | Leads Messenger (`meta_leads_messenger`)                                         | `OUTCOME_LEADS`         | `LEAD_GENERATION`                      | `IMPRESSIONS` |
    | Leads Instagram (`meta_leads_instagram`)                                         | `OUTCOME_LEADS`         | `LEAD_GENERATION`                      | `IMPRESSIONS` |
    | Leads Whatsapp (`meta_leads_whatsapp`)                                           | `OUTCOME_LEADS`         | `LEAD_GENERATION`                      | `IMPRESSIONS` |
    | Leads Calls (`meta_leads_calls`)                                                 | `OUTCOME_LEADS`         | `QUALITY_CALL`                         | `IMPRESSIONS` |
  </Accordion>

  <Accordion title="Creative format shapes">
    | Format                                                 | Meta Ads shape                                    |
    | ------------------------------------------------------ | ------------------------------------------------- |
    | Image Feed (`meta_image_feed`)                         | object\_story\_spec.link\_data                    |
    | Video Feed (`meta_video_feed`)                         | object\_story\_spec.video\_data                   |
    | Existing Post (`meta_existing_post`)                   | authorized existing Page post                     |
    | Stories (`meta_stories`)                               | vertical video creative + story placement         |
    | Reels (`meta_reels`)                                   | vertical video creative + reels placement         |
    | Carousel (`meta_carousel`)                             | object\_story\_spec.link\_data.child\_attachments |
    | Promoted Offerings (`meta_promoted_offerings`)         | one ad set and creative per offering              |
    | Generated Image 1x1 (`meta_generated_image_1x1`)       | generated square image                            |
    | Generated Stories 9x16 (`meta_generated_stories_9x16`) | generated vertical image                          |
    | Generated Video Feed (`meta_generated_video_feed`)     | generated feed video                              |
    | Generated Reels 9x16 (`meta_generated_reels_9x16`)     | generated vertical video                          |
    | Generated Offerings (`meta_generated_offerings`)       | generated image per offering                      |
  </Accordion>

  <Accordion title="Targeting field mapping">
    | Targeting choice                            | Provider field                                                                                                                                                                                                                                                                                                                 |
    | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
    | Geo Countries (`geo_countries`)             | `geo_locations.countries`                                                                                                                                                                                                                                                                                                      |
    | Geo Regions (`geo_regions`)                 | `ISO subdivision → provider region key with provenance`                                                                                                                                                                                                                                                                        |
    | Geo Places (`geo_places`)                   | `Negotiated AdCP 3.2 stable provider city IDs; seller-wide advertisement awaits the authenticated resolver endpoint`                                                                                                                                                                                                           |
    | Geo Postal Areas (`geo_postal_areas`)       | `geo_locations.zips`                                                                                                                                                                                                                                                                                                           |
    | Ext (`ext`)                                 | `Pre-3.2 ext.scope3.geo_places city compatibility only`                                                                                                                                                                                                                                                                        |
    | Age Ranges (`age_ranges`)                   | `age_min + age_max`                                                                                                                                                                                                                                                                                                            |
    | User Age Unknown (`user_age_unknown`)       | `Explicit unknown-age policy`                                                                                                                                                                                                                                                                                                  |
    | Genders (`genders`)                         | `genders`                                                                                                                                                                                                                                                                                                                      |
    | Device Type (`device_type`)                 | `device_platforms`                                                                                                                                                                                                                                                                                                             |
    | Audience Include (`audience_include`)       | `custom_audiences`                                                                                                                                                                                                                                                                                                             |
    | Audience Exclude (`audience_exclude`)       | `excluded_custom_audiences`                                                                                                                                                                                                                                                                                                    |
    | Frequency Cap (`frequency_cap`)             | `Provider frequency controls passed through \`targeting\_overlay.frequency\_cap\` as \`frequency\_control\_specs\` on the ad set. For the Awareness (REACH) product, Meta applies a platform default of 2 impressions per 7 days when no cap is provided; pass \`targeting\_overlay.frequency\_cap\` explicitly to override.\` |
    | Placement Selection (`placement_selection`) | `Selecting Facebook Feed and/or Instagram Feed together with Stories and/or Reels is fully honored; selecting only Stories and/or Reels without either Feed is not yet available on every account.`                                                                                                                            |
  </Accordion>

  <Accordion title="Reporting field mapping">
    | Apostra output                      | Meta Ads source                                                      |
    | ----------------------------------- | -------------------------------------------------------------------- |
    | Impressions (`impressions`)         | `impressions`                                                        |
    | Clicks (`clicks`)                   | `outbound_clicks`                                                    |
    | Spend (`spend`)                     | `spend`                                                              |
    | Reach (`reach`)                     | `reach`                                                              |
    | Conversions (`conversions`)         | `actions`                                                            |
    | Completed Views (`completed_views`) | `video_thruplay_watched_actions`                                     |
    | Breakdowns (`breakdowns`)           | `publisher_platform + platform_position \| device \| country/region` |
  </Accordion>
</AccordionGroup>

## Provider documentation

* [Meta Marketing API overview](https://developers.facebook.com/docs/marketing-apis/overview)
* [Meta Campaign reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group)
* [Meta Ad Set reference](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign)
* [Meta Insights API](https://developers.facebook.com/docs/marketing-api/insights)
* [Meta Business SDK preview surface](https://github.com/facebook/facebook-python-business-sdk/blob/main/facebook_business/adobjects/adcreative.py)
