Short answer
A Shopify DAM integration is a connector that sends approved images, videos and 3D models from the DAM to Shopify product media and keeps them current. Shopify stores media as files on its own CDN, so most connectors push renditions through the Admin GraphQL API. Fact: Shopify accepts product images up to 20 MB and 4,472 by 4,472 pixels.
What a Shopify DAM integration must do
A Shopify DAM integration must place the right approved asset on the right product and variant, in the right order, and remove it when the asset is withdrawn.
| Function | Direction | Why it matters |
|---|---|---|
| Select assets for a product | DAM to Shopify | Merchandisers pick approved assets without download and upload by hand |
| Push renditions | DAM to Shopify | Shopify serves files from its own CDN, so the file must arrive in Shopify |
| Link to variants | DAM to Shopify | Colour and size variants show the matching image |
| Set media order | DAM to Shopify | The first media item acts as the primary image in listings and search |
| Update in place | DAM to Shopify | A retouched image replaces the old one without a broken link |
| Withdraw | DAM to Shopify | Expired or deleted assets leave the storefront |
| Report back | Shopify to DAM | The DAM records which products use each asset |
The DAM integrations guide explains where commerce platforms sit among the other DAM connections. Shopify is a commerce platform with product data inside it, so the integration often runs next to a PIM feed. DAMSelection assessment: decide which system owns the link between asset and product before the first demo. Two systems that both write product media create duplicates.
How Shopify models product media
Shopify models product media as files in a store-wide file library, attached to products and optionally linked to variants.
| Media type | Formats | Limits from Shopify documentation |
|---|---|---|
| Image | PNG, GIF, JPEG, WEBP, HEIC | 20 MB, 4,472 by 4,472 pixels (20 megapixels), aspect ratio between 100:1 and 1:100 |
| Video | MP4, MOV, WEBM | 1 GB, 10 minutes, up to 3840 by 2160 pixels |
| External video | YouTube and Vimeo URLs | No storage use in Shopify |
| 3D model | GLB and USDZ | 500 MB |
Fact: Shopify recommends 2,048 by 2,048 pixels for product images. Fact: apps can create up to 1,000 videos per store per week. A DAM master often exceeds the image limits, so the connector must send a rendition in a supported size and format.
The Shopify Admin GraphQL API handles media through a small set of mutations.
- `fileCreate` creates files from a public URL or from a staged upload, up to 250 files per batch.
- `stagedUploadsCreate` returns upload targets for direct uploads.
- `productSet`, `productCreate` and `productUpdate` attach files to products through the `media` field.
- `productVariantsBulkUpdate` links media to variants. A variant can reference only media already on its product.
- `fileUpdate` changes alt text, filename, content and product references.
- `productReorderMedia` changes media order as an asynchronous job, with position 0 as the primary image.
- `fileDelete` removes files permanently.
Fact: Shopify processes files asynchronously, and `fileStatus` moves through UPLOADED, PROCESSING, READY and FAILED. A connector must poll for READY before it links media to variants.
Integration patterns for Shopify
Shopify DAM integrations follow three patterns, and the pattern decides who serves the files and where the merchandiser works.
| Pattern | How it works | Delivery | Best fit |
|---|---|---|---|
| Push to Shopify media | The DAM sends renditions to Shopify Files and attaches them to products | Shopify CDN | Standard themes, product galleries, 3D and video on product pages |
| Picker in the Shopify admin | An embedded app lets merchandisers search the DAM and attach assets | Shopify CDN after push | Teams that work product by product in Shopify |
| External DAM URLs | The theme renders image URLs from the DAM delivery layer, stored on products or collections | DAM CDN or image CDN | Custom themes and headless storefronts |
Fact: Shopify generates several image sizes on its CDN and transcodes video to 480p, 720p and 1080p in HLS and MP4. Fact: the Liquid `image_url` filter resizes images up to 5,760 pixels per side and never above the original size. A push connector therefore sends one high-quality master rendition and lets Shopify create the sizes.
The external URL pattern keeps one delivery layer for all channels. The headless DAM guide covers that architecture. Fact: Shopify documents that collection images can use Shopify CDN URLs or external image URLs. Product galleries, variant images and 3D viewers in standard themes rely on Shopify media, so most stores combine the push pattern with external URLs for campaign content.
Worked example: a catalogue of 2,000 products with six images each needs 12,000 files. At 250 files per `fileCreate` batch, the initial load takes 48 batches, plus polling for READY and one product update per product.
What must stay in sync with Shopify
Five changes in the DAM must reach Shopify within a stated time: updates, rights expiry, deletions, alt text and media order.
| DAM change | What must happen in Shopify | Shopify mechanism |
|---|---|---|
| New version of an image | Replace the file content and keep the URL | `fileUpdate` with a new source, for images and generic files |
| New version of a video or 3D model | Create a new file and swap the product media | `fileCreate`, then `productUpdate` |
| Rights expiry | Remove the asset from every product that uses it | `fileUpdate` reference removal or `fileDelete` |
| Deletion in the DAM | Delete or detach the Shopify file | `fileDelete` |
| Alt text change | Update the alt text on the file | `fileUpdate`, alt text up to 512 characters |
| New primary image | Reorder the product media | `productReorderMedia` |
Fact: removing a file from a product deletes it from the product's media gallery and clears the image from variants that used it. A rights expiry run can therefore leave variants without an image. Fact: `fileUpdate` replaces content of videos and 3D models only for alt text and product references. A new video version needs a new file.
Usage rights need the most care. The rights management guide explains expiry handling in the DAM. The Shopify connector must turn each expiry into a removal and log it. Alt text needs the same discipline, and the accessibility and alt text guide covers the source side. Fact: Shopify's file mutations show one alt field per file, so buyers with several storefront languages ask how translated alt text reaches the store.
The four depth levels for Shopify
DAMSelection rates Shopify integration depth on the same four levels as every other platform, based on who builds and maintains the connector.
| Level | What it means for Shopify | Evidence DAMSelection accepts |
|---|---|---|
| 4 Native connector | App built and maintained by the DAM vendor | Vendor documentation or a Shopify App Store listing by the DAM vendor |
| 3 Partner or marketplace connector | App built by a third party | Marketplace listing naming the developer |
| 2 Documented API pattern | DAM guide for pushing media through the Shopify Admin API | Published developer guide |
| 1 Custom build only | No connector or guide | Explicit statement that a custom build is required |
Vendor ratings appear on vendor profiles once verified. The integrations overview explains the scale for all platforms.
What to test in a Shopify demo
A Shopify demo tests the full product media loop on a development store with the buyer's own products and assets. Add these steps to the scripted demo.
- Connect the DAM to a development store and show the access scopes the app requests.
- Attach six approved images to one product from the DAM, including one master above 4,472 pixels.
- Confirm the connector sends a supported rendition and the files reach READY.
- Link two images to colour variants and set the primary image.
- Replace one image with a new version in the DAM and show the same Shopify URL with the new file.
- Upload a video and a GLB model and attach both to the product.
- Change alt text in the DAM and show the change on the Shopify file.
- Expire the rights on one image and show its removal from the product and variants.
- Delete an asset in the DAM and show the Shopify result and the log entry.
- Load 500 files in one run and show error handling for a failed file.
- Show the report of products that use a given DAM asset.
The panel scores each step pass or fail against criteria written before the demo. The Demo Script Generator formats the steps as a scenario.
Common failure points
Shopify DAM integrations fail at six points that a buyer checks before signature.
- Oversized masters: images above 20 MB or 4,472 pixels fail without automatic renditions.
- Asynchronous processing: a connector that links variants before files reach READY creates errors.
- Duplicate files: repeated pushes of the same asset fill the Files library with copies.
- Variant gaps: removing a file clears variant images, so expiry runs need a fallback image rule.
- Video versions: videos and 3D models cannot have their content replaced, so update logic differs per media type.
- API versions: Shopify releases a new API version every quarter and supports each stable version for at least 12 months. A connector that falls behind stops working.
Questions for the DAM vendor
The buyer sends these questions in writing before the demo and asks for documentation with each answer.
- Who builds, hosts and supports the Shopify connector, and which API version does it use today.
- Which pattern does the connector use: push to Shopify media, external URLs or both.
- How does the connector choose the rendition for each media type and limit.
- How does the connector store the DAM asset ID in Shopify to prevent duplicates.
- What happens in Shopify when rights expire, and how fast.
- How does the connector handle alt text for several languages.
- How many files per hour can the connector load, and how does it retry failures.
- What does the connector cost, and is it priced per store, per product or per call.
Frequently asked
Does Shopify have a built-in DAM?
Shopify has a Files library that stores images, videos, 3D models and documents with alt text and product references. The Files library holds no rights records, approval workflows, metadata schema or rendition presets. Teams with more than a few hundred products or several channels add a DAM and push approved media into Shopify.
Can Shopify display images hosted in a DAM?
Shopify can display DAM-hosted images when the theme renders external URLs, and Shopify documents external image URLs for collection images. Standard product galleries, variant images and 3D viewers use Shopify media. Most stores therefore push product media into Shopify and keep external URLs for custom sections.
What image size should a DAM send to Shopify?
A DAM should send Shopify product images within 20 MB and 4,472 by 4,472 pixels, which are Shopify's documented limits. Shopify recommends 2,048 by 2,048 pixels for product images. Shopify then creates smaller sizes on its CDN, so one high-quality rendition per image is enough.
How does a DAM update an image already on Shopify?
A DAM updates an image already on Shopify with the `fileUpdate` mutation, which replaces image content and keeps the same file ID and URL. Videos and 3D models work differently: the connector creates a new file and swaps the product media. The buyer tests both cases in the demo.
How do expired assets leave a Shopify store?
Expired assets leave a Shopify store when the DAM connector removes the file from products or deletes it. Removing a file from a product also clears the image from variants that used it. The buyer asks how fast the connector acts and checks the log in the demo.