Bulk Import & Export Shopify Metafield Definitions
A metafield definition is the schema of a metafield in Shopify: its namespace and key (for example custom.size_guide), its type (single_line_text_field, number_integer, list.product_reference, …), the resource that owns it, and its validations and access settings. Definitions make metafields editable in the Shopify admin and usable in themes and filters.
Learn more about metafields in Shopify →
With DataEase, you can export metafield definitions to Excel or CSV and create them in bulk — or copy them to another store. The metafield values themselves are imported through dynamic columns on each entity, described below and on the Metafields page.
📊 How Metafields Work in DataEase
Section titled “📊 How Metafields Work in DataEase”When you export data from DataEase, metafields are shown as dynamic columns. This means each metafield gets its own column in the file, using a specific naming format:
metafield {namespace}.{name} [{type}]
Example:
Section titled “Example:”metafield global.description_tag [single_line_text_field]
This structure tells DataEase (and Shopify) which metafield you’re referring to, and in what format.
🧠 Metafield Import Logic
Section titled “🧠 Metafield Import Logic”- If a metafield is not in your import file, it will not be changed.
- If a metafield is in the file but empty, it will be deleted from Shopify.
- If a metafield has a value, it will be created or updated.
This makes it easy to manage metafields without overwriting data you don’t want to change.
🧩 Supported Metafield Types
Section titled “🧩 Supported Metafield Types”Shopify supports a wide range of metafield types. You can see the full list here:
Use these types in your column headers when importing. For example:
metafield specs.material [multi_line_text_field] metafield shipping.weight [number_decimal]
📏 Metafield Limits
Section titled “📏 Metafield Limits”Before working with metafields, be aware of the Shopify limits:
🔢 Limits per resource
Section titled “🔢 Limits per resource”- 250 definitions per resource type
- 20 pinned definitions per resource type
📦 Character limits by type
Section titled “📦 Character limits by type”| Type | Character Limit |
|---|---|
| boolean | 65,000 |
| color | 65,000 |
| date | 65,000 |
| date_time | 65,000 |
| dimension | 65,000 |
| id | 2,048 |
| json | 2,000,000 |
| link | 65,000 |
| money | 65,000 |
| multi_line_text_field | 65,000 |
| number_decimal | 65,000 |
| number_integer | 65,000 |
| rating | 65,000 |
| rich_text_field | 65,000 |
| single_line_text_field | 65,000 |
| url | 2,048 |
| volume | 65,000 |
| weight | 65,000 |
🔐 Owner types and access (Admin API 2026-07)
Section titled “🔐 Owner types and access (Admin API 2026-07)”- Inventory transfers (
TRANSFER) — metafield definitions of inventory transfers can be exported, imported, and copied between stores. Importing them needs the inventory transfers permission (read_inventory_transfers,write_inventory_transfers), which the app requests since 27 Sep 2026. Until the store owner opens DataEase and approves the updated permissions,TRANSFERrows fail with an error asking to approve them; all other rows import as usual. - Admin access (
accessAdmin) in your own namespaces (for examplecustom) — Shopify allows only one value there, so DataEase doesn’t sendaccessAdminfor such definitions and Shopify applies it itself. APUBLIC_READ/PUBLIC_READ_WRITEvalue in the file no longer causes a Shopify error. - Admin access in app namespaces (
$app,app--…) —MERCHANT_READandMERCHANT_READ_WRITEare sent as is; legacyPUBLIC_READ/PUBLIC_READ_WRITEvalues from older files are sent asMERCHANT_READ/MERCHANT_READ_WRITE.
🧰 Use Case Example
Section titled “🧰 Use Case Example”Add custom SEO tags to products:
- Export products with DataEase
- Add a new column: metafield global.title_tag [single_line_text_field]
- Enter your SEO titles in the column
- Import the updated file - your metafields are now live!
✅ Best Practices
Section titled “✅ Best Practices”- Use the correct format in square brackets for each metafield.
- Avoid overwriting important data - remove columns for fields you don’t want to change.
- Use export to back up your current metafields before making changes.
Metafields are a powerful way to extend your Shopify store’s functionality. With DataEase, you can manage them efficiently - in bulk - and without needing to write code.
Additional fields
Section titled “Additional fields”More columns DataEase supports for this entity:
accessAdmin— Admin access level for the metafield definition. Applied only to app namespaces (see Owner types and access above).accessCustomer— Customer access level for the metafield definition.accessStoreFront— Storefront access level for the metafield definition.capabilitiesAdminFilterableEnabled— Indicates if admin filtering is enabled for the metafield.capabilitiesAdminFilterableEligible— Eligibility status for admin filtering capability.capabilitiesAdminFilterableStatus— Current status of admin filtering capability.capabilitiesSmartCollectionConditionEnabled— Indicates if smart collection condition is enabled for the metafield.capabilitiesSmartCollectionConditionEligible— Eligibility status for smart collection condition capability.capabilitiesUniqueValuesEnabled— Indicates if unique values are enabled for the metafield.capabilitiesUniqueValuesEligible— Eligibility status for unique values capability.capabilitiesAnalyticsQueryableEnabled—trueto make the metafield usable in ShopifyQL analytics. Importable (true/false); store transfers copy it when it’s enabled on the source store.capabilitiesAnalyticsQueryableEligible— Whether the definition can use the analytics capability. Export only.capabilitiesCartToOrderCopyableEnabled—trueto copy the value from the cart line to the order line item. Importable (true/false); store transfers copy it when it’s enabled on the source store.capabilitiesCartToOrderCopyableEligible— Whether the definition can use cart-to-order copying. Export only.constraintsKey— Constraints applied to the metafield key.constraintsValues— Constraints applied to the metafield values.metafieldsCount— Number of metafields associated with the definition.pinnedPosition— Indicates if the metafield is pinned in the admin.metafieldsValidationStatus— Validation status of the metafields.category— Category of the metafield definition.description— Description of the metafield definition.key— Key for the metafield definition.name— Name of the metafield definition.namespace— Namespace for the metafield definition.ownerType— Type of owner associated with the metafield definition (for examplePRODUCT,CUSTOMER,TRANSFER).type— Data type of the metafield definition.validations— JSON array of validations for the metafield definition.deleteAssociatedMetafields— Indicates if associated metafields should be deleted.