Create an ad directly from Ads Manager
Last updated: May 19, 2026
Create an ad directly from Ads Manager
Right-click any ad set row → Add ad → inline creative + copy + CTA + URL config. Skips full Campaign Creator flow for fast variant addition. Backed by apps/backend/src/services/ads-manager-ad.service.ts (PR #1074). Validation runs pre-publish. Best for: adding creative variant to winning ad set, refreshing a fatigued ad without recreating the campaign.
Who is this for
Mediabuyers who want to add an ad to an existing campaign without going through the full Campaign Creator. Quick variant additions. Creative refresh on fatigued ads.
When to use vs Campaign Creator
Use this | Use Campaign Creator |
|---|---|
Add a variant to an existing ad set | Launch a new campaign |
Refresh a fatigued ad | Multi-adset / multi-ad initial setup |
Quick creative test (image B vs current image A) | Complex campaign with multi-platform |
Time-constrained workflow | When you need full Express / Pro flow |
For full campaign launch with multiple ad sets: stick with Campaign Creator.
How to add an ad
Step 1: Find the ad set in Ads Manager
Filter / navigate to the ad set where you want to add an ad.
Step 2: Right-click → Add ad
OR action menu (⋮) on the ad set row → Add ad.
A modal / side drawer opens with the ad config fields.
Step 3: Configure the ad
Fields (same as Campaign Creator creative step):
Creative: upload OR pick from Creative Hub OR generate with AI
Copy: primary text, headline, description
CTA: dropdown
Destination URL: landing page
UTM (auto-generated, customizable)
Live preview on the right shows how the ad will look per placement.
Step 4: Validate + Save
Click Save & Publish (paused by default OR active depending on your default).
Wevion validates the ad against the ad set's objective + special category. Errors surface inline.
Step 5: Ad appears in the ad set
After successful publish, the new ad appears in the ad set, status Paused (default).
Activate from Ads Manager when ready.
What's different from Campaign Creator
Aspect | Add ad (Ads Manager) | Campaign Creator |
|---|---|---|
Scope | One ad in existing ad set | Full campaign + adset + ad |
UI | Inline modal / drawer | Multi-step wizard or full editor |
Time | < 2 min | 5-10 min |
Audience config | Inherited from ad set | You set it |
Budget config | Inherited from ad set / campaign | You set it |
Objective | Inherited from campaign | You set it |
Use cases
Use case A: Add creative variant for A/B test
Existing ad set has 1 ad (Image A)
You want to test Image B as variant
Add ad → upload Image B → same copy + CTA
Both ads run; Meta's algorithm distributes based on engagement
Use case B: Refresh fatigued ad
Ad has been running 30 days, CTR dropped 40%
Add ad with fresh creative + copy
Pause old ad → new ad starts fresh
Avoids losing the ad set's history (vs duplicating + republishing)
Use case C: Add to winning ad set without disrupting
Ad set is winning, all ads great
Want to add 1 more ad to scale variation
Add ad → publish paused → activate when verified
Use case D: Quick fix after rejection
One ad in ad set got rejected by Meta
Don't want to rebuild
Add new ad with corrected creative + copy
Pause rejected; activate new
Endpoint
apps/backend/src/services/ads-manager-ad.service.ts handles the add-ad flow. Behind the scenes:
Creates an ad draft tied to the parent ad set
Validates against parent's objective + special category
On publish: sends to platform's create-ad API
Updates Ads Manager view
Limits
One ad at a time: this flow creates a single ad. For multiple at once: use Pro mode or Bulk Launch with explicit ads per ad set.
Same ad set: cannot move/clone across ad sets via this flow; use Duplicate (am-106).
Permission: mediabuyer+ role required.
Validation
Same validation as Campaign Creator:
Creative spec (aspect ratio, file size)
Copy character limits per platform
CTA compatibility with objective
Destination URL format
Pre-flight check before publish
What you'll see
After Add ad:
New ad appears in the ad set (expanded view)
Status Paused (default)
Toast: "Ad added — paused"
Audit log entry:
action: ad_createNative ad manager shows the new ad shortly (within 30-60 sec sync)
Common issues
"Add ad option not in menu": ad set may be in a state that blocks new ads (rejected campaign, archived). Verify status.
"Validation error: creative spec": aspect ratio mismatch. Re-crop or use Pro mode for multi-aspect.
"Save & Publish fails: insufficient permissions": role check fail. Mediabuyer+ needed.
"New ad not appearing": refresh ad set view; sometimes UI cache delays by 30 sec.
Best practices
Use for incremental additions
Don't use this flow to build a campaign from scratch. Use for one-off additions to existing structures.
Tag the variant clearly in name
If adding variant: name [Original Ad Name]-Variant-B so future you knows it was a variant.
Pause original when testing replacement
When adding a refresh ad: pause the old. Don't run both unless you're A/B testing.
Bulk additions: use Bulk Launch
If adding many ads at once across multiple ad sets: this flow is one-at-a-time. Use Bulk Launch with rows for each ad set + nested ads.
Related
Edit ad set budget — companion edit action
Ad copy — copy fields
Duplicate campaign — alternative for cloning