Go to the app

Assets

Assets

An asset is a file you upload once and use on as many of your records as you like, from a product photograph to a size chart or a warranty PDF.

An asset is a file you upload once and then use on as many of your records as you like. It can be a product photograph, a video, a size chart or a warranty PDF. Every file your organization uploads goes into the same library. Attaching one to your product does not copy it, so a single photograph of yours can be on two hundred products. Delete one of those products and your photograph stays where it was.

Most people come here for one of three reasons. You want photographs on your products so they go out to the stores and marketplaces you sell on. You want to give your customers a document they can download. Or you want to fix the name and the alt text on files a teammate of yours uploaded.

Your library is Assets in the left navigation. It is a table with one row per file, not a wall of thumbnails. You do not have to start there, though. Every product, variant, brand and category editor gives you upload areas of its own. A file you send from one of those goes into the same library as everything else.

Before you start

What your role lets you do

RoleSee files and download themUpload, attach and renameDelete
AdminYesYesYes
ManagerYesYesYes
EditorYesYesNo

An Editor is the one case to know about. You can upload, rename, attach and reorder all day, and the Delete button simply never appears for you. That is true in your row menu, on the file’s own page, and in the bar you get when you select rows. One place is different. The trash icon inside the library picker is shown to everyone, so you can click it and get a message back saying you do not have permission. Your role is set in team, roles and permissions.

Deleting a file is permanent

Deleting a file takes it off every product, variant, brand and category using it, right away. There is no trash, no restore and no undo. Taking your file out of one product is a different action and is safe.

How to put a photograph on a product

  1. Open the product

    From Catalog in the left navigation, open Products and click the row for the product you want. Scroll your editor down to the section headed Assets.

  2. Pick which area the photograph goes in

    That section gives you three areas to put a file in, called slots: Primary, Gallery and Resources. Primary is the single image that stands for your product, so start there.

  3. Send the file

    Click Upload new inside the Primary slot to pick a file off your computer. Click Select existing instead to open your library and reuse a file you already have. You can also drag a file directly onto the slot.

  4. Write the alt text

    Click the pencil icon under your image. Type a sentence describing what is in the photograph, then click Save in the small dialog that opens over the page.

  5. Save the product

    Click Save at the top of the editor. Until you do, your file is in the library but it is not on your product.

That is the whole flow. Your image appears in the slot immediately, and the next time the PIM publishes that product your connected accounts get it too.

Everything below covers your library, your slots and your integrations one at a time. You do not need any of it to put a picture on a product.

Every option in detail

Upload files to the library

Go to Assets in the left navigation and click Upload above the table. Your computer’s file picker opens, and you can choose as many files as you want at once. Dropping your files anywhere on the table does the same thing without opening the picker.

While your files upload you get a counter, and that is all. There is no list of individual files and no way to call one back, so what you started runs until it is done. Start again before the first upload has finished and you are told to wait.

A file over the size limit for its kind never leaves your computer. The rest of what you dropped keeps going without it. You also get a message naming the file that was rejected.

Nothing checks whether you already have the file. Upload the same photograph twice yourself and you get two rows and two files. Nothing warns you. The PIM only catches duplicates on the routes it runs for you. An import, a data source sync or a read from one of your integrations reuses a file you already have when the contents match exactly.

Why a 3D model has to be dragged in

The Upload button opens your computer’s file picker with a type list attached. That list names images, video, audio, PDFs, Word and Excel files, CSVs, and ZIP, RAR and 7z archives. No 3D format is on it, so you cannot choose a .glb through that dialog.

Two routes still work for you. Drag your file onto the table, or send it from a product’s Gallery slot, which takes 3D models directly.

Upload from inside a product, brand or category

An empty slot inside a record editor shows you two buttons. Upload new sends a file from your computer and puts it into that slot in one move. Select existing opens the library picker so you can reuse something. Dragging your file onto the slot works too.

A slot that already has a file in it stops showing those two buttons. It turns into a small card with a + at the end of your row of cards. Click that card and the picker opens. Dropping a file on it still uploads.

