Duplicate Meta Campaign
User wants to duplicate/copy an existing Meta campaign with all its ad sets, ads, and settings.
IMPORTANT: This creates a NEW real campaign in Meta Ads. The duplicate starts in PAUSED status by default for review.
This tool copies the entire campaign structure including:
- Campaign settings (objective, budget strategy)
- All ad sets (targeting, budgets, schedules)
- All ads (creatives, text, CTAs)
Returns:
- Original and new campaign IDs
- New campaign status
- Ads Manager URL for the new campaign
- Next steps for review and activation
When to use this tool:
- “Duplicate my campaign”
- “Copy campaign [ID]”
- “Create a copy of this campaign”
- “I want to A/B test with a copy of my campaign”
- “Clone my campaign with different targeting”
Parameters:
- campaign_id: The Meta Campaign ID to duplicate (required)
- new_name: Name for the new campaign (optional, defaults to original + ” - Copy”)
- status: Status for new campaign — ‘PAUSED’ (default, recommended) or ‘ACTIVE’
Execution time: 10-30 seconds (depends on campaign size) Creates: New real campaign in Meta Ads
Common use cases:
- A/B Testing: Duplicate, then modify targeting or creative on the copy
- Seasonal variants: Copy a proven campaign, update copy and dates
- New market expansion: Duplicate, change location targeting
- Budget testing: Copy, change budget levels
Workflow:
- Use
list_meta_campaignsto find the campaign ID - Use
duplicate_meta_campaignto create the copy - Use
update_meta_campaignorupdate_meta_ad_setto modify the copy - Use
resume_meta_campaignwhen ready to launch
Authorizations
API key from https://adspirer.ai/keys. Prefix sk_live_. Treat as a secret — never commit.
Headers
Client-generated UUID to make writes idempotent. Strongly recommended for write tools. A repeat call with the same key returns the cached result instead of re-executing. Example: 550e8400-e29b-41d4-a716-446655440000
Body
All tool arguments are wrapped in an arguments object. The fields accepted inside arguments are listed below — required fields are marked with a red asterisk.
Input schema for duplicating a Meta campaign
Response
Tool executed successfully. data.text carries the human-readable result (markdown-friendly). data.quota shows your current usage against the plan limit. data.structured appears when the tool emits machine-parseable structured content. data.content appears for tools that return non-text blocks (images, resources).
Returned on HTTP 200. data.text is the primary human-readable output. data.quota is always present for billable calls. data.structured is set only when the tool emits machine-parseable structured content. data.content is set only when the tool emits non-text content blocks.

