Docs / Advertising

Create and activate a Meta Ads campaign safely

Resolve a connected local ad account before building the draft:

smallforce ads accounts list --json
smallforce ads targeting search "coffee" \
  --account <adAccountId> \
  --dimension interest \
  --json

Complex mutations accept inline JSON, --input-file <path>, or stdin with --input-file -. Validate before creation:

smallforce ads campaigns validate --input-file campaign.json
smallforce ads campaigns preview --input-file campaign.json
smallforce ads campaigns create --input-file campaign.json --json

The created campaign remains paused. Run preflight against the resulting campaign and ad account:

smallforce ads campaigns preflight <campaignId> \
  --account <adAccountId> \
  --json

Review every preflight issue, budget, schedule, audience, placement, destination, tracking choice, and creative. Activate only after the authorized person approves the campaign:

smallforce ads campaigns status <campaignId> active \
  --account <adAccountId>

Use stable idempotency inputs where available and inspect leaf help before mutations. Provider effects and accepted contracts can differ across campaign operations.