These upload areas send one file at a time. Each of your files gets its own row with a status on it. A Cancel button appears on the ones still waiting and on the ones that failed, never on the one that is moving. Nothing here can be resumed, so a dropped connection starts that file over.

Select existing opens the library picker. You get 24 files at a time behind a Load more button. Across the top is a row of chips for narrowing to one kind of file. A Selected only switch appears once you have selected something. Its search box is narrower than the one on Assets: it reads the display name, the original filename and the alt text, and nothing else. While you edit a variant, a From product switch narrows the picker to everything the parent product already has.

The picker lets you select a file the slot cannot take. Done is where that gets caught, and it rejects your file with a message naming it. It also tells you how much room your slot has left if you select too many.

From URL is beside Upload new in the picker. Use it to bring a file in from a web address instead of from your computer. It is also in the editor you write a product description in. Nowhere else has it, and you cannot paste an image out of your clipboard anywhere in the PIM.

The slots a file can go in

A slot is a named area inside a record editor. Each one limits how many files it can have, and lists what it accepts.

RecordSlotHow manyAccepts
ProductPrimary1Images
ProductGallery250Images, video, audio and 3D models
ProductResources250Any file
VariantPrimary1Images
VariantGallery250Images, video, audio and 3D models
BrandLogo1Images
BrandBanner1Images
BrandResources250Any file
CategoryThumbnail1Images
CategoryBanner1Images
CategoryResources250Any file

On a product and a variant your slots are in a section headed Assets. On a brand and a category they are at the bottom of the editor, each one under its own name.

Put a manual or a spec sheet in Resources, not in Gallery. Gallery is for things a shopper looks at. It is also what your integrations read when they build a product’s media. Resources is for things a shopper downloads, and it goes out as a list of links.

A variant has no Resources slot, and knowing why saves you looking for it. A manual describes your whole product, not one size of it, so it goes on the product. Variants covers that split.

Your primary image is whatever is in the Primary slot. It is not the first image in your gallery. Dragging the gallery into a new order changes nothing here. To move one of your images into Primary, open the menu behind the three dots on its card and click Set as primary. Dragging the card onto the slot does the same thing.

One file of yours can be in two slots of the same record, which is how a photograph can be in both Primary and Gallery. It cannot be in the same slot twice. Add it a second time and it is dropped with no message. Add it through Replace and you are told it is already there.

What happens when a slot is already full or already occupied

Drop a file onto a single-file slot that already has one and it replaces what was there, right away and with no confirmation. Nothing is destroyed. The file it replaced stays in your library and you can put it back.

Drag a file from one single-file slot onto another that is occupied and the two swap places instead.

Drop more of your files on a 250-file slot than it has room for and it takes as many as fit. Then it tells you how many it did not take.

Reorder, replace and take a file out of a slot

Every card in a slot, inside any record editor, gives you the same row of controls. An eye icon opens a preview. A pencil icon opens a small dialog for your display name and alt text. A red trash icon takes your file out of this slot and leaves it in the library. Behind the three dots are Set as primary, Replace, Optimize, Download and Copy URL.

Order inside a slot is yours to set by dragging cards, and a drag can move a file from one of your slots into another.

Copy URL gives you a public web address for the file. Anyone you send it to can open it without signing in, which is exactly why your integrations can get your images from it. Optimize never touches your original: it writes a second file and, from a slot, points that slot at the new one.

Select the checkbox on a card and a bar replaces the slot’s title. It counts what you picked. It then has Download, Optimize and Remove on it, plus a Select all shortcut for that slot. Remove asks you to confirm, and it tells you your files stay in the library.

Nothing here replaces the file behind a row. Replace changes which file your slot points at. To publish a corrected version of an image, upload the corrected file and point your slots at it. Delete the old one after that if you want it gone.

On a record you can only view, the thumbnails, the preview, Download and Copy URL all stay. Everything that would change something is not grayed out. It is simply not there.

An image you paste into a product description is an asset too. It goes into your library like anything else, and you will find it there. It is in a slot of its own that is never shown, which keeps it out of your gallery and stops it disappearing when you edit the description.

Find a file again

