Two honest paths
There are two good ways to put a lot of Meta ads up at once.
- Meta's native bulk import. Fill in Meta's Excel template and import it into Ads Manager. It is built in and it gives you full control of every row.
- A launcher. Drop in the creatives, write the copy once, pick the accounts, review. Better when the sheet gets big, when you run several accounts, or when rejected creatives keep slipping back in.
Start with path 1. Most teams should learn it first, because it shows you how Meta thinks about campaigns, ad sets and ads.
Path 1: Facebook ads bulk upload with Meta's template
Meta's bulk upload overview says advertisers "can bulk import ads to Meta Ads Manager desktop by uploading an Excel spreadsheet with campaign, ad set and ad information". It lists a file limit of about 2MB. It is made for people who run a large number of ads, or who would rather edit in Excel. The feature is only on desktop.
One note from Meta before you start: new business portfolios and ad accounts may not have every advertising feature yet. If you cannot find the import option, check Business Support Home.
Step 1: Get the Meta ads bulk upload template
Per Meta's template help page, go to Ads Manager and open the import and export menu at the top of the Ads, Ad sets or Campaigns tab. If you do not see it, select More. Click Download Excel template. You can also export an existing campaign and edit that file instead. An export of a campaign that already ran has more columns than the blank template.
Step 2: Fill in the rows
Each row is one ad, with its campaign and ad set details on the same row. Meta's column list groups the template like this:
- Campaign level: Campaign Name, Campaign Objective, Buying Type, Campaign Status, Campaign Spend Limit, Campaign ID, Tags.
- Ad set level: Ad Set Name, Ad Set Daily Budget or Lifetime Budget, Ad Set Time Start, Optimization Goal, Billing Event, Bid Amount, Countries, Age Min, Age Max, Gender, Custom Audiences, Excluded Custom Audiences, Locales and more.
- Ad level: Ad Name, Ad Status, Body, Title, Link, Link Description, Display Link, Image or Image Hash, Creative Type, URL Tags, Story ID.
The column names in the sheet do not fully match the field names you see in Ads Manager. Meta keeps a separate page for those differences. If you build a campaign by hand first and export it, you get a sheet with the right names already filled in.
Step 3: Open Import ads in bulk
Per Meta's import help page, go to Ads Manager. Below the Ads, Ad sets or Campaigns tabs, select More, then Import ads in bulk. You can paste text or upload the Excel file.
Step 4: Add the pictures and videos
Images and videos go up in the same step. For video, Meta's video import page says you can upload up to 10 videos of up to 10MB each, and each row names its file in a Video file name column, for example summercampaign.mp4. Go over either limit and you get an error.
Step 5: Fix the errors
After the upload, Meta shows a summary of what was imported, with warnings and any blocking errors. Click View errors in Excel to see what was wrong and how to fix it. Then import again.
Step 6: Review and publish
The import creates drafts. Open them in Ads Manager, check the page, the pixel, the link and the creative on a few ads, then publish.
Common failure points
Most failed imports come down to a handful of causes. Meta's template troubleshooting page and its unsupported features page cover the main ones.
- IDs left in the sheet. Make sure all the ad IDs are deleted when you reuse an exported file for new ads.
- A missing column. Do not delete any column from the original template, even an empty one.
- File format. If Excel will not import, Meta suggests saving the sheet as a Unicode .txt file and uploading that.
- Unsupported features. Reservation campaigns, carousel ads with customized placements, and ads with several languages plus placement customization import as drafts with errors that cannot be published.
- Partly supported features. A/B tests, offers, tagged Pages on branded content, and extra text options can be removed on the way through. Read the issue columns before you import.
- Odd characters. A field that starts with +, -, = or @ gets "< >" added in front of it when exported. Meta says this is not an error and you should not delete it.
- Video limits. More than 10 videos, or a video over 10MB, in one import throws an error.
If you are still stuck, Meta's advice is to create one ad by hand, publish it, export it, and use that sheet as the pattern.
Bulk edit vs bulk upload
People search for the Meta ads bulk editor when they mean two different jobs. Bulk editing changes ads that already exist. On Meta's edit multiple ads page, you tick several campaigns, ad sets or ads and click Edit. A panel opens where you change budget, optimization and creative for all of them at once. Bulk upload creates new ads. For a quick change across running campaigns, use the editor. For a new batch of ads, use the import or a launcher.
When the sheet breaks
The spreadsheet path is solid for one account and a few dozen rows. It gets hard in four places.
- Many creatives. Every creative in every ad set is its own row. Four creatives in three ad sets is twelve rows that differ only in the file name.
- Many accounts. An import goes into the account you are in. Five accounts means five imports, and five rounds of error fixing. Our page on launching ads to multiple ad accounts covers that problem in depth.
- Naming. Names are typed by hand, so they drift. A month later, the same launch reads three different ways.
- Rejected creatives. A picture Meta already turned down can sit in the next sheet and go back into review.
Path 2: bulk launch with Amino Engine Ads
Amino Engine Ads is software that launches Meta campaigns, ad sets and ads into one or many ad accounts from one set of creatives. There is no sheet. The launcher has five steps: Creative, Copy, Template, Accounts, Review.
- Creative. Drop in PNG, JPG, GIF or WebP pictures and MP4 or WebM videos. Large pictures are shrunk for you before upload. Videos are not shrunk, so send them at the size you want. The same picture counts as one creative even if renamed, and anything Meta already turned down is greyed out and cannot be used again.
- Copy. One primary text, one headline, one link and one button for the whole run.
- Template. Pick a campaign template, set the daily budget and choose who it is for: cold, warm or hot. The template is one sales campaign with the budget on the campaign, three audiences, and every creative in every audience.
- Accounts. Pick up to 5 ad accounts. For each, choose the page the ads post as and the pixel that measures sales. An account missing a working card or a page is greyed out with the reason beside it.
- Review. See exactly what will be built, as one line: campaigns, ad sets, ads and accounts, then the daily budget per account and in total. Confirm, and everything lands paused.
The maths is simple. One campaign per account, one ad set per audience, every creative in each ad set. Four creatives on a three-audience template make 12 ads per account. Campaigns are named for you, the same way every time.
What it does not do: no per-ad copy, no spreadsheet import, no video shrinking, and no automatic switch-on. If you need a different headline on each ad, Meta's template is the better tool.
The two paths side by side
Meta facts come from Meta's help pages, read on 1 October 2026. Amino Engine facts describe the launcher as it works today.
| Meta bulk import | Amino Engine Ads | |
|---|---|---|
| Where you work | A spreadsheet, then Ads Manager on desktop | A five-step form in the browser |
| Creatives | Uploaded in the import step; video import up to 10 videos, 10MB each | PNG, JPG, GIF, WebP, MP4 and WebM; large pictures shrunk for you |
| Copy | Any copy per row, so every ad can differ | One primary text, headline, link and button for the run |
| Ad accounts | One account per import | Up to 5 accounts in one run |
| Structure | Whatever the rows describe | A saved template: one sales campaign, three audiences, every creative in each |
| Naming | You type every name | Campaigns named for you, consistently |
| Rejected creatives | Nothing stops you reusing one | Greyed out, cannot be used again |
| What you get | Drafts you publish | Everything created paused |
| Who can use it | Any Ads Manager desktop user | Open by request today |
Pick Meta's import when every ad needs its own copy, when you need a campaign shape the template does not cover, or when you run one account. Pick a launcher when the same creatives go into several accounts and you want one review and the same names everywhere.
Comparing tools? See our list of Meta ads launchers. Working from Claude? Read about the Meta ads MCP server. For the whole product, start at Amino Engine Ads.