How to upload Shopify product images from Google Drive (with SKU matching)

Photographers shoot. Designers retouch. The store owner uploads. Three different people, three different machines, often three different time zones. Putting product images on the right Shopify products usually means someone in the loop downloads everything to a laptop, drags into Shopify admin, and matches images to products by hand. For a catalog with even 50 products and 6 images each, that is a half-day of clicking. Google Drive plus the right upload tool collapses the whole loop into one folder share.
This is the Shopify-specific workflow we use ourselves and recommend to merchants who run photo shoots remotely. Photographer drops the day’s work into a shared Google Drive folder. The store owner connects that folder to Shopify through an upload app. Images flow in, matched to the right products by SKU in the filename, with no manual drag-and-drop. We cover the setup, the filename convention, the permission gotchas, and the troubleshooting list.
We make CS Smart Bulk Image Upload, which is the app we use in the workflow below. It connects to Google Drive (and Dropbox), matches images by SKU, barcode, title, or metafield, auto-resizes anything over Shopify’s 20 MB or 20 MP cap, and shows a match preview before uploading. We will reference it because it does the work; the principles below also apply to any equivalent app.
In this post
- Why Google Drive (vs Dropbox vs local upload)
- Step-by-step setup: connecting Google Drive to Shopify
- The folder structure that works for distributed teams
- The SKU filename convention
- Match modes: exact, image-contains-SKU, SKU-contains-image
- The preview step (do not skip this)
- Auto-resize handles oversized photographer files
- Matching by variant SKU instead of product SKU
- A real-world remote-photographer workflow
- Common Google Drive connection and matching issues
- Frequently asked questions
- Related reading
Why Google Drive (vs Dropbox vs local upload)
You have three real options for getting bulk product images into Shopify:
- Local drag-and-drop in the upload tool. Fast for one machine. Bottleneck if your photographer hands you a USB stick or a WeTransfer link and you have to download first.
- Dropbox folder. Same shape as Google Drive integration. CS Smart Bulk Image Upload supports both. Pick whichever your photographer already uses.
- Google Drive folder. Most common with photography teams that already share other deliverables (briefs, mood boards, retouched files) through Drive. Works the same way operationally.
The honest answer: Google Drive vs Dropbox is whichever your team already uses. Both work the same way through the app. The win comes from skipping the local download step entirely. Photographer uploads to the shared folder; you connect the folder once; the app reads from it directly. If your photographer is a freelancer who ships via WeTransfer, ask them to switch to Drive once. Saves them the upload-to-WeTransfer-and-email step too.
Step-by-step setup: connecting Google Drive to Shopify
- Install CS Smart Bulk Image Upload from the Shopify App Store.
- Open the app from your Shopify admin’s Apps menu.
- In the app dashboard, click Connect and pick Google Drive as the cloud provider. (Dropbox is the alternative; same flow.)
- Sign in with the Google account that owns the folder you want to upload from. If your photographer uses a different account, log in as the account that has access to the shared folder.
- Grant the requested permissions. The app needs read access to your Drive to list and download files.
- The app shows your Drive folders. Pick the folder that contains the product images for this batch.
- Pick a match type (SKU, barcode, title, or metafield) and proceed to the preview step.
Permission gotcha: if the photographer shared the folder with your store-owner Google account but the store-owner account is not the folder owner, you may see “no permission” errors when the app tries to read the folder. Fix by either having the photographer transfer ownership to your account, or having the photographer themselves connect Drive (which means the app installs under their identity, not yours, which is usually the wrong call). The cleanest path is to put shared photo folders under a Drive owned by the store, and grant the photographer write access.
The folder structure that works for distributed teams
For a photo shoot delivery cycle, the folder structure that minimizes confusion looks like this:
/Shopify-Photo-Drops/
/2026-05-spring-collection/
/raw/ (photographer's full-resolution exports)
/retouched/ (final files for upload)
ABC123_1.jpg
ABC123_2.jpg
ABC123_3.jpg
DEF456_1.jpg
...
/2026-04-winter-restock/
/retouched/
...
One folder per drop. The “retouched” subfolder is the only one the upload app reads. Keep raw exports in a separate subfolder so the app does not accidentally try to import unprocessed files. Naming convention is SKU_position.extension. The number after the underscore tells the app which order the images should appear in for that product.
Why dated folder names? Because three months later you will want to know which batch a specific photo came from when there is a customer complaint about something looking wrong. Date-prefixed folders let you find it without dredging Drive search.
The SKU filename convention
The basic filename pattern the app expects:
SKU_position.extension
Examples:
ABC123_1.jpg: first image for product with SKU ABC123ABC123_2.jpg: second image for that productABC123_3.jpg: third imageDEF456_1.jpg: first image for a different product
The number after the underscore controls the gallery order on the product page. Image 1 becomes the cover photo. Image 2 is the second slide. So if you want a specific shot to lead, name it with _1. Photographers often deliver in shoot order; reorder the files before upload to match the gallery order you want.
Two things that trip people up:
- Underscores matter.
ABC123-1.jpgwith a dash will not match the same way. Stick to underscores. - SKU spelling matters. If your Shopify SKU is
abc-123(lowercase, dash) and your filename isABC123_1.jpg(uppercase, no dash), the match will fail in exact mode. Use either the exact SKU as it lives in Shopify or one of the looser match modes (next section).
Match modes: exact, image-contains-SKU, SKU-contains-image
CS Smart Bulk Image Upload offers a few match modes to handle naming variations:
| Match mode | What it does | When to use |
|---|---|---|
| Exact SKU | Filename starts with the exact SKU, then underscore, then position | Cleanest setup, recommended when you control the file naming |
| Image contains SKU | SKU appears anywhere in the filename (e.g. product_ABC123_view1_1.jpg) | Photographer uses descriptive names with the SKU embedded |
| SKU contains image name | The image name is part of a longer SKU (e.g. shirt123_1.jpg matches SKU newshirt123) | Legacy catalog where SKUs were created from filename stems |
| Match by Barcode | Same as SKU but using the barcode field | Stores that organize by barcode rather than SKU |
| Match by Title | Filename contains the product title | Use only when SKU is missing; least reliable because titles repeat |
| Match by Metafield | Uses a custom metafield value as the matching key | For stores with non-standard product identification |
Most stores stick with Exact SKU once their naming convention is locked in. The image-contains-SKU mode is the practical fallback when photographers deliver files with their own naming style.
The preview step (do not skip this)
Before the actual upload, the app shows a match preview: a list of every image in the folder, the product (or variant) it matched to, and any unmatched files. Read this before clicking start.
What to look for:
- Unmatched images. Filename does not match any product. Either the SKU was misspelled or the product does not exist yet. Fix before upload.
- Multiple products matching one image. Rare, usually a sign that two products share an SKU prefix. Check and rename to disambiguate.
- Wrong position numbers. If two images both have
_1, the app picks one as the cover. Confirm the right one is leading.
The preview is the difference between a clean upload and reverting 200 wrong assignments. We see merchants skip it on the first upload of the day and then spend 30 minutes fixing things that the preview would have caught.
Auto-resize handles oversized photographer files
Modern cameras shoot at 24 to 60+ megapixels. Shopify rejects product images over 25 MP or 20 MB. The app’s auto-resize feature handles this during upload: oversized files are downscaled to Shopify-safe dimensions automatically, with quality preserved at the resolutions storefronts actually render. You do not have to pre-process anything.
For the limits and the fix paths in detail, see our 25 MP image limit fix guide. The short version: photographers can deliver full-resolution and the app handles the resize during upload, so you never see a “exceeds maximum image resolution” error.
Matching by variant SKU instead of product SKU
If your store has products with multiple variants and each variant has its own unique SKU, you can match images to specific variants instead of the product gallery. This puts the right image on the right color, size, or material option.
The filename convention stays the same; what changes is the SKU you use:
ABC123-RED_1.jpgmatches the red variant (variant SKU)ABC123-BLUE_1.jpgmatches the blue variant
For multiple images per variant (lifestyle plus on-white plus detail per color), Shopify natively supports only one image per variant. To assign multiple images per variant, pair this workflow with Rubik Variant Images, which handles per-variant media groups (including videos and 3D models) using gallery order with featured-image boundaries. CS Smart Bulk Image Upload puts the images in; Rubik Variant Images groups them per variant.
A real-world remote-photographer workflow
What this looks like end to end:
- Photographer shoots, retouches, and exports JPEGs with filenames like
ABC123_1.jpg. They drop them into the dated subfolder in your shared Drive. - You get a Slack message (“Spring drop is in Drive”).
- You open CS Smart Bulk Image Upload, click into the folder, run the match preview.
- Confirm everything matches. Resolve any unmatched files (usually a typo in the SKU).
- Click Start Upload. App processes in background. Auto-resize handles oversized files.
- Get a completion notification. Spot-check a few products on the storefront.
Total time on your side: 5 to 15 minutes depending on batch size and how clean the file names came back. Compare to the manual workflow (download, drag, drop, repeat per product) which is hours.
Pro tip for the photographer brief: send them your Shopify SKU CSV before the shoot, with a column showing the expected filename for each product. Removes naming errors at the source.
Common Google Drive connection and matching issues
- “Permission denied” when picking a folder. The Google account you connected does not have read access to the folder. Fix the share permissions in Drive, or switch to the account that owns the folder.
- App lists folders but cannot see files inside. Re-run the OAuth grant. Sometimes Google narrows the permission scope after a session timeout, and the app needs a fresh authorization.
- Some files not appearing. The app reads images by file extension.
.jpg,.png,.webp, and similar work. Files with unusual extensions or RAW formats may be skipped. - Many “unmatched” results. Filename SKUs do not match any product SKU in Shopify. Common cause: photographer used product names instead of SKUs, or the SKUs in Shopify are case-sensitive in a way the filenames are not. Either fix the names or use the image-contains-SKU match mode.
- Upload starts and fails midway. Shopify API rate limit. The app retries automatically; if you hit a hard limit on a very large batch, split it across multiple sessions.
- Images uploaded to wrong product. Skipping the preview step. Always check before clicking Start Upload.
Frequently asked questions
Can Shopify natively upload product images from Google Drive?
No. Shopify’s native image upload is browser drag-and-drop only. There is no built-in Google Drive integration. To upload from Drive directly, you need an app like CS Smart Bulk Image Upload that adds the Drive connection and handles bulk matching.
Does Google Drive integration work with Shopify Plus?
Yes. The Google Drive integration via CS Smart Bulk Image Upload works on every Shopify plan from Basic to Plus. Shopify’s plan tier does not affect bulk image upload capabilities.
Can I match images by barcode instead of SKU?
Yes. CS Smart Bulk Image Upload supports matching by SKU, barcode, product title, or metafield. Pick whichever identifier your filenames use. SKU is the most common because SKUs are typically unique and immutable.
What happens if my images are larger than 20 MB or 25 MP?
The app auto-resizes oversized images during upload, so you do not need to pre-process. Shopify’s product image cap is 25 MP and 20 MB; theme/Files uploads cap at 20 MP. The auto-resize handles both. See our 25 MP image limit fix guide for the full story.
Can the app match images to specific variants instead of products?
Yes. If your variants have unique SKUs, name your filenames with the variant SKU. The app assigns each image to the matching variant. For multiple images per variant, pair the upload with Rubik Variant Images, which handles per-variant media groups beyond Shopify’s native one-image-per-variant limit.
Does the app support Dropbox too?
Yes. CS Smart Bulk Image Upload supports both Google Drive and Dropbox using the same OAuth and folder-pick flow. The match modes and auto-resize behavior are identical across the two providers.
Can I bulk-replace existing product images?
Yes. The app gives you the option to replace existing photos or keep them and append the new ones. Pick the behavior in the upload settings before clicking Start Upload. Replace is destructive; if you are not sure, keep both and clean up the old ones afterward.
Related reading
- Bulk upload product images by SKU matching
- Upload images larger than 20 MB / 20 MP to Shopify
- Shopify 25 MP image limit fix guide
- Shopify product image size guide 2026
- Shopify image management complete guide
- Rubik Variant Images for per-variant media groups
- Rubik Combined Listings for unifying separate-product-per-color setups
One last tip. Once you set this workflow up once, the second drop takes 5 minutes. The third takes 3. The fifth, you forget you ever did it manually. The compounding is the point.