Frequently asked questions
Everything you need to know about matching and bulk-uploading product images to Shopify. Can’t find your answer? Email us or use the live chat inside the app.
Getting started
What is Smart Bulk Image Upload?
Smart Bulk Image Upload is a Shopify app that bulk-uploads product images from a Google Drive or Dropbox folder and attaches each image to the right product and variant automatically.
Instead of dragging images into products one by one, you name your files after an identifier your catalog already has (a SKU, a barcode, a product title, a metafield value or a variant ID), pick the folder, and the app does the rest. It also writes SEO alt text on every image.
How does the app know which image belongs to which product?
The app reads each image's file name and compares it with an identifier on your variants: SKU, barcode, product title, metafield value or variant ID, whichever you choose. Matching is case-insensitive.
So AB-1234.jpg lands on the variant whose SKU is AB-1234. The standard matching types are rule-based, so results are predictable and repeatable. If your file names are inconsistent, the optional AI matching (beta) reads them the way a person would, and you still review every match before anything is uploaded.
How do I get started?
- Install the app from the Shopify App Store.
- In Settings → Image source, choose Google Drive or Dropbox, then connect your account on the Create upload page.
- Pick the folder that holds your images, choose a matching type, and press Start matching.
- Review the preview (nothing has been written to your store yet), then press Start upload.
A first run on a small test folder takes a few minutes. We recommend starting with 10–20 images.
Is there a demo I can watch first?
Yes. There is a full walkthrough on YouTube, and the same video is on the Support page inside the app.
Do I have to move my images anywhere?
No. Your images stay in your own Google Drive or Dropbox. The app reads the folder you select, downloads each matched image and uploads it to Shopify. Nothing in your Drive or Dropbox is renamed, moved or deleted.
Does it work with Google Drive and Dropbox?
Yes, both. You pick one source per store in Settings and can switch at any time. Two differences are worth knowing:
- Google Drive: only files Drive reports as images are listed, so stray documents or ZIP files are ignored. The preview shows thumbnails and megapixel values.
- Dropbox: every file in the folder is listed, so keep the folder clean. Dropbox provides no thumbnails or megapixel data.
By default only the selected folder is read. Sub-folder scanning can be switched on for your store on request.
Naming your files
How should I name my image files?
Name each file after the identifier, optionally followed by an underscore and a number for the image order: <identifier>_<order>.<extension>.
| File name | Matches | Position |
|---|---|---|
AB-1234.jpg |
ab-1234 | 1st |
AB-1234_1.jpg |
ab-1234 | 2nd |
AB-1234_2.png |
ab-1234 | 3rd |
7891234567890.jpg |
7891234567890 | 1st |
If the part after the last underscore is a number, it is the image's position; otherwise it stays part of the identifier. Upper and lower case don't matter. See the naming guide for every rule.
What are the most common naming mistakes?
The most common mistakes are trailing spaces, missing extensions and non-numeric suffixes:
- Trailing spaces:
AB-1234 .jpgwon't match, because the space becomes part of the identifier. - No file extension: a file without an extension can never match.
- Non-numeric suffixes:
AB-1234_a.jpglooks for the identifierab-1234_a, notab-1234. - Mixed conventions: some files using
_1and others using-1in the same folder. - Duplicate file names inside the same folder.
All of these show up in the preview's "Non matched" list before anything is uploaded, so a mistake costs you a rename, not a clean-up.
Can I upload several images for the same product?
Yes. Add a numeric suffix and the app keeps the images in that order: AB-1234_0.jpg → 1st, AB-1234_1.jpg → 2nd, AB-1234_2.jpg → 3rd.
Only the relative order matters, so _1, _3, _7 gives the same result as _1, _2, _3. A file without a suffix counts as the first position, so don't use both AB-1234.jpg and AB-1234_0.jpg for the same product.
My file names don't match my SKUs. What can I do?
You have four good options:
- Match on something else: barcode, product title or variant ID may line up better than SKU.
- Use a metafield: put your image code (often an ERP or supplier code) in a product or variant metafield and match on that.
- Use a "contains" option: if file names carry the SKU plus extra text, like
nikon-d750-AB1234-front.jpg, choose "Match if image contains SKU". - Use AI matching (beta): for names with different separators, extra words or colour names.
We can also apply clean-up rules to your store's identifiers before matching, for example ignoring everything after the first dash in a SKU.
Matching options
Which identifiers can I match on?
You can match on SKU, barcode, product title, a metafield or the variant ID:
- SKU: the default and the safest choice.
- Barcode (EAN/UPC/GTIN): very reliable, since barcodes are usually unique and stable.
- Product title: for catalogs without SKUs or barcodes.
- Metafield: any product or variant metafield you nominate.
- Variant ID: the numeric ID from Shopify. Completely unambiguous, ideal for corrections.
What is the difference between "exact", "image contains" and "contains image name"?
They control how strictly the file name must equal the identifier:
| Option | Matches when | Use it when |
|---|---|---|
| Exact | The file name equals the identifier | Files are named exactly after the SKU or barcode |
| Image contains identifier | The identifier appears inside the file name | File names carry extra text: photo-AB1234-front.jpg |
| Identifier contains image name | The file name appears inside the identifier | One photo covers several variants: AB1234.jpg → AB1234-S, AB1234-M, AB1234-L |
With "image contains identifier" the longest match wins, so a short SKU can't steal an image from a longer one. With "identifier contains image name" all matches win, so check the preview count before uploading.
What is AI matching?
AI matching (beta) is an optional matching type that reads each file name the way a person would, so different separators, extra words, colour names or image numbers don't stop a match.
You still choose the field (SKU, barcode, title or metafield), and every AI match appears in the preview with its confidence so you can review it before uploading. Free stores can judge up to 1,000 images a day with AI; paid plans have no cap.
Can one image go to several variants or products?
Yes. The "identifier contains image name" options are built for this: one base-code photo attaches to every size or colour that extends the code.
If several variants share the same identifier (the same SKU or product title), the app keeps only the first one by default, to avoid surprise duplicates. We can enable multi-variant and multi-product matching for your store on request.
Why did some products get images and others didn't?
The usual causes, in order of likelihood, are duplicate identifiers, empty identifiers, naming slips and stale data:
- Duplicate identifiers: two variants sharing a SKU or title. By default only the first keeps the image.
- Empty identifier: variants without a SKU (or barcode or metafield value) are skipped.
- A naming slip: a trailing space, a missing extension, a typo.
- Stale data: you edited products after matching. Press Clear cache on the preview page and match again.
Every unmatched image is listed in the preview with the identifier the app looked for, and you can export the list as CSV.
Does the app touch draft or archived products?
By default, active, draft and archived products are all included. We can exclude archived products for your store, and we can also restrict matching to a specific collection or vendor.
Uploading
Can I see what will happen before anything is uploaded?
Yes. Matching is completely read-only: the app shows a preview of every pairing (thumbnail, file name, position, the variant it will attach to, the identifier it matched on and the exact alt text) plus a list of every image that matched nothing.
Nothing is written to your store until you press Start upload, so you can run matching as often as you like while you perfect your naming.
Can I fix matches by hand before uploading?
Yes. On the preview page you can:
- Unmatch: remove any pairing with one click.
- Match manually: pick a product for an unmatched image.
- Edit the variant: open the product from the preview; the app re-matches automatically afterwards.
- Export: download the complete non-matched list as CSV.
How are images attached to products and variants?
Every matched image is uploaded to the product's media gallery, and the first image of each variant is also set as that variant's image.
- Further images stay in the product gallery.
- Products with only a default variant get the image at product level.
- If you prefer one shared gallery with no variant images, turn on Don't attach images to variants in Settings.
Does the app set alt text?
Yes, on every uploaded image. By default the alt text is the variant title, meaning the product title plus the option values (for example Basic Tee / Blue / M), or just the product title for single-variant products. You see the exact value in the preview before you upload.
Other formats (option value only, metafield plus title, a custom suffix, character replacements) can be configured for your store.
Will it replace my existing images or add to them?
You choose per upload:
- Don't replace (recommended for tests): new images are added after the product's existing images. Nothing existing is touched.
- Replace existing images: before the first new image of a product is uploaded, all of that product's existing images are removed. Products that matched no image are left alone.
In replace mode you can also turn on Don't delete replaced images from Files, which detaches old images but keeps the files in Content → Files.
What happens if I run the same folder twice?
Without replace mode, running the same folder again adds duplicate images. Use replace mode, or unmatch what you don't need, when re-running a folder.
Automatic retries are different: if a job ends with errors, the app retries only the images that failed and never re-uploads an image that already succeeded.
Can I watch the progress of an upload?
Yes. The job page shows a live progress percentage, uploaded/total counters and a per-image log with a link to every variant and a clear reason for any failure. The same log is emailed to you when the job finishes.
You can close your browser: jobs run in the background and resume where they left off after a restart.
Limits & performance
Which image formats are supported?
JPG, JPEG, PNG, WEBP and GIF are supported. For best results use JPG or WEBP, 2048–4096 px on the longest edge, sRGB, under 5 MB. Shopify re-encodes and serves responsive sizes anyway.
Is there a maximum image size?
Shopify caps product images at 20 MB and 20 megapixels; the app automatically resizes and re-encodes larger files and reports an error only if an image still can't fit. Over-limit files are flagged in the preview before you upload.
Shopify also allows at most 250 images per product.
How many images can the app handle at once?
Tens of thousands of images per run. Large catalogs are what the app was built for: it loads your full catalog in one bulk operation, downloads and uploads in parallel, and resumes after a restart. Merchants have used it to migrate catalogs of 40,000–60,000 SKUs.
Shopify limits how fast files can change in a store, so a very large batch runs steadily over hours rather than minutes. The app backs off and retries automatically, so you don't need to watch it.
How long do matching results stay valid?
Matching results stay valid for two hours. After that, press Match again before uploading. Use Match again after renaming files, and Clear cache after editing SKUs, barcodes, titles or metafields in Shopify.
Pricing & billing
How much does Smart Bulk Image Upload cost?
The app is free for up to 25 images; unlimited uploads cost $69, $99 or $149 per month depending on your Shopify plan.
| Plan | Price | Uploads |
|---|---|---|
| Free | $0 | 25 images in total |
| Premium (Shopify Basic, Grow and lower) | $69 / month | Unlimited |
| Premium PRO (Shopify Advanced) | $99 / month | Unlimited |
| Enterprise (Shopify Plus) | $149 / month | Unlimited |
Billing runs through Shopify, so the charge appears on your regular Shopify invoice.
What does the free plan include?
The free plan includes every feature, with a lifetime cap of 25 uploaded images (not per job). Matching is unlimited and free, so you can test your naming against your whole catalog before you pay. When the cap is reached, a job stops with a "Free upload limit reached" message.
How do I cancel?
Downgrade inside the app or uninstall it. The subscription is cancelled automatically either way. Images you have already uploaded stay in your store exactly as they are.
Why does the price depend on my Shopify plan?
Paid plans are matched to your Shopify plan so smaller stores pay less for the same unlimited uploads. Every paid plan includes the same features: unlimited uploads, setup guidance, priority in the upload queue and store-specific matching.
Security & support
What access does the app need?
The app needs read/write access to your products and write access to files in Shopify, and read-only access to Google Drive or Dropbox.
It never writes to, renames or deletes anything in your cloud storage. You can disconnect the cloud account at any time, and uninstalling removes the app's access to your store.
Is my data safe?
Yes. All data moves over TLS 1.2+ and is encrypted at rest. Google Drive and Dropbox tokens are kept only while the connection exists. Disconnect or uninstall and they are revoked and deleted immediately, along with your shop data.
Images are downloaded only to be passed straight to Shopify; we don't keep a copy of your media library. Your data is never shared with third parties, and Drive access has passed Google's CASA security review. See our Privacy Policy.
Something matched the wrong product. Can you tell me why?
Yes. We can record a full trace of a matching run for your store and tell you exactly which identifiers were indexed, which collided and what each image matched. Contact us with your store domain, folder name, matching type, roughly when you ran it, and two or three example file names.
Can you customise the matching for my catalog?
Often, yes. Options we can switch on per store include sub-folder scanning, multi-variant and multi-product matching, one image on several variants, replacing only the matched variant's images, excluding archived products, collection or vendor filters, identifier clean-up rules, alt-text formats and Unicode normalisation for accented titles.
If your catalog has a quirk that isn't on that list, tell us. Most of these started as a merchant request.
How do I get help?
Use the live chat on the Support page inside the app, or email hello@craftshift.com. Our team is in Europe and answers every message.
Still have a question?
Our team answers every message, usually within a few hours on working days (Central European Time).
Contact usUpload your first 25 images free
Install in under a minute, connect your folder and see your full matching preview before you spend anything.