Bulk duplication
Last updated: May 19, 2026
Bulk duplication
Select multiple campaigns / ad sets / ads → toolbar Bulk Duplicate. Creates N drafts in parallel. Use cases: agency cloning across client accounts, geo-expansion. After duplicate: open Bulk Launch grid to customize each variant before publish, OR edit each in Pro mode individually.
Who is this for
Agencies executing wave launches across multiple client accounts. Brands geo-expanding (one campaign → 10 country variants). Anyone needing same campaign structure on N targets.
Workflow
Step 1: Filter to source campaigns
In Ads Manager, filter to the campaigns you want to duplicate as a wave (e.g. "winning Q3 campaigns ready for Q4 re-launch").
Step 2: Select multiple
Tick checkboxes on the source campaigns. Or use Select All if filtered to exactly the set you want.
Step 3: Bulk toolbar → Duplicate
Click Duplicate in the bulk action toolbar.
Step 4: Configure bulk options
Modal:
Target: Same accounts (1:1 clone) OR Choose target accounts (N→M cross-account clone)
Include children: full clone (campaign + adsets + ads) OR shell only
Naming: pattern with placeholders (e.g.
{original_name} - Q4 2026 v2)Customize per variant?: launch Bulk Launch grid for per-row editing (recommended for cross-account)
Click Duplicate all.
Step 5: Drafts created
Wevion creates N drafts (1 per source × per target). E.g. 5 source campaigns × 3 target accounts = 15 drafts.
Step 6: Customize via Bulk Launch grid
If you ticked "Customize per variant", drafts open in Bulk Launch grid for per-row editing.
Per row customize: budget (per client agreement), audience tweak, creative swap, DSA fields per target account.
Step 7: Publish wave
Standard Bulk Launch flow: Validate all → Publish all (Paused first recommended).
Common patterns
Pattern A: Quarterly client wave
10 active clients
10 source campaigns (one per client, winning Q3 campaigns)
Bulk duplicate within same account (Q4 re-launch with refreshed creative)
Customize per duplicate: new creative, new dates, possibly new budget
Pattern B: Geo-expansion
1 source campaign (US works, profitable)
Bulk duplicate to 5 target geos (UK, DE, IT, FR, ES)
Per-target customize: target_country, creative + copy localized, DSA fields, currency budget conversion
Pattern C: Agency cross-client
1 source campaign (winning template)
Bulk duplicate across 10 client accounts
Per-client customize: account_id, pixel_id, fan_page_id, client-specific DSA, client-agreed budget
Pattern D: Audience variant testing
1 source campaign
Bulk duplicate 4 times in same account
Per-duplicate customize: different audience (lookalike vs interest vs retargeting vs broad)
Run all 4 + compare performance
RBAC
Bulk Duplicate same RBAC as Duplicate: mediabuyer+. Cross-account requires access to target accounts.
Audit log
action: campaign_bulk_duplicate with metadata listing source + target IDs + wave context.
Per source: also action: campaign_duplicate per duplicate created.
Limits
Max selection: 100 sources per bulk operation
Max targets (cross-account): N sources × M targets = up to 100 drafts created at once
For larger waves: split into multiple operations
Performance
N drafts creation: fast (~1 sec per draft, parallel)
Per-draft customization in Bulk Launch grid: depends on team workflow
Wave publish: per-row async via SQS workers, status visible per row
What you'll see
After bulk duplicate:
Toast: "N drafts created — open in Bulk Launch to customize"
Bulk Launch grid loaded with N rows
Each row pre-filled with source's config
Per-row inline editing for customization
Bottom-bar status: "N rows, M errors, K warnings"
After Publish all wave:
Per-row status updates in real-time
Original campaigns unchanged
New campaigns visible in Ads Manager once published
Cross-cluster: relationship to Bulk Launch
Bulk Duplicate creates drafts; Bulk Launch grid is where you edit + publish them. Two-step relationship:
Bulk Duplicate (Ads Manager): N → N drafts
Bulk Launch (grid): edit + publish drafts
Without Bulk Launch grid: drafts are still saved + you can edit each in Pro mode individually. But Bulk Launch is faster for editing N at once.
Common issues
"Cannot duplicate to account I don't have access to": cross-account requires target account access. See team-108 share ad accounts.
"Some drafts created, others failed": per-target validation issue (e.g. one target account doesn't have a pixel). Fix individually + retry.
"Wave creates campaigns with wrong currency budget": each target account has its own currency. Budget interpreted in account's native currency. Adjust per-row.
"DSA fields missing for some duplicates": target accounts in EU need DSA per-row. Set per row in Bulk Launch grid before publish.
Best practices
Plan target accounts before duplicating
Before bulk duplicate, list the target accounts. Verify each has prerequisites (pixel, DSA legal entity, Page if Meta).
Use Campaign Templates for cleaner reuse
For repeatable patterns (monthly waves, holiday campaigns): save as Campaign Template instead of repeated bulk duplicate.
Test cross-account with 1 first
Before bulk duplicating 10x across 10 accounts: do one cross-account duplicate, verify it publishes correctly to the target account, then scale.
Related
Duplicate single campaign — one-at-a-time deep dive
Bulk Launch multi-account — Bulk Launch from scratch (vs duplicate-then-edit)
Bulk actions — pause/resume/etc.