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

See cc-121 validation errors.

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_create

  • Native 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