Bulk add digital products and files
Link many files to many products at once with a CSV import.
Last updated
A CSV import links files to many Shopify products at once. It’s the fastest way to set up a large catalogue, or to move your setup from another app.
You can use your own spreadsheet. There’s no need to rearrange columns to match a template: after you upload the CSV, you tell Filemonk which of your columns holds each piece of information. Filemonk checks the whole file before importing anything, shows you any problems, and emails you when the import is done.
Before you begin
Section titled “Before you begin”- Upload your files first. Every file your CSV refers to by name must already be in your Content library. For files hosted on Google Drive, Dropbox or elsewhere, have their links ready instead. See Upload files.
- Create your products in Shopify. The import links files to products and variants that already exist; it doesn’t create them.
- Collect SKUs or variant IDs. Each row links to a variant by its SKU or its Shopify variant ID.
- Only one import can run at a time for your store.
What your CSV can contain
Section titled “What your CSV can contain”Each row links one file to one product variant. Your columns can have any name and be in any order. Filemonk tries to match common header names, such as SKU, Filename or URL, for you.
| Field | Required | What to put in it |
|---|---|---|
| Variant SKU or ID (Required) | Yes | The SKU or Shopify variant ID of the variant to link the file to. Every row needs a value. |
| Filename | For uploaded files | The exact filename in your Content library, including the extension, for example ebook.pdf. Leave blank if the row uses an external URL. |
| External URL | For hosted files | A public link starting with http:// or https://, for example a Google Drive or Dropbox link. Use this instead of a filename. |
| Data Type | No | sku or variant_id, to say what the SKU or ID column contains. Blank counts as sku. |
| Link to All Variants | No | yes to link the file to every variant of the product, no or blank to link only the matched variant. |
| Custom Product | No | yes to mark the product as a custom product, where you upload files for each order. No filename or URL is needed on these rows. Leave blank otherwise. |
Each row needs either a Filename or an External URL, unless it’s a custom product row. To link several files to the same variant, add one row per file. To start from an example, download the sample CSV template from the import page.
Set it up
Section titled “Set it up”-
Click Filemonk in the left menu of your Shopify admin.
-
Click Digital products in the app’s menu, then click Import in bulk. You can also click Content library in the app’s menu, then click More and Import.
-
The Import digital products page opens with five numbered instructions at the top, including a link to the sample CSV template. Under Select or drop CSV here, click Add files, or drag your CSV onto that area. Only .csv files are accepted. The Preview & map screen opens once Filemonk has read the file. To use a different file, click Change file.

-
Map your columns:
- Check the columns Filemonk matched automatically.
- For any field that’s blank or wrong, open Select source column and choose the right column.
- For optional fields your CSV doesn’t have, tick Ignore column.
- Use the first 5 rows shown on screen to check the values line up.
-
Click Start import.
You must map Variant SKU or ID (Required) and at least one of Filename or External URL. Each field needs its own column: you can’t map two fields to the same column.
Review the summary
Section titled “Review the summary”Filemonk checks every row before importing. If everything is valid, the import starts straight away.
If Filemonk finds problems, it shows We found some errors in your CSV file with a Summary:
- Total rows, Valid rows, Invalid rows and Error rate.
- How many filenames in your CSV aren’t in your Content library, with examples.
- Whether a sample of your SKUs or variant IDs could be found in your Shopify catalogue.
Then choose one option:
- Download error report: downloads a CSV of your rows with an Errors column explaining what’s wrong with each one. Fix the rows in your spreadsheet and upload it again.
- Proceed anyway: imports only the valid rows. Invalid rows are skipped.
- Cancel: stops without importing anything.
If the error rate is high, contact us on live chat and we’ll help you fix the file.
Track the import
Section titled “Track the import”While the import runs, Filemonk shows an Import in progress banner. You can leave the page: the import carries on in the background.
The import appears under Recent imports with its status (Pending, In progress or Complete) and counts for pending, total, successful and failed rows. Click Refresh to update it. When it finishes, Filemonk emails you a status report CSV showing the result of each row. To get it again, click Get status report on that import.
Recent imports stay on the page for 30 days. Large imports can take a while, since each row is processed separately.
Check your setup
Section titled “Check your setup”- Click Digital products in the app’s menu.
- Open a few imported products and check the files on each variant card.
- Place a test order for one of them. See Create a test order.
To change a product’s files after the import, see Create a digital product.
Troubleshooting
Section titled “Troubleshooting”Please map all required fields before proceeding
Variant SKU or ID (Required) isn’t mapped. Choose a column for it in Select source column.
Told to map at least one of Filename or External URL
Both are ignored or unmapped. Map at least one of them, since rows can’t be linked without a file.
Two fields can't use the same column
The same CSV column is mapped to more than one field. Give each field its own column, or tick Ignore column on the extra one.
Link to all variants or Custom product values are not valid
That column has a value other than yes, no or blank. Change the values to yes, no or leave them blank, then upload again.
Filename is blank or must have a file extension
The row has no filename, or the name is missing its extension. Add the full filename, for example ebook.pdf, or use an External URL.
File not found on Filemonk
The file isn’t in your Content library, or the name doesn’t match exactly. Upload the file, or correct the name to match the library exactly. To get exact names, export your files from the content library. See Manage your files.
Filename matches more than one file
The name has no extension and more than one library file starts with it. Use the full filename, including the extension.
Product variant matching this SKU not found on Shopify
The SKU is wrong, or the variant doesn’t exist in Shopify. Check the SKU in your Shopify admin. If the column holds variant IDs, set Data Type to variant_id.
We could not reach Shopify to check your SKUs
Filemonk couldn’t check your SKUs or variant IDs against your Shopify catalogue this time, so they weren’t verified. The import isn’t blocked. Check the status report when it finishes for any rows that failed to match a variant.
External URL is not valid
The link doesn’t start with http:// or https://. Use the full link, including https://.
An import is already in progress for your store
Another import hasn’t finished yet. Wait for it to show Complete under Recent imports, then start the new one.
CSV file is malformed
The file isn’t a valid CSV. Export the sheet again as CSV from your spreadsheet app and upload it.
No completion email arrived
The email went to spam, or the import is still running. Check your spam folder and Recent imports, then click Get status report.
Do I have to use Filemonk's template?
No. Upload any CSV and map your columns on the Preview & map screen. The sample CSV template is only a starting point.
What happens to rows with errors if I click Proceed anyway?
They’re skipped and only valid rows are imported. Use Download error report to fix and re-import the skipped rows.
Can I update existing products with a new import?
Yes. Importing a file that’s already linked to a variant doesn’t create a duplicate. New files in the CSV are added to the variant.
My spreadsheet app saves CSVs with semicolons. Will that work?
Yes. Filemonk reads comma-separated and semicolon-separated CSV files, so there’s no need to convert the file.
Can I mix uploaded files and external URLs in one CSV?
Yes. Fill in Filename on some rows and External URL on others.
Can I link one file to every variant of a product?
Yes. Put yes in the column you mapped to Link to All Variants. Products with only one variant are always linked as a whole product.
Does importing email my customers?
No. The import links files to products. Sending links to past buyers is a separate action. See Import orders.
Can I import licence keys with this CSV?
No. This import links files and external URLs. See Add licence keys.
Related guides
Section titled “Related guides”- Upload files, which has to happen first.
- Create a digital product, the one-at-a-time equivalent.
- Add licence keys, which has its own CSV import.
- Switch from another app to Filemonk, where this usually fits.
Thanks for letting us know.
Still stuck? Ask Quinn or chat with support