Skip to main content
DO NOT USE to create a new campaign. For new campaigns:
  • Video campaign - create_meta_video_campaign
  • Image campaign - create_meta_image_campaign
  • Carousel campaign - create_meta_carousel_campaign
Common scenarios:
  • A/B test ad copy: Different headlines, primary text, or CTAs for the same audience
  • A/B test creatives: Different images or videos for the same audience
  • Format testing within one audience: Image vs video ad in the same ad set
  • Dynamic Creative (DCO): Multiple images + text variations in one ad — Meta auto-optimizes
KEY DISTINCTION — add_meta_ad vs add_meta_ad_set:
  • Same audience, different creative/copy - use THIS tool (add_meta_ad)
  • Different audience/targeting - use add_meta_ad_set instead (creates a new ad set)
Ads in the same ad set SHARE: targeting, budget, schedule, pixel tracking. Each ad has its OWN: creative (image/video/carousel), headline, primary text, CTA, landing page. IMPORTANT: You need an ad_set_id from a previously created ad set. Use list_meta_ad_sets first if you don’t have the ad_set_id. Supports all 3 ad types + Dynamic Creative:
  • image: Different image + copy variation
  • video: Different video + copy variation
  • carousel: Different card set + copy variation
  • Dynamic Creative (DCO): Pass image_urls (2-10 images), headlines (up to 5), primary_texts (up to 5), descriptions (up to 5). Meta tests ALL combinations and optimizes delivery automatically.
Dynamic Creative Optimization (DCO) workflow:
  1. Create ad set with is_dynamic_creative=true via add_meta_ad_set
  2. Call this tool with image_urls (list of 2-10 image URLs), plus optional headlines, primary_texts, descriptions arrays
  3. Meta will test all image × headline × text combinations and optimize
  4. DCO ad sets support only 1 ad — if the ad set already has is_dynamic_creative enabled, this tool auto-detects it Note: Cannot mix image_urls (DCO) with image_url (single image) or placement-specific images.
Standard workflow:
  1. Get ad_set_id from prior campaign creation or list_meta_ad_sets
  2. Write variant ad copy (different headline/primary_text/image)
  3. Call this tool with ad_set_id + new creative + copy

OpenAPI

/api-reference/openapi.json post /api/v1/tools/add_meta_ad/execute