Your library is flat. You get no folders, no collections, no albums and no tags on a file, and nothing in the PIM creates any of them. Finding a file again is your search box and your column filters, and that is the whole of it.

The search box above the table on Assets matches part of a word, ignoring capitals, across five things: the display name, the original filename, the alt text, the type of file, and its extension. It does not search the products your file is attached to. Search for a product name here and you get nothing back.

You get 50 rows at a time, newest first. They refresh themselves when a teammate or one of your integrations changes something.

ColumnWhat it gives you
AssetThe display name with its extension. Sort on it, or filter it as text
KindOne of Image, Video, Audio, Document, Archive, 3D Model or File, filtered to a single one
Assigned toHow many products, variants, brands and categories use the file, or a filter for assigned and unassigned
SizeHow big the file is, filtered by size range
DimensionsWidth and height in pixels, filtered by megapixel range
MIME Type and ExtensionWhat kind of file it is, both filterable
Alt TextThe alt text, or nothing. Filter it as text to find the files missing it
Created at, Created by, Updated at, Updated byWhen it happened, and who or what did it

Each filter dropdown only lists values you have files in. A kind, a size range or an extension you have nothing in does not appear at all, so a short list there is normal.

Created by names who did it and how, separated by a middle dot. A file one of your integrations brought in reads as the account name and then Integration. One an import downloaded reads as the person who ran your import and then Import.

Anything with no pixel size has no megapixel range, which covers every PDF, every audio file and most 3D models. Use that column’s empty filter to find yours.

Below the table is your dropdown of saved views, starting on All Assets. Save the search and the filters you keep rebuilding there. You get them back next time.

Open one file and see everything about it

Click any row on Assets and that file opens at its own web address, so you can paste a link to it for a teammate.

The page gives you a preview, the file’s facts, who touched it and when, and a row of actions: Open, Preview, Download, Edit and Delete. An image gets Optimize as well. A file one of your feeds has matched gets Data Sources.

Under those is a list of every record using your file, one line each. Each line names the record, what kind of record it is, and which slot your file is in, and it opens in a new tab. The list stops at 100 and tells you when there are more.

Preview works right on the page for images, video, audio and PDFs. It also covers GLB, glTF and USDZ models. Everything else shows you its icon and a line saying there is nothing to show, and Download is how you read it.

Your animated GIFs keep animating and your SVGs stay sharp at every size, because the PIM shows you those two exactly as you uploaded them.

Give a file a name and alt text

Two fields, edited one file at a time. Open them from the pencil icon on any card inside your record, or from Edit on the file’s own page.

Display name is required and stops at 100 characters. It is a label, not a filename. Renaming your file never changes its web address, so it never breaks a link someone already copied. The extension you see after the name is added when your row is shown and is not part of what you typed.

Alt text stops at 500 characters. Keep yours under 125 if you can, because that is where screen readers and search engines stop paying attention. Your counter on the file’s own page turns to a warning past that point.

Alt text is empty on every upload. Nothing fills it in for you: no generation, no suggestion, and no way to edit it for many files at once. The one exception is the Optimizer, which puts the alt text of your source image onto the file it writes.

Your two editing places are not identical. The file’s own page counts characters as you type and stops you at the limit. The pencil dialog counts nothing and lets your save fail instead.

Download your files

Download in the row menu on Assets gives you the original file right away, exactly as you uploaded it. Nothing was converted, resized or compressed on the way in, so what comes back out is exactly what you sent.

Selecting rows changes what the word means. The bulk Download above the table builds a ZIP for you and tells you it is being prepared. It then comes to you the way an export does. It shows up in your exports table, and you get an email when it is ready.

The same word inside a record editor does something else again. There it puts the cards you selected into a ZIP in your own browser and saves it right away, with no email and no waiting.

Delete a file for good

Delete is in three places: your row menu on Assets, the actions on the file’s own page, and the bar you get when you select rows. All three ask you to confirm first. All three are hidden unless your role is Manager or above.

The confirmation inside the library picker is the useful one. It counts first and tells you what you are about to break before you agree to it. The one on Assets names your file and warns that every record loses it, without the count.

