Altera allows you to import and export custom metafields for your Shopify products, variants, customers, and other resources using spreadsheet files. This enables bulk management of additional data fields beyond Shopify's standard properties.
Column Placement
When you export data from Altera, metafield columns appear at the end of the spreadsheet, after all standard Shopify fields. This consistent placement makes it easy to locate and work with your custom metafields.
Column Naming Format
Metafield columns use a specific naming convention: Metafield: [namespace].[key]
Examples:
Metafield: custom.warranty_length
Metafield: inventory.supplier_code
Metafield: seo.meta_description
The namespace and key combination uniquely identifies each metafield in your Shopify store. If no namespace is provided in the column header, Altera defaults to using the global
namespace.
Specifying Metafield Types
You can define the metafield type by adding it in square brackets at the end of the column header: Metafield: [namespace].[key] [type]
Examples:
Metafield: specs.weight [number_decimal]
Metafield: specs.is_featured [boolean]
Metafield: specs.related_product [product_reference]
If no type is specified, Altera will automatically detect the type from existing metafield definitions in your store.
All Supported Metafield Types
Altera supports all Shopify metafield types. Here's the complete list:
Basic Types:
boolean
- True/false values
Example:true
orfalse
color
- Color values
Example:#ff0000
orrgb(255, 0, 0)
date
- Date values
Example:2024-12-25
date_time
- Date and time values
Example:2024-12-25T14:30:00
dimension
- Measurement dimensions
Example:{"value": 25.0, "unit": "cm"}
json
- JSON objects
Example:{"size": "large", "material": "cotton"}
json_string
- JSON formatted as strings
Example:"{\"size\": \"large\", \"material\": \"cotton\"}"
link
- URL links
Example:{"url": "https://example.com", "title": "Example Link"}
money
- Currency amounts
Example:{"amount": "19.99", "currency_code": "USD"}
number_decimal
- Decimal numbers
Example:19.99
number_integer
- Whole numbers
Example:42
integer
- Whole numbers (alternative)
Example:42
decimal
- Decimal numbers (alternative)
Example:19.99
rating
- Rating values
Example:{"value": 4.5, "scale_min": 1.0, "scale_max": 5.0}
string
- Text strings
Example:"Cotton blend fabric"
url
- Web URLs
Example:https://example.com
volume
- Volume measurements
Example:{"value": 500.0, "unit": "ml"}
weight
- Weight measurements
Example:{"value": 2.5, "unit": "kg"}
Text Types:
multi_line_text_field
- Multi-line text
Example:"This is a multi-line\ntext field with\nline breaks"
rich_text_field
- Rich formatted text
Example:"<p><strong>Bold text</strong> with <em>emphasis</em></p>"
single_line_text_field
- Single line text
Example:"Product care instructions"
Reference Types:
metaobject_reference
- References to metaobjects
Example:gid://shopify/Metaobject/123456789
file_reference
- File references
Example:gid://shopify/MediaImage/123456789
product_reference
- Product references
Example:gid://shopify/Product/123456789
or product handlevariant_reference
- Product variant references
Example:gid://shopify/ProductVariant/123456789
collection_reference
- Collection references
Example:gid://shopify/Collection/123456789
or collection handlepage_reference
- Page references
Example:gid://shopify/Page/123456789
or page handlemixed_reference
- Mixed type references
Example: Any valid Shopify resource GID
List Types: All basic and reference types can also be used as lists by prefixing with list.
. List values are formatted as JSON arrays:
list.boolean
- Example:[true, false, true]
list.color
- Example:["#ff0000", "#00ff00", "#0000ff"]
list.date
- Example:["2024-12-25", "2024-12-26"]
list.date_time
- Example:["2024-12-25T14:30:00", "2024-12-25T16:00:00"]
list.dimension
- Example:[{"value": 25.0, "unit": "cm"}, {"value": 30.0, "unit": "cm"}]
list.json
- Example:[{"size": "small"}, {"size": "large"}]
list.link
- Example:[{"url": "https://example.com", "title": "Link 1"}]
list.money
- Example:[{"amount": "19.99", "currency_code": "USD"}]
list.number_decimal
- Example:[19.99, 24.99, 29.99]
list.number_integer
- Example:[1, 2, 3, 4, 5]
list.single_line_text_field
- Example:["Care instruction 1", "Care instruction 2"]
list.string
- Example:["Cotton", "Polyester", "Wool"]
list.url
- Example:["https://example1.com", "https://example2.com"]
list.volume
- Example:[{"value": 500.0, "unit": "ml"}]
list.weight
- Example:[{"value": 2.5, "unit": "kg"}]
list.product_reference
- Example:["gid://shopify/Product/123", "gid://shopify/Product/456"]
list.variant_reference
- Example:["gid://shopify/ProductVariant/123"]
list.collection_reference
- Example:["gid://shopify/Collection/123"]
list.page_reference
- Example:["gid://shopify/Page/123"]
list.file_reference
- Example:["gid://shopify/MediaImage/123"]
list.metaobject_reference
- Example:["gid://shopify/Metaobject/123"]
list.mixed_reference
- Example:["gid://shopify/Product/123", "gid://shopify/Collection/456"]
SEO Metafields
Altera provides special handling for SEO-related metafields:
Metafield: title_tag
- Sets the SEO title for products or collectionsMetafield: description_tag
- Sets the SEO description for products or collections
Important: Shopify has special behavior for these fields. If you set a value that exactly matches the product title or description, Shopify will store it as empty since it's redundant. Only values that differ from the default title/description will be saved.
Deleting Metafields
To delete a metafield from a resource, leave the corresponding cell blank in the metafield column. During import, empty cells will remove the metafield from that specific resource.
Working with Metafield Data
When editing metafield values, use the appropriate data format for your metafield type:
Text fields: Plain text values
Number fields: Numeric values
JSON fields: Valid JSON format
Reference fields: Shopify resource IDs or handles
Example
Handle | Title | Metafield: custom.material | Metafield: custom.care_instructions |
shirt-1 | Cotton Shirt | Cotton | Machine wash cold |
shirt-2 | Silk Blouse | Dry clean only | |
shirt-3 | Linen Top | Linen |
In this example:
shirt-1: Both metafields will be updated
shirt-2: Material metafield will be deleted, care instructions updated
shirt-3: Care instructions metafield will be deleted, material updated