How to Use Shopify Metafields for Pricing and Product Data
Learn how to use Shopify metafields for pricing and product data — MAP prices, supplier costs, size charts, and bulk workflows that scale.
Shopify gives every product the same handful of standard fields: title, description, price, compare-at price, cost per item, SKU, vendor, tags. That works fine until it doesn't. Where do you store a MAP (minimum advertised price) from your supplier? A wholesale tier price? A care-instructions blurb? A restock date?
That's what metafields are for. They're custom fields you attach to products, variants, collections, and orders — and once you understand how to use them, they become the backbone of serious pricing and product data workflows.
What metafields actually are
A metafield is a typed key-value pair attached to a Shopify resource. Each one has a namespace (a grouping label, like custom or pricing), a key (like map_price), a type (money, number, text, date, JSON, file, and about 20 others), and a value.
So a variant of a Yeti Rambler 30 oz tumbler might carry:
pricing.map_price→ $38.00 (money)pricing.wholesale_price→ $19.00 (money)supplier.restock_date→ 2026-07-15 (date)specs.capacity_oz→ 30 (number)
The type system matters. A money-type metafield validates as currency and sorts numerically. If you stuff "$38" into a plain text field instead, you can't filter, sort, or do math on it later. Always pick the strictest type that fits.
Setting up metafield definitions
You can create one-off metafields per product, but don't. Create a definition first under Settings → Custom data → Products (or Variants). A definition enforces the namespace, key, type, and optional validation rules — like a minimum value of $0 for a price field — across your entire catalog.
A practical starter set for a DTC brand:
On variants: pricing.map_price (money), pricing.msrp (money), supplier.case_pack_qty (integer).
On products: content.size_chart (rich text or file reference), content.care_instructions (rich text), supplier.lead_time_days (integer).
Keep namespaces meaningful. pricing.* for anything money-related, supplier.* for sourcing data, content.* for storefront copy. Six months from now, you'll thank yourself.
The pricing use cases that matter most
MAP compliance. If you sell Carhartt, Lodge, or Stanley products, your dealer agreement likely sets a minimum advertised price. Store it in pricing.map_price, then check every sale price against it before a promotion goes live. A 20% sitewide sale that drops a Lodge 12" skillet below its $29.95 MAP can get your dealer account suspended — a metafield check catches that before Shopify publishes the price.
MSRP anchoring. Shopify's compare-at price is your only built-in "was" price, and you often want it free for sale events. Storing MSRP separately in a metafield means you can always restore compare-at prices accurately after a campaign ends instead of guessing what they were.
Wholesale and tier pricing. If you sell B2B without Shopify Plus, metafields can hold tier prices (pricing.tier_10_units, pricing.tier_50_units) that your theme or a wholesale app reads at checkout. One outdoor-gear merchant we know stores three price tiers per variant across 2,400 SKUs this way — all driven by metafields, no separate store.
True landed cost. Shopify's cost per item field holds one number. If you want to track first cost, freight, and duty separately — say $11.20 + $1.40 + $0.90 for an imported water bottle — metafields let you store the components and keep cost per item as the calculated total. Your margin math stays honest.
Product data use cases beyond pricing
Metafields also fix the "everything crammed into the description" problem. Size charts, materials, country of origin, dimensions, compatibility lists — each in its own typed field, rendered exactly where your theme wants it. Patagonia-style spec tables ("Fabric: 100% recycled polyester, 14.7 oz") are metafields rendered as a table, not paragraphs of HTML.
There's an SEO angle too: structured metafields feed clean data into Google Shopping feeds and theme-level structured data. A specs.material field maps directly to the material attribute in your Merchant Center feed, which improves matching on filtered Shopping queries.
Editing metafields at scale
Here's where most merchants hit a wall. The Shopify admin lets you edit metafields one product at a time, and the native bulk editor supports metafield columns only after you pin definitions — workable at 50 products, painful at 500, impossible at 5,000.
Your realistic options:
CSV via the native importer — only standard fields; metafields aren't included in the default product CSV. Dead end.
Matrixify-style spreadsheet export/import — works, but you're managing column names like Metafield: pricing.map_price [money] by hand, and one typo creates a new orphan metafield instead of updating the right one.
A bulk editor with metafield support — filter products (vendor = Stanley, price > $20), select the metafield column, and apply values or formulas across the selection in one pass. This is the only approach that survives a 3,000-SKU catalog.
Whatever tool you use, the rule is the same: back up before any bulk metafield write. Metafield overwrites don't show up in Shopify's admin timeline the way price changes do, and there's no undo.
Keep metafield data quality on your radar
Metafields fail silently. A missing map_price doesn't break your store — it just means the MAP check silently passes when it shouldn't. Treat metafield completeness like any other data-quality issue: audit which products are missing required values the same way you'd audit missing SKUs, missing costs, or missing descriptions. A monthly export-and-count takes 15 minutes and catches gaps before they cost you.
Where BulkOps fits
BulkOps treats product data quality as a first-class problem: its dashboard scores your catalog, flags priority issues like missing costs and SKUs, and the bulk editor's smart tabs (No cost set, Low margin, No description) get you to the products that need fixing in two clicks. Pair that with formula-based pricing rules that compute prices from your cost data, and automatic backups before every bulk change — so a bad metafield or pricing edit is one click from reversed. If you're managing pricing and product data across hundreds of SKUs, try BulkOps and see how much of this workflow disappears.
Try BulkOps free on your store
Everything covered in this article is built into BulkOps. Free plan for stores up to 50 products — no credit card required.
Add to Shopify — FreeWas this helpful?