Rows you select yourself are deleted while you watch. Use the filter-based select-all on more than 100 files and the work runs in the background. It gets its own progress and a cancel button, so your page stays usable while it runs.

Limits

WhatLimit
Largest image25 MB
Largest video or 3D model476 MB
Largest audio file or archive200 MB
Largest document or any other file50 MB
Files in Primary, Logo, Banner or Thumbnail1
Files in Gallery or Resources250
Display name100 characters
Alt text500 characters
Files in one bulk action10,000
Records listed under a file’s assignments100
Files per page in the library picker24
Rows per page on Assets50

MB is counted the way your file manager counts it, so a photograph your computer calls 24.9 MB is under the image limit.

Nothing counts how many files you keep or how much space they take, and no plan charges you for either.

What the asset library cannot do

You cannotDo this instead
Sort your files into folders, collections or albumsSearch, filter the columns, and save a view
Tag a filePut the word in its display name or its alt text
Replace the file behind an existing rowUpload the corrected file and point your slots at it
Get alt text written or suggested for youWrite it one file at a time
Edit alt text for many files at onceOpen each file and edit it
Find files you uploaded twiceCompare them by eye
Paste an image from your clipboardDrag the file in, or use From URL
Attach a file to a record from the library tableOpen the record and use its slots
Undo a deleteUpload the file again
Keep camera details, copyright or a license on a fileNothing in the PIM stores them
See how often a file was viewed or downloadedNothing counts either

What each integration accepts

What happens to your files depends on which integration is getting them, and no two agree. One of your files can publish to one account, be rejected by another, and have nowhere to go on a third. Your integrations page sets out the rest of the differences, account by account.

IntegrationImagesVideo and 3DA product’s Resources
ShopifyOut on every push, in on the first sync onlyOut on every push, in on the first sync onlyAs links, outbound only
BigCommerceOut on every push, in on the first sync onlyNoNo
SquareOut on every push, in on the first sync onlyNoNo
GoogleOutbound only, and requiredNoNo
AmazonNoNoNo

Images are the only thing more than one integration takes. Everything else is Shopify’s. Read down that middle column before you decide whether a video is worth uploading at all.

A file your integration rejects never stops your push. Your product’s data and every acceptable file still go out, and the badge on your product turns orange. You get one line per kind of problem, so ten rejected images produce one message and not ten.

Shopify

Shopify takes more of your files than anything else does. It is the only one that takes a video or a 3D model at all.

Your push sends the product’s Primary first, then its Gallery, then each variant’s Primary and Gallery, with duplicates removed. Your variant’s primary image also becomes that variant’s image in Shopify. The exception is a video or a 3D model, which Shopify has no variant slot for, so those go on your product only.

The first sync brings your store’s own images, videos and 3D models into your library, and it is the only time anything comes in. The first image goes into your Primary slot and the rest into your Gallery. A YouTube or Vimeo video embedded in your Shopify product is not a file and is not brought in. A file somebody adds in your store after that is left alone rather than wiped by your next push, and it stays out of your library, so a file you want here is one you upload here. The Shopify integration covers the rest.

A product’s Resources goes out as links, never as your files. Your push writes each file’s name, web address, type, size and extension into a pim metafield on your product. The order is the one you arranged, so your theme can build a downloads block from it. Your files stay in the PIM, which is why a 400 MB manual is no trouble. Nothing reads that list back, so an edit you make in your Shopify admin is overwritten on your next push. The Resources slot on a brand or a category goes to no integration at all.

The formats and sizes Shopify accepts
Kind of mediaFormats it takesLargest file
ImagePNG, JPEG, WebP, GIF, SVG, HEIC, BMP, TIFF and PSD20 MB
VideoMP4, MOV and WebM1 GB
3D modelGLB or USDZ500 MB

Shopify also rejects an image above 5000 by 5000 pixels.

So AVIF, HEIF and AVI upload into your library without trouble and are rejected here. So is every 3D format outside GLB and USDZ, and so is an audio file in your gallery.

