Home
Digital products

Bulk add digital products and files

Link many files to many products at once with a CSV import.
Last updated

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

  1. Click Filemonk in the left menu of your Shopify admin.
  2. Open the import page from either place it is offered:
    1. Digital products, then Import in bulk.
    2. Content library, then More and Import.
  3. Read the instructions, and download the sample CSV template if you want a starting point. Your own CSV works too, in any column order.
  4. Upload your CSV.
  5. 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.
  6. Review the error summary. Rows marked invalid are skipped.
  7. 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

FieldRequiredWhat it does
Variant SKU or IDYesThe Shopify variant this row links to. Every row needs one.
FilenameOne of these twoThe exact name of a file already in your content library, for example ebook.pdf.
External URLOne of these twoA publicly accessible link to a file you host, for example in Google Drive.
Data TypeNoWhether the first column holds a sku or a variant_id. Defaults to sku.
Link to All VariantsNoyes links the file to every variant of the product; no or blank links it to the matched variant only.
Custom ProductNoyes 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.