Home · Intelligence Suite · Meta Ads Uploader

Twelve new ads.
One ad that already works.

Drop in your creatives, point at an ad that performs, and its objective, targeting and copy become the template for the whole batch. Before anything is created you get a preview of the exact set that would be built — produced by the same planner that runs the launch, so what you approve is literally what executes.

Open the Uploader → Read the guide
12 creatives uploadedCopied from: Spring Promo — Winning AdPreview
Dry run · no writes performed · schedule shown in the ad account's timezone (America/Phoenix)
Ad setAds to createAction
Homeowners 35–65 · Phoenix4 ads · burst-pipe-01…04.jpgjoin
Homeowners 35–65 · Mesa4 ads · burst-pipe-05…08.jpgcreate
Homeowners 35–65 · Tempe4 ads · burst-pipe-09…12.mp4create
12 ads across 3 ad sets. One ad set already exists and will be joined rather than duplicated.All PAUSED

Why it's built this way

A bulk creator is where money gets spent by accident

Every decision here is about the gap between what an operator thinks they configured and what actually goes live.

Paused by Default

Unlike the tool this replaces. Every other live-account write in the product is confirm-gated, and a bulk creator that goes live by default is the one place a misconfiguration spends real money before anyone reads the preview.

🔬

The Preview Is the Launch

The dry run is a server round trip, not a local guess, and the same planner builds both. A preview computed by different code than the launch is one that eventually lies. It performs no writes at all.

🔗

Join Ad Sets That Exist

Point the batch at ad sets already in the account instead of duplicating them — so a new creative round lands in the audience that's already learned, rather than restarting it.

✍️

Template Text Is a Prefill

The source ad's copy loads into the fields once; after that the fields are the truth. Clearing a headline clears it on the launched ads, because silent inheritance ships copy somebody deliberately deleted.

🕐

The Ad Account's Clock

The schedule card prints the ad account's timezone, not your browser's. Meta reads a naive start time in the account's zone, so scheduling midnight from London for a Los Angeles account is eight hours out unless you can see which clock applies.

📦

Two Phases, Deliberately

Media uploads first and the launch references it afterwards. A slow upload never holds the configuration form hostage, and a failed launch never means re-uploading eleven files.

Seven steps, one page

1

Ad account

Read-only. It is one-to-one with the workspace, resolved from your Meta connection, so there is no picker to get wrong.

2

Media

Drag and drop, or paste an https:// link for anything past the inline cap. Uploads go to the ad account's own library — not to our storage.

3

Copy settings from an existing ad

A three-column campaign → ad set → ad picker. The chosen ad's objective, targeting and copy become the template for the batch.

4

Campaign & ad set options

Where the ads land, and how they divide — including joining ad sets that already exist rather than creating parallel ones.

5

Preview

The dry run, rendered as the table it returns: every ad set, every ad, and whether each is being created or joined.

6

Ad text, enhancements, publication

Headlines and primary text, Meta's creative enhancements, and where the ads publish. An asset-feed probe reports what the account will accept before you commit.

7

Create

Returns a job id, and the right rail polls it live — backing off as it goes and stopping dead on a terminal status.

The jobs this replaces

"Ship this month's creative round"
Twelve new images across three geo ad sets, all inheriting the targeting that already converts, in one pass instead of thirty-six form fills.
"Test six hooks on one audience"
Same ad set, six creatives, six headline variants — created paused so you can read them all before any of them spend.
"Roll the winner into four more cities"
Copy the settings off the winning ad and let the uploader build the parallel set, rather than duplicating by hand and drifting one field at a time.
"Add creatives to a learning ad set"
Join the existing ad set instead of creating a new one, so the audience keeps what it has already learned.
"Check it before it spends"
The preview names every ad set and every ad. Nothing is created until you say so, and nothing is live until you unpause it.
"Do it for eleven clients"
The page's whole state belongs to one ad account and resets on a workspace switch, so an agency can run the same routine down its client list without cross-contamination.

Launch the batch, not the afternoon

Copy what works, preview exactly what would be built, and create it all paused — in one page.

Open the Uploader → All Intelligence tools