Metaobject CSV format: link products, collections and images without GIDs

Shopify stores references as internal IDs like gid://shopify/Product/8123456789012. Nobody keeps those in a spreadsheet, and looking them up one by one takes longer than typing the entries by hand.

Metaobjectify lets you use values you can already see in your Shopify admin. This page shows exactly what to put in each column.

The short version

  • Product field: the product handle, like classic-oxford-shirt
  • Collection field: the collection handle, like mens-shirts
  • Image or file field: a direct link to the file, like https://example.com/images/slim-fit-chart.jpg
  • Handle column: the metaobject entry's own handle. Existing handles are updated, and new handles create new entries.

Example: a size guide

Say you have a metaobject called Size guide with these fields:

Field Type
Title Single line text
Fit description Single line text
Product Product reference
Collection Collection reference
Size chart image File (image)

Your CSV would look like this:


handle,title,fit_description,product,collection,size_chart_image slim-fit-shirt-guide,Slim Fit Shirt Size Guide,Cut close to the body with a tapered waist.,classic-oxford-shirt,mens-shirts,https://example.com/images/slim-fit-chart.jpg regular-fit-shirt-guide,Regular Fit Shirt Size Guide,Straight cut with room through the chest.,everyday-poplin-shirt,mens-shirts,https://example.com/images/regular-fit-chart.jpg

Each row becomes one size guide entry, linked to the right product and collection, with its size chart image attached.

What to put in each column

Field type What to enter Example
Entry handle A unique handle for each entry: lowercase letters, numbers and hyphens slim-fit-shirt-guide
Text The text itself Slim Fit Shirt Size Guide
Product reference The product's handle classic-oxford-shirt
Collection reference The collection's handle mens-shirts
Image or file A direct link to the file https://example.com/images/slim-fit-chart.jpg


Where to find each value

Product handle

  1. In your Shopify admin, go to Products and open the product.
  2. Scroll down to Search engine listing and click the edit icon.
  3. Copy the value in URL handle.

Or look at the product on your storefront. The handle is everything after /products/ in the address. For yourstore.com/products/classic-oxford-shirt, the handle is classic-oxford-shirt.

Collection handle

  1. Go to Products > Collections and open the collection.
  2. Under Search engine listing, copy the URL handle.

On your storefront, it's everything after /collections/ in the address.

Image or file link

  • If the file is already in Shopify: go to Content > Files and copy the link next to the file.
  • If the file is somewhere else: use a link that opens the file itself in a browser, with no login. Share links from Google Drive or Dropbox usually open a preview page rather than the file, so use their direct download link instead.

Create and update in the same file

Metaobjectify matches every row by its entry handle:

  • The handle already exists: that entry is updated with the values in the row.
  • The handle is new: a new entry is created.

So you can fix existing entries and add new ones in a single upload, and you won't end up with duplicates to clean up afterward.

Tip: Don't edit the handle column when you mean to update an entry. A changed handle counts as a new entry.

Column names and order don't matter

Your columns can be in any order, and their names don't have to match your fields exactly. After you upload a file or paste your rows, you match each column to a metaobject field. Naming columns after your field keys, like size_chart_image, just makes that step quicker.

Every row is checked before anything is saved

Before a single entry is created or changed, Metaobjectify reviews each row and flags:

  • missing required fields
  • references that don't match anything, such as a product handle that isn't in your store
  • formatting problems

Fix the flagged rows in your spreadsheet and upload again. Once the import is running, you can follow its progress in All Jobs inside the app.

Common mistakes

  • Using the product title instead of the handle. "Classic Oxford Shirt" won't match. classic-oxford-shirt will.
  • Pasting the full product link. Use only the part after /products/.
  • Linking to a preview page instead of the file. The link should open the image itself.
  • Changing a handle by accident. The row becomes a new entry instead of updating the old one.
  • Saving in the wrong format. Save your file as CSV. In Excel, choose File > Save As > CSV UTF-8 so special characters come through correctly.

Download the sample CSV

Open the sample in Excel or Google Sheets and replace the handles and links with ones from your store. The image links in the sample are placeholders, so swap them out before you import.

Download sample CSV

Frequently asked questions

Do I need to look up GIDs?
No. Use handles for products and collections, and links for images and files.

What happens if a product handle is wrong?
It's flagged in the review step, before anything is saved, so you can fix it first.

Can I use images from my old store or another website?
Yes, as long as the link opens the file directly without a login.

Can I paste rows instead of uploading a file?
Yes. You can paste rows straight into the app or upload a CSV.

Does the column order matter?
No. You match columns to fields after uploading.

Is there a free plan?
Yes. The Free plan includes 5 imports, 50 CSV imports pro plan $3.99 and  Scale is $12 a month for unlimited imports, advanced validation, faster processing for large files and priority support.

Where can I see how my import is going?
In the All Jobs section of the app.

Stop copying IDs by hand

Use the handles and links you already have, and let Metaobjectify check every row before it touches your store.

Add Metaobjectify to Shopify