Replace Ad Creative (edit ad content)
adsap_replace_ad_creativeDESTRUCTIVE. Edit the CONTENT of an existing Meta ad: primary text, headline, description, CTA, destination link, display link, UTM url_tags, and the image/video itself. Meta creatives are immutable, so this builds a NEW creative and repoints the ad: the ad keeps its id but gets a new creative_id and the old creative is orphaned. Editing a live/spending ad can reset its social proof (likes/comments/shares) and restart the learning phase. Text fields are ARRAYS — send the COMPLETE set with your edits applied; entries you don't change are preserved verbatim. Media swaps use creative-library assets only and are like-for-like (image->image, video->video); for multi-image ads (square + vertical) use the media array, one entry per slot. ALWAYS call with dry_run: true first — the dry-run returns the before/after diff AND the current media slots (use those to build a media swap) — then dry_run: false to apply.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ad_id | Yes | The Meta AD id to edit (the ad, not the creative). The ad keeps this id; only its creative is replaced. | |
| dry_run | No | true = preview the before->after diff without writing anything. ALWAYS run dry_run: true first. | |
| ad_account_id | Yes | act_<digits>. | |
| creative_spec | Yes | The content fields to change. Text fields are ARRAYS — send the complete set with edits applied; unchanged entries are kept. Media swaps use creative-library assets only (image->image, video->video). At least one field is required. |