Export Collections Tool for Shopify
🔧 Quick Info: Export your Shopify collections — including their rules, manually added products, exclusions, and metafields — to a spreadsheet.
What it does
Export Collections pulls your Shopify collections into a CSV or Excel file. It captures everything that defines a collection under Shopify’s collections model: the core details (title, description, SEO, image, sort order, publish state), every rule (condition), every manually added product, exclusions, sub-collections, and your collection metafields.
The export uses a multi-row format: rows are grouped by the collection’s Handle. The first row of a group carries the collection’s core fields, and each rule, manual product, or exclusion gets its own row below it. This makes the file easy to read and edit by hand — add a rule by inserting a row, or retag fifty collections with find-and-replace — and it feeds straight back into Import Collections.
The export runs in the background, and when it is ready you receive an email with a link to download the file.
When to use it
- You want a backup or snapshot of your collections and their rules.
- You plan to bulk-edit collection rules in a spreadsheet and re-import them with Import Collections.
- You’re copying collections between stores (staging to production, or store to store) — the file uses handles and SKUs instead of store-specific IDs, so it ports cleanly.
- You need a review sheet of which collections are automated vs. manual, what conditions they use, and what they exclude.
Before you start
- Your Shopify store must be connected to your account.
- Decide what to export. You can export all collections or pick specific ones.
- Large manually curated collections produce one row per product. If you only care about rules, turn Include Manually Added Products off for a much smaller file.
- Know where the file goes. The finished file is emailed to you as a download link, so make sure the email address is correct.
Step-by-step
1 Open the Tool
Open the Export Collections tool.
2 Select Collections
Select Collections step: choose specific collections, or leave the selection empty to export all collections.
3 Export Options
Export Options step:
- Enter a Filename (a default name with today’s date is provided).
- Choose a File Format (CSV or Excel).
- Tick the fields you want included as columns.
- Include Manually Added Products — on by default. Adds a row for every manually added product. Turn off for a rules-only export.
- Identify Products By — Handle (default) or SKU; shown when manually added products are included. Controls how those products are written; products without a SKU fall back to their handle.
- Include Metafields — on by default. Adds a column for every collection metafield definition on your store.
4 Email Delivery
Email Delivery step: the download link is emailed to you when the export finishes — your account email is prefilled; change it or turn email delivery off on this step if you prefer.
5 Start the export
Start the export. It runs in the background.
6 Download your file
Download your file from the tool when it finishes — or from the link in the email.
How to read the file
Rows are grouped by Handle. The first row of each group holds the collection’s core fields; the rows below it describe the collection’s rules and products.
A small example — a smart collection with two rules and one excluded product:
| Handle | Title | Source # | Match | Row Type | Condition Type | Relation | Values |
|---|---|---|---|---|---|---|---|
| summer-sale | Summer Sale | 1 | ALL | Rule | productTag | TAGGED_WITH | summer|beach |
| summer-sale | 1 | ALL | Rule | variantPrice | LESS_THAN | 50.00 USD | |
| summer-sale | 1 | Exclude Product | old-swimsuit |
Core columns (first row of each group)
| Column | Notes |
|---|---|
| ID | The collection’s Shopify ID. |
| Handle | The collection’s handle — this is what groups rows together. Present on every row. |
| Command | Blank on export. Used by the import (DELETE deletes the collection). |
| Title | The collection name. |
| Description | The collection description (HTML). |
| Sort Order | How products are ordered: BEST_SELLING, ALPHA_ASC, ALPHA_DESC, PRICE_ASC, PRICE_DESC, CREATED, CREATED_DESC, MOST_RELEVANT, or MANUAL. |
| Theme Template | The alternate theme template assigned to the collection (the “Theme template” selector in the Shopify admin). Blank = the theme’s default collection template. |
| Published | yes / no — whether the collection is published to your Online Store. Only fetched when you tick the Published field; it needs an extra Shopify permission (see the FAQ). |
| Image Src | Web address of the collection image. |
| SEO Title / SEO Description | The collection’s search engine listing fields. |
| Metafield: namespace.key | One column per collection metafield definition, holding the value. |
Source and rule columns (every row)
Shopify collections are built from one or more sources. Most collections have a single source; the new collections model allows several, plus sub-collections and shared sources.
| Column | Notes |
|---|---|
| Source # | Groups rows into sources (usually 1). |
| Source Title | The source’s name as shown in the Shopify admin. |
| Target | PRODUCTS (whole products) or VARIANTS (variant-level matching). |
| Match | ALL = a product must match every rule; ANY = matching one rule is enough. On exclusion rows, this is the exclusion’s match setting. |
| Row Type | What the row is — see below. |
| Condition Type | The attribute a Rule tests — see below. |
| Relation | The comparison, e.g. EQUALS, TAGGED_WITH, CONTAINS, LESS_THAN, GREATER_THAN, STARTS_WITH. |
| Values Match | For multi-value rules: ANY (matches one of the values) or ALL (must match all of them). |
| Values | The rule’s value(s), the product identifier, or the referenced collections. Multiple values are separated by a pipe (|). |
Row Types
| Row Type | Meaning | Values column holds |
|---|---|---|
| Rule | An automated condition that includes products. | The condition’s value(s). |
| Product | A manually added product. | The product’s handle — or the variant’s SKU for variant-level picks. |
| Exclude Rule | A condition that excludes products (tag, type, vendor, or category). | The condition’s value(s). |
| Exclude Product | A manually excluded product. | The product’s handle (or SKU, in SKU mode). |
| Exclude Collection | Excludes everything in another collection. | The other collection’s handle(s). |
| Sub-Collection | The source pulls its products from other collections. | The referenced collection handles, pipe-separated. |
| Shareable Source | A rule set shared across collections (created by an app). | The shared source’s Shopify ID. |
How values are written
- Multiple values are pipe-separated:
summer|beach. - Prices include the currency:
50.00 USD. - Weights include the unit:
1.5 KILOGRAMS. - Categories use Shopify’s taxonomy ID, with
+descendantswhen subcategories are included:gid://shopify/TaxonomyCategory/aa-5 +descendants. - Metafield rules name the definition in the Condition Type column:
Metafield: custom.material. - When a collection’s sort order is
MANUAL, the order of the Product rows is the products’ manual order.
Troubleshooting / FAQ
My export is huge.
Manually curated collections add a row per product. Turn Include Manually Added Products off if you only need the rules and core fields.
A rule shows a long technical Condition Type I don’t recognize.
Shopify occasionally adds new condition types. Ones this tool doesn’t recognize yet are exported as-is so nothing is lost, but they can’t be re-imported until the tool is updated.
Why do Product rows show SKUs sometimes and handles other times?
By default, whole-product picks are written as the product’s handle and variant-level picks as the variant’s SKU. Set Identify Products By to SKU to write SKUs everywhere. The file only ever contains handles and SKUs — anything without a SKU falls back to its product handle.
My export failed with an access-denied error mentioning “publishedOnPublication”.
The Published field needs Shopify’s publications permission, which your store’s connection may not include yet. Untick Published in the field list and the export runs without it.