Update Meta Ad Creative
update_meta_ad_creativeReplaces an existing ad's CREATIVE (image, text, destination link, and call-to-action button) WITHOUT deleting the ad — a new creative is built and swapped in, so the ad keeps its ID, learning phase and history (no delete-and-recreate). Use this to FIX a wrong CTA (e.g. an ad stuck on 'Learn More' that should be 'Shop Now'), swap the image, rewrite the copy, or change the link. page_id REQUIRED (list_meta_pages). Image: ONE of image_hash / image_base64 / image_url. cta_type: LEARN_MORE | SHOP_NOW | SIGN_UP | BUY_NOW | GET_OFFER | CONTACT_US | APPLY_NOW | ORDER_NOW | SEND_MESSAGE | WHATSAPP_MESSAGE | INSTAGRAM_MESSAGE | CALL_NOW | ... — leave EMPTY to auto-pick from the ad set's messaging destination, else the campaign objective. USE THIS TO REPAIR AN INSTAGRAM DM AD stuck on a link button: on a destination_type=INSTAGRAM_DIRECT ad set pass cta_type='INSTAGRAM_MESSAGE' and the ad starts delivering (LEARN_MORE there is error 1487891). For Click-to-WhatsApp/Messenger/Instagram-DM ads (cta_type WHATSAPP_MESSAGE / SEND_MESSAGE / INSTAGRAM_MESSAGE) you can set/change the pre-filled chat: welcome_message = the ready-written text that auto-populates the user's compose box, greeting = optional in-thread greeting, ice_breakers = up to 4 tappable quick replies (≤80 chars each; if given they replace the auto-fill). This is how to add a WhatsApp welcome/ice-breaker message to an existing ad. BACKGROUND MUSIC: a single-photo ad cannot carry audio on its own (Meta rule); music is added as an Advantage+ creative enhancement that turns the photo into a short video with a soundtrack. Set music=true to enroll it — it applies on Instagram Reels/Stories/Feed placements and is quietly ignored on Facebook Feed; the result reports back which enhancements actually took (never claims music when Meta declined). For a specific song, put the music in a short video (upload_meta_video) and pass its video_id here — the existing ad is converted to that video creative while keeping its ad ID and learning. enhancements = other Advantage+ features (e.g. image_enhancement) by name. TURNING THEM OFF: Meta switches several Advantage+ enhancements ON BY DEFAULT (video touch-ups, music, text variations), which silently changes the advertiser's creative. Pass enhancements_off="all" to opt every one of them OUT, or a comma separated list of names to opt out selectively. Use get_meta_ad_creative to see which ones are currently on. INSTAGRAM IDENTITY: the ad's current Instagram account is carried over to the new creative automatically; pass instagram_user_id only to switch it to a different Instagram account. The result reports which Instagram account the new creative actually uses. confirm=false = preview.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| link | Yes | ||
| name | No | ||
| ad_id | Yes | ||
| music | No | ||
| confirm | No | ||
| message | Yes | ||
| page_id | Yes | ||
| cta_type | No | ||
| greeting | No | ||
| headline | No | ||
| video_id | No | ||
| image_url | No | ||
| account_id | Yes | ||
| image_hash | No | ||
| enhancements | No | ||
| ice_breakers | No | ||
| image_base64 | No | ||
| welcome_message | No | ||
| enhancements_off | No | ||
| instagram_user_id | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||