This skill enables an agent to read, create, and manage Meta (Facebook/Instagram) ad campaigns via the Marketing API.
https://graph.facebook.com/v19.0/
access_token
ad_account_id (format: act_)
Use access token in query or header:
Authorization: Bearer <ACCESS_TOKEN>
or
?access_token=<ACCESS_TOKEN>
| Permission | Purpose |
| -------------- | ----------------------------- |
| ads_read | Read campaigns, ads, insights |
| ads_management | Create & update campaigns |
GET /act_<AD_ACCOUNT_ID>/campaigns
GET /act_<ID>/campaigns?fields=id,name,status,objective
GET /act_<ID>/adsets?fields=id,name,campaign_id,status,daily_budget
GET /act_<ID>/ads?fields=id,name,adset_id,status
GET /<CAMPAIGN_ID>/insights?fields=impressions,clicks,spend,ctr,cpc
GET /act_<ID>/insights?fields=impressions,clicks,spend&date_preset=last_7d
time_range={'since':'2024-01-01','until':'2024-01-31'}
effective_status=['ACTIVE']
level=campaign | adset | ad
Responses include:
paging.next
paging.next until exhausted
POST /act_<ID>/campaigns
Payload:
name=My Campaign
objective=CONVERSIONS
status=PAUSED
special_ad_categories=[]
POST /act_<ID>/adsets
Payload:
name=Ad Set 1
daily_budget=1000
billing_event=IMPRESSIONS
optimization_goal=REACH
campaign_id=<CAMPAIGN_ID>
targeting={"geo_locations":{"countries":["MA"]}}
status=PAUSED
POST /act_<ID>/adcreatives
Payload:
name=Creative 1
object_story_spec={"page_id":"<PAGE_ID>","link_data":{"message":"Hello","link":"https://example.com"}}
POST /act_<ID>/ads
Payload:
name=Ad 1
adset_id=<ADSET_ID>
creative={"creative_id":"<CREATIVE_ID>"}
status=PAUSED
POST /<CAMPAIGN_ID>?status=PAUSED
Common fields:
| Code | Meaning |
| ---- | --------------------- |
| 190 | Invalid/expired token |
| 200 | Permission denied |
| 100 | Invalid parameter |
PAUSED
IF spend > 50 AND ctr < 0.5%
THEN mark campaign as underperforming
共 1 个版本