Bulk upload Facebook ads
Bulk upload Facebook ads: from a folder to paused ads in Ads Manager
Connect Facebook once, drop a folder, pick the campaign and ad set. Adlio creates one ad per file in your own Meta ad account: named by your pattern, UTMs applied, Advantage+ enhancements opted out on every creative, every ad paused until you set it live. Your first 15 ads are free, with no card and no trial clock.
What "bulk upload" means here
Files become ads
Images become image ads, videos become video ads (resumable upload up to 4 GB per file), grouped images become carousels. One folder, one batch.
Settings live on the ad account
Page and Instagram identity, pixel, default copy, destination and UTM template, naming pattern, enhancement toggles, EU DSA fields. Set once, applied to every ad, never shared between accounts.
You review, then you launch
Every ad is created paused. Open the batch in Ads Manager, check a sample, set it live in one action. Adlio cannot create an active ad.
How it works
- 1
Connect Facebook
One click through Facebook's own login, reviewed by Meta (App Review, Advanced Access). Adlio only touches the ad accounts and Pages you choose; your token is stored encrypted.
- 2
Set the account defaults
Identity, pixel, copy, URL and UTMs, naming, enhancement policy, DSA. Ten minutes, once per ad account. Smart defaults pre-fill what Meta already knows.
- 3
Drop the folder and launch
Pick an existing campaign and ad set, or create a new campaign or ad set inline. Watch per-file status as the batch uploads, then review the paused ads in Ads Manager.
The guarantees, on every ad
Paused, always
There is no setting that lets a bulk batch go live on creation. Launch day becomes a review, not a gamble.
Advantage+ enhancements off, per creative
Every creative carries an explicit opt-out for all 69 enhancement keys the live Marketing API accepts, plus the separate music opt-out. Verified against a real account for images, videos and carousels; a key Meta rejects is never sent.
Names from a pattern, not typed
Tokens for file name, index, date, campaign, ad set and type. No "Copy of", no typos in your breakdowns.
UTMs from a template
Stored per ad account, applied as Meta URL parameters, with Meta's dynamic values left intact and your values URL-encoded.
Strict per-account isolation
Client A's pixel, copy or DSA entity can never appear on client B's ad. Switching accounts switches every default.
EU DSA filled in
Beneficiary and payer stored per account and written on every new ad set, so nothing is silently blocked in the EU.
Three ways to bulk upload, side by side
The honest comparison, with the free options included. The full walkthrough of each method is in the guide.
| Method | Best for | Time | Where it breaks |
|---|---|---|---|
| Duplicate and swap in Ads Manager | Under 10 ads, one-off | About 2 to 3 minutes per ad, plus corrections | Naming drift, enhancements back on, wrong account |
| Meta's spreadsheet import | Structural changes across many ad sets | 65 to 125 minutes for 100 ads, incl. fixing rows | Media must pre-exist, row errors, limited creative fields |
| Adlio (folder drop) | Recurring creative batches into existing campaigns | 10 to 20 minutes for 100 image ads incl. review | Only as good as your saved settings |
Times are worked estimates, with every assumption shown in the 100-ads article. Time five ads yourself and replace them. Read the arithmetic.
The three methods in detail
What each one looks like step by step, and what goes wrong in practice.
Method 1: duplicate and swap in Ads Manager
The way everyone starts. Fine for five ads, a bad job for fifty.
- 1Open the ad set, select an existing ad, click Duplicate.
- 2In the copy, replace the image or video, adjust the name, check the URL.
- 3Publish. Repeat.
Where it breaks
- Naming drift. The duplicate is called "Copy of ...". You rename it, with a typo, and your reporting breakdown is split for a month.
- Enhancements come back on. A duplicate is a new creative, and new creatives get Meta's defaults.
- Wrong account or wrong ad set. When you manage several accounts, the tab you are in at 22:00 is not always the one you think.
Method 2: Meta's spreadsheet import
Export and Import in Ads Manager. It earns its keep on structural changes across many ad sets.
- 1Export an existing campaign as a template so the column headers are right.
- 2Add one row per ad: campaign, ad set, ad name, creative fields, destination URL and the media reference.
- 3Upload the media first. Images are referenced by the name or hash of a file that already exists in the library; a video needs its video ID, so it must be uploaded and processed before the import.
- 4Import. Rejected rows come back individually with an error; fix them and re-import.
Where it breaks
- Media pre-upload. The spreadsheet carries no files, so a creative-heavy batch gets uploaded twice.
- Row-level errors. A wrong column, a stray character in a URL, a missing Page ID: each one is a rejected row, and the error text is not always specific.
- Creative controls. Not every creative setting is a column, so the enhancement problem from method 1 can return here too.
Method 3: a folder-drop uploader
A tool that reaches your ad account through Meta's Marketing API and turns files into ads. This is what Adlio does.
- 1Connect Facebook once. Adlio asks for the ad-management permissions it needs and stores the token encrypted.
- 2Set the account defaults once: Page and Instagram account, pixel, default copy, destination URL and UTM template, naming pattern, and the Advantage+ toggles per creative type (all off by default).
- 3Drop the folder. Images become image ads, videos become video ads, and image groups become carousels. Pick the campaign and ad set, or create a new campaign or ad set inline.
- 4Launch. Every ad is created paused, named by your pattern, with your UTMs on the URL and the enhancement opt-out written into the creative.
Where it breaks
- It is only as good as your saved settings: wrong default copy on the account means wrong copy on the batch.
- It does not decide what to test. That part is still yours.
Fewer than ten ads, once: duplicate by hand. Structural changes across many ad sets: the spreadsheet import, which is built for exactly that. Recurring creative batches into campaigns that already exist: an uploader. Whichever you pick, run the pre-launch QA checklist before anything goes live, because the cost of a wrong URL on fifty ads is the same whichever method created them.
What Adlio does not do (yet)
- No placement-asset grouping from file-name tags (one file is one ad; carousels from image groups).
- No duplication of existing ads by Post ID.
- No native Google Drive import: use a synced folder.
- Meta only. No TikTok, Google or Snapchat.
If one of these is central to your workflow, the tools comparison names who does it. See the comparison.
Guides for bulk launching
Everything in this cluster, from the method comparison to the specs that never get rejected.
- How-to · 4 minHow long does it take to launch 100 ads in Meta Ads Manager? Three methods, with the arithmetic
- How-to · 5 minMeta Ads Manager bulk import: how the spreadsheet (Export and Import) works
- How-to · 4 minHow to bulk upload video ads to Meta (and the limits that stop you)
- How-to · 4 minHow to bulk upload carousel ads to Meta: cards, order, specs and the two carousel-only enhancements
- How-to · 3 minFacebook ad image specs for bulk launches: formats, sizes, ratios and the export settings that never get rejected
- How-to · 4 minAspect ratios for Meta ads (1:1, 4:5, 9:16) and how to handle them in a bulk launch
- How-to · 3 minGoogle Drive or Dropbox to Meta ads: three ways to launch creatives that live in the cloud
- How-to · 4 minHow to duplicate Facebook ads faster, and what duplication silently changes
- How-to · 3 minWhy launching ads in Meta Ads Manager takes an evening once you pass ten ads
Before you set the batch live
Three guides that every bulk launch depends on, whichever method you use.
Bulk upload questions
Does bulk uploading through Adlio change my campaign structure?+
No. Adlio launches into the campaigns and ad sets you already have (or creates one new campaign or ad set at a time, inline and paused). Nothing is migrated and nothing is restructured; you can stop using it tomorrow and everything stays where it is.
How many ads can I launch in one batch?+
There is no batch cap in Adlio; the practical limit is Meta's own rate limits on the ad account, which the uploader respects by queueing. On the free tier the total is 15 ads; Solo and Team are unlimited uploads.
Which file types are supported?+
JPG and PNG for images (oversized files are shrunk in the browser before upload), MP4 and MOV for video up to 4 GB per file with resumable upload, and image groups for carousels of 2 to 10 cards.
Can I turn Advantage+ enhancements back on for one account?+
Yes. The toggles are per ad account and per creative type (images, videos, carousels). Default is everything off; switch on any single enhancement you want for that account and Adlio sends the matching opt-in on every creative.
What does it cost after the free 15 ads?+
Solo, for one person, is USD 49 per month or USD 490 per year in the US, EUR 39 / 390 in the eurozone and GBP 39 / 390 in the UK. Team, for agencies and in-house teams, is USD 349, EUR 299 or GBP 279 per month with three people included, plus USD 59, EUR 49 or GBP 45 per extra person. Real local prices, not conversions, excluding VAT. Both plans have unlimited uploads and ad accounts and a 14-day money-back guarantee.
Can I upload multiple Facebook ads at once without a spreadsheet?+
Yes, that is the whole point. Meta's own import needs a filled spreadsheet and pre-uploaded media; Adlio takes the files themselves. Drop the folder, pick the ad set, and every file becomes one paused ad with the account's copy, naming, UTMs and enhancement settings. No hashes to look up, no rows to fix.
Does Meta Ads Manager support bulk uploading ads natively?+
Partly. Ads Manager can import a spreadsheet (Export and Import) that creates campaigns, ad sets and ads in one go, and its media library lets you upload several files at once. What it does not do is turn a folder of creatives into finished ads: you still map every file to a row, and the media has to exist in the account before the import runs.
How many ads can I create at once with the spreadsheet import?+
Enough for most batches; the practical limit is not the row count but the error handling. One wrong cell fails that row, and each failed row has to be corrected and re-imported. Budget the time for that, not for the upload itself.
Is it safe to let a tool create ads in my account?+
It is as safe as the tool's defaults. Look for three things: it creates ads paused (nothing can spend by accident), it only asks for the Meta permissions it needs, and it went through Meta's App Review. Adlio does all three and stores your token encrypted; see the security page for the details.
Launch your next batch paused, from a folder
Connect Facebook, set the defaults once, drop the folder. Fifteen ads free, no card, no clock.