---
title: "Bulk add digital products and files"
description: "Link many files to many products at once with a CSV import."
url: https://help.filemonk.io/bulk-add-products-and-files/
section: "Digital products"
last_updated: 2026-09-11
---

# Bulk add digital products and files

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

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](https://help.filemonk.io/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

| 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](https://help.filemonk.io/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](https://help.filemonk.io/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](https://help.filemonk.io/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](https://help.filemonk.io/upload-files/), which has to happen first.
- [Create a digital product](https://help.filemonk.io/create-a-digital-product/), the one-at-a-time equivalent.
- [Switch from another app to Filemonk](https://help.filemonk.io/switch-from-another-app/), where this usually fits.
