Duplicate Campaign
duplicate_campaignDuplicate (copy) an existing campaign into a NEW DRAFT campaign.
KEYWORDS: duplicate, copy, clone, replicate, reuse, campaign, draft, copy of
WHAT IT DOES:
Creates a brand-new campaign that is a DEEP COPY of an existing one. The new
campaign is created in DRAFT status and spends no budget. This mirrors the
platform UI's "Duplicate campaign" action.
WHAT GETS COPIED (server-side, automatic — there are NO toggles to choose):
- Goal (Lead Gen / Brand Awareness)
- Optimization (budget) group / tag
- All landing pages
- Every channel that is currently ENABLED FOR THE ACCOUNT, together with that
channel's audiences, ads/creatives, keywords, offers and bid settings.
(Channels that are disabled for the account are skipped — connect/enable the
channel on the account first if you need it carried over.)
WHAT IS NOT COPIED / CHANGES:
- The new campaign starts in DRAFT (the original's live/active state is NOT copied).
- Start/end dates are not carried as a live schedule — set them on the new draft.
- Only the new name is caller-controlled.
REQUIRED PARAMETERS:
- campaign_id (integer): The wizard/campaign ID of the campaign to duplicate.
Must be in status Launched, Launching, Editing, or Draft.
OPTIONAL PARAMETERS:
- name (string): The name for the NEW campaign. Must be non-blank, <= 255 chars,
and UNIQUE across the account's campaigns. If omitted, a unique name is
auto-generated as "<original name>_copy_<UTC timestamp>" (e.g.
"Q1_2026_Campaign_copy_20260115120000"). If you pass a name that
already exists on the account, the platform rejects it — choose a unique name
or omit it to auto-generate one.
CAMPAIGN ID SOURCES:
- search_campaigns_by_names tool (recommended)
- list_wizard_campaigns tool
- get_campaign_by_wizard_id tool
WORKFLOW:
1. Find the source campaign ID (search_campaigns_by_names / list_wizard_campaigns).
2. duplicate_campaign(campaign_id=..., name="..." # name optional).
3. The response contains the NEW campaign's id and full configuration.
4. Review the new DRAFT campaign and MODIFY it with the edit tools below (it is a
normal editable draft — change anything you want).
AFTER DUPLICATING — HOW TO MODIFY THE NEW DRAFT:
The copy is a regular DRAFT campaign, so use the standard campaign-editing tools on
the NEW campaign id (NOT the original). The main ones:
- add_and_edit_campaign_elements — the primary editor: rename, change budget group,
start/end dates, enable channels, replace per-channel offers, and ADD audiences,
exclusion audiences, ads, ad groups, and keywords. (Native / N×N×N campaigns:
use add_and_edit_native_campaign_elements.)
- update_experiments_daily_budgets — adjust per-experiment daily budgets.
- update_reddit_channel_settings — Reddit-specific channel/bid/pixel settings.
- remove_channels_from_campaign / remove_audiences_from_campaign /
remove_ad_from_campaign / remove_keywords_from_campaign /
remove_offers_from_campaign / remove_target_groups_from_campaign
— remove elements from the copy.
- manage_campaign — pause/restart (lifecycle).
Tip: call get_campaign_by_wizard_id on the new id first to see what was copied,
then edit. Use search_campaigns_by_names to re-locate the copy by its new name.
EXAMPLE:
User: "Make a copy of campaign 54050 called 'Q2 Relaunch'"
Call: duplicate_campaign(campaign_id=54050, name="Q2 Relaunch")
Then: add_and_edit_campaign_elements(campaign_id=<new id>, ...) to tweak the copy.
RESPONSE FORMAT:
Returns the full configuration of the newly created DRAFT campaign — including its
new campaign id, name, status (Draft), goal, optimization group, and copied channels.
Use the returned id with get_campaign_by_wizard_id and the edit tools.
Anchor any date-derived naming to the REAL current date — call get_current_date if unsure.Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Name for the new (copied) campaign. Must be unique on the account and <= 255 chars. Omit to auto-generate '<original name>_copy_<timestamp>'. | |
| campaign_id | Yes | The wizard/campaign ID of the campaign to duplicate. Must be in status Launched, Launching, Editing, or Draft. |