Product data on Shopify bundles, badges to metafields

Product data puts your own information on a Shopify bundle, right where shoppers choose: badges on the product image, a line under the price, a text block of instructions, a note on each item in the cart. Every card, quick view, cart item, option and bundle item has fixed spots (we call them slots), and you fill each one with your own text and variables, or with a metafield. It works on all three bundle types, it is set in the editor's live preview, and like everything in Elite Bundle Builder it is free.

[image: A bundle product card with Vegan and Gluten free badges on the image, a "320 kcal · 24g protein" line under the price and an "Only 3 left" line above the add button]

What you can put in a slot

Two things, and up to three lines of them per slot.

Your own text, with variables. Type By {vendor} and every card shows its own vendor. Variables fill in each product's data as the shopper browses:

Variable Shows Example
{vendor} The product's vendor By {vendor} reads "By Hearth & Wick"
{type} The product's type {type} reads "Candle"
{sku} The selected variant's SKU SKU {sku} reads "SKU RB-12"
{inventory} How many of the selected variant are left Only {inventory} left reads "Only 3 left"
{savings} What the compare-at price saves Save {savings} reads "Save 25%"
{addon.label} The short label of each add-on on the product A "Personalise" badge on the products that take an engraving
{metafield.namespace.key} A metafield's value inside your own words {metafield.custom.calories} kcal reads "320 kcal"

A metafield on its own. Pick a product metafield and the slot shows its value: single- or multi-line text, integer, decimal, date, URL or colour, and lists of any of these. A list such as Vegan, Gluten free becomes one badge per value.

Lines about the whole bundle

The bundle cart has slots of its own, and they take cart variables instead of product ones: {count} items, the {total} after discount (add-on charges included), what the shopper has {saved}, what is {remaining} to the next discount, and the {next} discount itself.

Add {remaining} more for {next} · You save {saved} reads "Add 2 more for 10% OFF · You save $2.00", updates with every pick, and leaves only "You save $4.00" once the top tier is reached. It is the cheapest nudge toward the next tier you can add, and the bundle discounts page explains how the tiers are counted.

Where the slots are, by bundle type

Build your own bundle

Where Slots
Product card Badges top left and bottom left of the image, above the title, under the title, under the price, notes under the price, above the add button
Quick view Badges on the image, under the title, under the price, under the description, above the add button (shown while the quick view button or product add-ons are on)
Cart item A badge on the item image, above the item name, under the item name, under the item price (rows, the mobile cart and the product page drawer); a badge on each square in the slots cart
The bundle cart Under the cart title (side cart), under the items, above the cart button, with cart variables

Multi-option bundle

Where Slots
Each option's header A badge on the picked item's image, a line under the picked item
The choices On each product choice (label buttons and image or colour dropdowns), under each option's choices
The total Above the total, with cart variables

Fixed bundle

Where Slots
"In this bundle" A badge on each item image in every layout; above and under each item name in the list, grid and collapsible layouts (on hover in the thumbnail strip)
Under the list Your own text once, such as "Ships together in one box"

Three looks, chosen by the slot

Each slot has a fixed look, so a card never ends up with a clashing mix: badges (one per value, up to two per corner on a grid card, the rest folded into "+N"), lines (one per text, a list's values joined with " · "), or a text block (a paragraph per line, line breaks kept). You choose what goes in a slot; the slot decides how it looks.

Rules that keep cards clean

  • Empty data hides. Each part of a line hides on a product where its data is missing. By {vendor} · SKU {sku} reads "SKU RB-12" on a product without a vendor, so a shopper never sees a lone "By", and a line with nothing left disappears.
  • Only when stock is low. Turn it on for a line and it shows only while the selected variant has 1 to N left (N starts at 5). Only {inventory} left appears on the last few, never on a sold-out or untracked variant.
  • Lists repeat. A list metafield, or several add-on labels, repeats the line once per value.
  • Every text translates. Each line has its own Translate button, and the editor warns when a translation drops a variable.

What merchants put in them

Store Slot What it shows
Snack box or meal kit Under the price {metafield.custom.calories} kcal · {metafield.custom.protein}g protein
Snack box or meal kit Badges top left A list metafield of dietary tags: Vegan, Gluten free
Skincare routine Under the title Skin type, from a metafield
Candles and home Notes under the price Burn time and care instructions as a text block
Fashion set Under the picked item (multi-option) Fabric and fit
Personalised gifts Badges top left {addon.label}: "Personalise" on the products that take an engraving
Any store Above the add button Only {inventory} left, only when stock is low
Any store Under the cart items Add {remaining} more for {next}

The metafields on product cards guide builds the snack box example end to end, and the paid add-ons guide shows the "Personalise" badge next to a $5 engraving.

Set it up in the live preview

There is no settings page. In the bundle editor, hover a product card, the cart, an option or "In this bundle", and a small + appears at each empty slot. Click it, and a popover opens beside the slot with its name and look. Choose Add text (the variables sit under the field, a click adds one) or Add metafield, and the preview follows as you type. A line with nothing to show on a product still appears in the preview, faded, so you always see what you added. Save, and it goes live with the bundle.

A metafield needs one thing in Shopify first: its definition must have Storefront access turned on, under Settings, Custom data, Products. The metafield list marks one without it, so you know before a card comes up blank. The product data docs cover every slot and setting.

What it does not do

Product data shows on bundles: the build your own bundle page, a multi-option bundle and a fixed bundle's "In this bundle" list. It does not add badges to your theme's own collection pages or product cards. True/false, rich text, JSON, money, weight, volume, dimension, rating, date and time and reference metafields are not supported, and a metafield without Storefront access shows nothing.

Frequently asked questions

Can I show metafields on bundle product cards?

Yes. Click a slot on a card in the editor preview, pick Add metafield and choose it. Text, number, date, URL and colour metafields work, including lists, as long as the definition has Storefront access in Shopify.

Can I write my own text with product data in it?

Yes. Add text takes your own words with variables such as {vendor}, {sku}, {inventory} or {metafield.custom.calories}, filled in per product. Parts with no data on a product hide on their own.

Can I show a low stock message?

Yes. Add Only {inventory} left to a slot and turn on Only when stock is low. It shows while the selected variant has 1 to 5 left (you set the number) and hides otherwise.

Does it work on multi-option and fixed bundles?

Yes. A multi-option bundle has slots in each option's header, on its choices and above the total; a fixed bundle has them on each item of "In this bundle" and under the list.

Does it cost extra?

No. Product data is part of the one free plan, with every other feature. The pricing page has the details.

See what else a build your own bundle can do, read the features page for the full list, or install Elite Bundle Builder free.