Duplicate Ad Set
adsap_duplicate_ad_setDuplicate an existing Meta ad set into 1-10 copies, keeping ALL its ads (including ads with no delivery yet). Every copy and every recreated ad is PAUSED. Each recreated ad reuses the source ad's creative, so the original post and its likes/comments are preserved. Per copy you can override the name, the geo targeting (geo-split flow: one copy per region/country) and daily spend limits — as absolute amounts or as a % of the campaign daily budget (Advantage campaign budget campaigns only; the % auto-computes the absolute like Ads Manager). ALWAYS call with dry_run: true first: it returns the plan (source ad set, the exact ads that will be recreated, per-copy overrides, warnings) — show it to the user and only execute after they confirm. Partial failures are reported per copy and per ad in data.copies[].errors with Meta's own error text.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| copies | Yes | One entry per copy to create (1-10). An empty object {} makes a plain copy. | |
| dry_run | No | true = return the duplication plan without creating anything. ALWAYS run this first. | |
| include_ads | No | Default true: recreate the source ad set's ads (first 50) in each copy. false = copy the ad set shell only. | |
| ad_account_id | Yes | Ad account ID (act_xxx) the source ad set belongs to. | |
| source_adset_id | Yes | Numeric ID of the ad set to duplicate (from adsap_list_ad_sets). | |
| target_campaign_id | No | Optional: create the copies in ANOTHER campaign (numeric id). Meta requires the same objective as the source campaign and rejects a mismatch. |