Some of those answers are not instant. Shopify takes your file first and decides after that, so your push waits a few seconds. A slower answer arrives on your next push of that product, which is how a badge turns orange without anyone touching the file.

BigCommerce

BigCommerce takes images and nothing else. Your video, audio, 3D models and documents have nowhere to go in a BigCommerce product.

Your first sync works in your favor. The images already in your store are downloaded into your library before anything is pushed back. From then on you decide. Every push after that replaces the store’s image list for a product with yours, in your order, and your Primary becomes the product’s thumbnail. An image someone adds in your BigCommerce admin does not stay after your next push.

What BigCommerce accepts

BMP, GIF, JPEG, PNG, WBMP, XBM and WebP, at up to 8 MB each, and up to 1,000 images on one product. WebP is the one to watch, because Square rejects it and BigCommerce does not.

A file rejected here is reported as a warning on your product and nothing else stops. Integrations lists what the rest of a product takes.

Square

Square takes images and nothing else: JPEG, PNG or GIF, at up to 15 MB each. Your WebP, AVIF, SVG, HEIC and TIFF files are fine in the library and are rejected here. The Square catalog has nowhere to put your video, audio, PDFs or 3D models.

Your display name becomes the image’s name in Square, and your alt text becomes its caption. Both are cut at 255 characters.

Files move one way after setup. Square gives you the images it already had while your first sync runs. From then on the PIM writes and never reads back. The Square integration lists what it does take.

Google

Google Merchant Center is the one place where a missing image stops your listing. A variant with no publishable image of its own, and none on its product, is not sent at all. You see it reported as blocked instead of as a media warning.

Your variant’s own image goes first, and your product’s images are the fallback for a variant that has none. Google takes one main image and up to 10 more.

Google never gets your file itself. It gets the web address and downloads your image from the library, which is why the picture a shopper sees updates when you change the file. Accepted formats are JPEG, PNG, WebP, GIF, BMP and TIFF, at up to 16 MB each.

Amazon

Amazon gets no files at all. Amazon in the PIM is offer-only. Your push sends the condition, the price, the link between your SKU and the ASIN on the first push, and, on listings you ship yourself, the quantity. Your images, titles, descriptions and specifications are never sent and never read back.

So replacing a bad photograph in the PIM changes nothing on your Amazon listing. Neither does fixing its alt text, because the offer the Amazon integration describes has no images in it.

When something goes wrong

Messages you might see

MessageWhat to do
"{name}" exceeds the {kind} limit of {limit}Your file is over the size limit for its kind. Make it smaller, or leave it out
An upload batch is already in progress. Please wait for it to finish before starting another.Your last upload is still running. Watch the counter and start again when it stops
"{name}" isn't a supported file type here.That slot does not take that kind of file. Put it in Resources, or upload it to your library on its own
{count} assets skipped: slot fullYour slot hit its limit. Take something out first
That asset is already in this roleYour file is already in that slot, and nothing changed
Display name cannot be emptyType a name. Every file needs one
You do not have permission to delete assetsYour role is below Manager, so ask someone whose role is higher
This URL returned a web page instead of a file. Use a direct download link.You gave From URL the address of a page. Copy the address of the file itself
Failed to update assetTry again, and reload your page if it happens twice

Editing a name or alt text goes to only two integrations

Change either field on a file one of your integrations already has and the PIM sends your change back out on its own. It happens without you pushing the product. Two integrations act on it. Shopify updates your file’s name and its alt text, and Square updates the image’s name and caption.

BigCommerce keeps copies of your images and gets neither edit. A rename there only takes effect the next time you push that product.

Three details matter here. A Shopify video or 3D model cannot have its filename changed, so for those only your alt text goes out. Clearing the alt text in the PIM clears it on your integration too. And a failure here never blocks your product’s real sync. You are not told when one happens, so check the channel if a rename does not show up.

Two things that happen with no message

Nothing on screen tells you about either of these.

Adding a file twice to the same slot drops the second one and says nothing. If a card you expected is missing, check that first.

A file that cannot be fetched while your bulk download is built is skipped, and your ZIP finishes anyway. You are not told which file was missing.

Where to go next