Bulk add digital products and files
Linking products one at a time is fine for ten products and painful for two hundred. A CSV import links files to variants in bulk, matching on SKU or variant ID. It is the fastest way to set up a large catalogue or migrate one from another app.
Before you begin
- Upload your files first, so the import has something to match by filename. Files hosted elsewhere need their URLs ready instead. See Upload files.
- Every row needs a SKU or variant ID. That is what ties a file to a product.
- Invalid rows are skipped rather than blocking the import, so check the error summary before proceeding.
Set it up
- Click Filemonk in the left menu of your Shopify admin.
- Open the import page from either place it is offered:
- Digital products, then Import in bulk.
- Content library, then More and Import.
- Read the instructions, and download the sample CSV template if you want a starting point. Your own CSV works too, in any column order.
- Upload your CSV.
- On Preview & map, map each of your columns to the fields Filemonk needs. It shows the first 5 rows so you can check the mapping looks right, and you can ignore columns you do not want.
- Review the error summary. Rows marked invalid are skipped.
- Click Start import.
Filemonk emails you a status report when it finishes. Recent imports on the same screen shows progress and a per-import breakdown of pending, total, success, and failed.
The CSV fields
| Field | Required | What it does |
|---|---|---|
| Variant SKU or ID | Yes | The Shopify variant this row links to. Every row needs one. |
| Filename | One of these two | The exact name of a file already in your content library, for example ebook.pdf. |
| External URL | One of these two | A publicly accessible link to a file you host, for example in Google Drive. |
| Data Type | No | Whether the first column holds a sku or a variant_id. Defaults to sku. |
| Link to All Variants | No | yes links the file to every variant of the product; no or blank links it to the matched variant only. |
| Custom Product | No | yes marks it as a custom product, prepared per order. |
You must map either Filename or External URL. Without one, a row has no file to link.
Check your setup
When the import finishes, open a few of the products in Digital products and confirm the right files are attached. Then place a test order for one of them. See Create a test order.
Troubleshooting
We found some errors in your CSV file
The summary lists what is wrong per row. The usual causes are a SKU that does not exist in Shopify, a filename that does not match anything in your library, or a row with neither a filename nor a URL. Fix them and re-upload, or proceed and let the invalid rows be skipped.
Rows were skipped and I don't know which
The status report email covers what succeeded and what failed. Recent imports shows the same counts in the app.
Filenames don't match
The name must match the file in your content library exactly, including its extension. Export your files to CSV from the content library to get the exact names. See Manage your files.
Multiple template fields cannot be mapped to the same column
Two Filemonk fields are pointed at one CSV column. Each field maps to one column only, so fix the duplicate before proceeding.
Files linked to the wrong variants
Usually the Data Type column: your first column holds variant IDs while the import assumed SKUs, or the reverse. Set it explicitly to sku or variant_id and import again.
FAQ
Does it create Shopify products?
No. It links files to products that already exist. Create the products in Shopify first.
Can I re-run an import to update links?
Yes. Importing again links what the new file describes. Check the results afterwards rather than assuming old links were cleaned up.
Can I mix uploaded and external files in one CSV?
Yes. Use the Filename column for uploaded files and the External URL column for hosted ones, row by row.
Does importing email customers?
No. This links files to products. Sending links to past buyers is a separate action. See Import orders.
How long does it take?
Processing happens in the background, with progress shown in Recent imports and a report emailed when it is done.
Related guides
- Upload files, which has to happen first.
- Create a digital product, the one-at-a-time equivalent.
- Switch from another app to Filemonk, where this usually fits.

