Meta Ads Manager bulk import: how the spreadsheet (Export and Import) really works

Meta ships a free bulk importer inside Ads Manager. It is genuinely useful for structure, and genuinely painful for creatives. Here is how it works, where it stops, and when a spreadsheet is the wrong tool.

Adlio team4 min read

What it is

Ads Manager can turn a spreadsheet into campaigns, ad sets and ads. Each row is an ad; the campaign and ad set columns on that row create or reference the parents. Export an existing campaign and you get a filled template with the exact columns Meta expects, which is the easiest way to learn the schema.

It is free, it is official, and for structural work (many ad sets, many audiences, many geos) it is often the fastest option. For creative work (many files into one ad set) it makes you do the slow part by hand and then also fill a spreadsheet. Knowing which of the two you are doing decides whether it is the right tool.

Step by step

  1. Get the template. In Ads Manager open Import and Export. Download a blank template for a new campaign, or export an existing campaign to modify it. Exporting is the better start: the columns match your account's objectives and settings.
  2. Upload the media first. The sheet cannot carry files. Images must already be in the account (uploaded through any ad or the media library); videos must be uploaded and processed so they have a video ID. Collect the identifiers, see the next section.
  3. Fill one row per ad. Campaign name and settings, ad set name and targeting, ad name, primary text, headline, description, destination URL, call to action, Page and Instagram identity, and the media reference.
  4. Import. Meta validates every row. Warnings let the import proceed; errors block the row and tell you why (an objective and optimisation that do not go together, a missing pixel, a file name that does not match a stored image).
  5. Fix and re-import the rejected rows. Budget real time for this step on a first import; the messages are specific but the fixes are manual.
  6. Review before going live. Set the status column to paused on new rows, then run the pre-launch QA checklist on a sample.

The three ways to reference media

ColumnWhat goes in itWhere you find it
Image HashThe 32-character hexadecimal hash Meta assigns to every uploaded imageExport an existing ad that uses the image, or the account's image library / API
Image File NameThe exact file name of an image already in the account, character for characterYour own upload; keep the names you uploaded with
Video IDThe numeric ID Meta assigns to a processed videoThe video library, the video's details, or the API

Two things bite here. File-name matching is exact, so Summer_4x5.jpg and summer_4x5.jpg are different files. And a video ID only exists after processing finishes, so a batch of fresh videos means upload, wait, collect IDs, then import.

The limits that matter

  • File size. About 2 MB per import at the time of writing. Several hundred simple ads fit; dynamic creative rows with variant columns fill it faster. Split by ad set if you hit it.
  • Row-level errors. One wrong cell rejects that row. On a 200-row import with a systematic mistake (say a wrong Page ID column) you fix and re-import 200 rows.
  • Not everything is a column. Some Advantage+ creative settings, catalogue and dynamic creative options and newer placement variants are not fully expressible in the schema. Ads created by import can therefore carry Meta's default enhancements, which are mostly on. If you rely on enhancements being off, verify it on an imported ad: see how to turn off Advantage+ creative enhancements.
  • Thumbnails and previews. You can set a thumbnail by URL for a video row but not pick a frame; there is no preview until the ad exists.

When the spreadsheet is the right tool

  • Rolling a new set of audiences across twenty ad sets.
  • Cloning a proven campaign structure into a new market with changed budgets and geos.
  • Bulk-editing names, URLs or budgets on existing ads (export, change, import).

When it is the wrong tool

  • A folder of new creatives into an existing ad set. You would upload every file, hunt for hashes and IDs, then type them into rows. The upload is the whole job, and the sheet adds a second pass to it.
  • Anything where enhancements must be off. You cannot guarantee it from the sheet.
  • Weekly batches. The error-fixing step does not get shorter with practice, because the errors come from the data, not from you.

For that job an uploader that goes file to ad is the shorter path: how to bulk upload Facebook ads: three methods compared puts the spreadsheet next to manual duplication and a folder-drop tool with time estimates for each. If you are not sure which of the two batches you are holding, Facebook bulk import vs a tool decides it in five questions.

How Adlio relates to this

Adlio does not use the spreadsheet importer; it talks to the Marketing API directly. You drop files, it uploads them (videos resumable up to 4 GB), waits for processing, creates each creative with your saved copy, URL, UTMs and enhancement opt-out, and creates every ad paused. There is no hash or video ID to collect and no row to fix. What it does not do is the structural work the spreadsheet is good at: it launches into campaigns and ad sets you already have (or one new ad set at a time), it does not restructure an account.

Free for your first 15 ads, no card. See how bulk upload works and pricing.

Frequently asked questions

Where is the bulk import in Ads Manager?+

In Ads Manager, look for Import and Export in the toolbar (the exact label and placement change with interface updates). From there you can download a blank template, export existing campaigns as a filled template, and import a completed file.

Can I upload images and videos through the spreadsheet?+

No. The sheet references media that already exists in the ad account: images by their 32-character hash or by an exact file name, videos by the numeric video ID Meta assigns after upload and processing. Upload the media first, then import the sheet.

How big can the import file be?+

Roughly 2 MB at the time of writing, which is typically several hundred ads. Dynamic creative rows hit the cap sooner because of the variant columns. Split large batches into several files.

Can I turn off Advantage+ creative enhancements in the sheet?+

Not reliably. Some Advantage+ settings and newer placement options are not fully expressible in the spreadsheet schema, so ads created by import can end up with Meta's default enhancements on. Check one imported ad in the interface before setting the batch live.

Adlio team

Built by media buyers who launch Meta ads in volume. Questions or corrections: support@adlio.ai.

Topic cluster

Bulk launching

Getting a folder of creatives into Meta Ads Manager as correctly configured ads, in one pass.