Skip to content

Explore read-only Meta Ads provider CLI #1

Description

@Deniffer001

Summary

Meta introduced an Ads CLI for Meta Ads and Commerce on 2026-04-29. This repo can eventually support Meta Ads as another provider surface, but it should start as a read-only raw-data CLI instead of adopting campaign write operations directly.

Reference: https://developers.facebook.com/blog/post/2026/04/29/introducing-ads-cli/

Context

product-growth-tools currently keeps provider CLIs schema-first, JSON-first, and raw-data-only. Existing packages expose provider data and leave reports, storage, decisions, and execution policy to the consuming growth system.

The Meta Ads CLI described in the blog wraps the Meta Marketing API and covers campaign/ad set/ad/creative creation, updates, deletes, insights, pixels, conversions, and catalogs. That is useful, but write operations can spend money or change live campaign state, so they need a higher-level execution boundary and human approval before being exposed to agents.

As of 2026-04-30, the blog's getting-started documentation link appears to point at developers.intern.facebook.com, and the obvious public docs path returned 404 during inspection. Treat the official CLI dependency as not ready for hard adoption until public install and credential docs are stable.

Proposed Direction

Add a future optional package such as packages/meta-ads-cli / @deniffer/meta-ads-cli with command aliases meta-ads and meta-ads-cli.

First version should be read-only:

  • doctor dataset readiness
  • account dataset ad-accounts
  • campaign dataset list
  • campaign dataset performance
  • adSet dataset performance
  • ad dataset performance
  • insights dataset get
  • optional read-only pixel/catalog/conversion metadata commands

Follow existing repo conventions:

  • schema-first command definitions
  • JSON output shaped as { ok: true, data } / { ok: false, error }
  • PRODUCT_GROWTH_PROFILE credential loading
  • local env support for META_ACCESS_TOKEN, META_AD_ACCOUNT_ID, META_APP_ID, and related account settings
  • no report, storage, recommendation, or campaign decision logic inside the provider CLI

Explicit Non-Goals

Do not expose these in the first provider package:

  • campaign/ad set/ad/creative create
  • update status or budgets
  • delete/archive operations
  • autonomous launch or optimization loops

If write operations become necessary later, they should live behind a Growth OS action/execution layer with dry-run output, explicit human approval, and default PAUSED state.

Acceptance Criteria

  • A small spike verifies the stable official install surface or chooses a direct Meta Marketing API implementation.
  • The first implementation is read-only and passes --schema, unit tests, and a doctor dataset readiness check.
  • README/docs describe Meta Ads as provider/raw-data evidence, not an ad campaign operator.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions