Shopify ‐ Metafields & Metaobjects
Definitive list of all metafields and metaobjects Bigscreen implements. These data structures are used by Builder.io, Arda, and/or Shopify automations (like Flow). Metafields and metaobjects enable us to drive the storefront and internal logistics with custom data particular to our use case.
Auto-generated token for use with the Beyond eyetracking client beta software. Should only ever be changed by automations like the ET Token Automation Flow and the ET Token Gen - Flag Triggered Flow.
Auto-generated date indicating when the eyetracking token is expected to expire. Should only ever be changed by automations like the ET Token Automation Flow and the ET Token Gen - Flag Triggered Flow.
Defaults to false. Set to this true and save the change to have a new token generated by the "Flag Triggered Flow". The flow works by monitoring the "ET Token Auto Refresh (DO NOT DELETE)" customer segment, which automatically pulls in customer profiles where this metafield is true. The metafield is then set to false.
A phrase or string of characters displayed before the price. If language is Japanese, added after instead with the yen sign removed.
Small message to display directly underneath the price. Defined per-currency. Example: {"CURRENCY_CODE": "Text to display"}
"Translatable Description". This exists as a Builder.io workaround. It fails to fetch translated store descriptions (like Japanese)
Header label text of the variant selector section. Only shows if product has the "show-variants" tag
Description text of the variant selector section. Only shows if "show-variants" tag present
Text to display in the "fine print" section of the product page
Add-to-cart button text to use when "shipping waves JSON" is not in use (DEFAULT: "Order now")
Add-to-cart button text to use when product is sold out + on backorder. Does not apply to HMD SKUs
A block of text which displays at the bottom of the page just above the store footer.
A list of specifications to display in the second section of the product's store page. Example:
{
"Minimum requirements": [
{
"title": "PC",
"data": "Windows 10 or 11"
},
{
"title": "Tracking",
"data": "SteamVR Base Stations (Version 1.0 or 2.0)"
}
],
"Tech specs": [
{
"title": "Weight",
"data": "127 g (headset only)"
},
{
"title": "Length",
"data": "143.1 mm (5.63 in)"
}
]
}
Threshold for disabling the "Add to cart" button for the product
Set FALSE to hide the product's "quantity" field in the cart
One or more other products which should affect the cart QTY count of this product
Dictates how this product is rendered in the cart when its line item is an addon. Set to an instance of the Addon Type metaobject.
PRIMARILY USED FOR BS1―mostly deprecated. Dynamic projected ship date for markets in wave 1. List of: {soldMinimum, etaText}
PRIMARILY USED FOR BS1―mostly deprecated. Dynamic projected ship date for markets in wave 2. List of: {soldMinimum, etaText}
PRIMARILY USED FOR BS1―mostly deprecated. Dynamic projected ship date for markets in wave 3. List of: {soldMinimum, etaText}
Determines what Arda product will be required to fulfill the resulting Big Order.
A handle meant to help target the selector button for CSS. Is assigned to the <label> element's data-handle attribute.
Displayed beside variant name in the selector button. Product must have the "variants-large" tag.
Note: Is a list. Any list entries that are
will be hidden for mobile and tablet layouts.
Optional. Text displayed in a dedicated div underneath the variant selection section.
Optional URL. If set, a "Learn more" link appears in the info box.
Projected ship date for the product. If addon, influences the ship date presented to the customer.
LEGACY FALLBACK (since Sep 2026) — superseded by eta_text as the display source; still read when a variant has no eta_text. A simplified wording of the ship date. Will be conveyed to customers. I.e.: 4/1/25 -> "Q2 2025"
Ordered list of Localized String metaobjects composing this variant's baseline ETA wording (e.g. [range-1-2, unit-business-days] -> "1-2 business days" / "1〜2営業日"). Replaces free-text ship_msg so ETA wording is translated once per fragment instead of per variant. See ETA-SYSTEM.md in the theme repo.
Sales qty milestones that, once met, update this item's projected ship date and ship date msg. Each entry is an instance of the Shipping Milestone metaobject.
Note: The shipping milestones feature only works if the product variant is set to
Track quantity
Defines the addons presented to the user on this product's store page. Each Addon Group is an instance of the Addon Group metaobject.
Optional. Text displayed inside the addon selection button.
Optional. Overrides the selection button price display with static text.
Optional. Adds a superscript number after the addon name, and a matching fine print section underneath the addon group
One or two colors used for the addon's color swatch. Only relevant if its Addon Type presents w/swatches.
When set to true, this addon will not affect its parent product's estimated ship date/ship message
If any variants listed are present as addons on the page, they will be de/selected in tandem
Optional. Chip text displayed inside the addon selection card (i.e. "Immersive sound", "Made to your prescription"). Hidden automatically if it matches the variant's addon.price_text (prevents "Included" twice).
Set TRUE to render the callout chip in the violet accent style (i.e. Custom-Fit Cushion, Halo Mount). False/unset = grey.
Metaobjects which primarily exist as a hub for store text. Facilitates centralized translation via Translate & Adapt. Each of these only has one instance, typically named: "LIVE".
Strings used in the header. Also includes:
- Lists of
.marquee_stringfor USA Only vs. Outside USA - Marquee scrolling speed
- Values for the Dev Marquee. It is used for prototyping new marquee setups before they go live.
Strings used on the product page and the storefront product labels.
Strings used in the prescription lens data entry form before the prescription lenses product is added to cart.
Strings used in the slide-out cart. Also includes the ETA composition helpers (since Sep 2026):
-
eta_month_format— strftime pattern for month-style ETAs rendered from an ETA date (EN%B %Y, JA%Y年%-m月) -
eta_estimated_prefix— prefix for the ships-separately ETA value (ENEstimated, JA予定:) -
prop_addon_for/prop_ships_separately— localized line-item property KEYS for the buyer-visible "Addon for" / "Ships separately" props (JAアドオン対象/別途出荷). Machine logic keys on the hidden_ships_separatelyprop, never these labels.
UNUSED
Each addon group is a list of variants to be made available on product pages where the group is assigned.
Used internally for semantic id of specific addon groups. I.e.: "Shells - BS2E"
Choose an addon type. Affects how the group options are presented on the product page. Is an instance of the Addon Type metaobject.
If true, the group is multiple-select. Checkboxes appear in addon selection boxes.
If true, adds all of the group's addon variant images to the slider. Selecting an addon scrolls the slider to its corresponding image.
Note: When selecting a variant on the product page (i.e. headset model), this behavior is default ON for variants with assigned images. Additionally, it is ensured that no duplicate images will be added to the list.
All addon product variants available in the addon group
Optional. Variants listed here will default to selected. Non-toggleable groups only select the first entry.
Optional. Variants listed here do not have an interactable state.
Optional. Variants listed here will never become a line item when added to order. Chosen ephemeral variants end up among the hidden line item properties on the parent product.
Addons which can be associated with other products and displayed on their product pages.
Internal use only. The name for the addon type
Key that will end up in the order's line items, i.e. "_shell_variant". START WITH UNDERSCORE unless you want this property to show during checkout!
Label text for the header of any addon group with this addon type.
Optional. Description text displayed beneath the header for an addon group of this addon type.
How addon options of this addon type are presented to the user. Choices: Color Swatch, Product Photo, Variant Name, Link Card.
Note:
Link Cardis special: the configurator's option loop SKIPS these groups and renders the group once as an external link card (the LensAdvizor prescription hand-off) — it is never purchasable in-configurator. Used by the "Lenses - BS2" addon group.
Informs how addons of this addon type should be presented in the cart
Whether or not products of this addon type should show their price in the cart
List of other property keys that are hard-coded for this addon type. ONLY INFORMATIONAL―does not meaningfully drive automation anywhere.
One reusable, translated fragment of composed store text (an "ETA Part"). ETA wording is composed from ordered lists of these instead of free text, so a fragment is translated once and reused everywhere. Publishable: only ACTIVE entries are visible to the theme. Full design: ETA-SYSTEM.md in the theme repo.
Admin-internal name. Never displayed, never translated. I.e.: "Range: 1-2", "Unit: business days"
The fragment shown to customers, translated per locale. I.e.: "1-2" / "1〜2", "business days" / "営業日"
yes = a space is emitted between this part and the next during composition. Translated per locale (EN typically yes, JA no). Any value other than yes means no space.
Warning: an unset translation falls back to the English value — when translating a part, set BOTH
contentANDspace_afterin the same Translate & Adapt pass, or the locale inheritsyesand gains a stray space.
Targeted ETA for one model variant, optionally scoped to an addon combination. A matching ACTIVE override replaces the bundle's computed estimate outright. Multiple matching overrides contend: most addons matched wins, ties broken by latest eta_date. Publishable: DRAFT = staged/invisible, ACTIVE = live (this is the automation staging + kill switch).
Internal use only. Convention: <model> [+ addons] -> <ETA>. I.e.: "2e + Halo -> Sep 2026"
The model variant this override targets. Deliberately single (not a list), so an override's scope is always unambiguous.
Optional. ALL listed addon variants must be selected for the override to match; extra unlisted addons don't break the match. Empty = matches the model regardless of addons. Ships-separately addons count for matching.
Optional projected ship date. Missing = treated as epoch in latest-date contests. Required in practice when eta_text is empty (month rendering needs it).
Ordered list of Localized String parts composing the displayed ETA. Empty = the theme renders the month of eta_date per locale (via cart.live.eta_month_format).
Managed by Bigsuite (since 2026-09-04). The store leadtime agent (Bigsuite → Orders → Store Leadtimes) owns every
eta_overridewhose handle starts withbigsuite-— one per Beyond 2 model + shell combination, plusbigsuite-bs1afor the Audio Strap (no addons) — and creates numericlocalized_stringrange parts (range-1-5, JA1〜5) as needed. Approved changes are written within a minute; a manual edit to abigsuite-*entry is overwritten on the next approved change. Other overrides on those models are left alone and flagged in Bigsuite. Kill switch (DRAFT everything managed) and the rulebook:docs/ops/store-leadtimes.mdin the bigsuite repo.
Product sales qty milestone. Once the designated sales threshold is passed, the product's estimated shipping date is updated.
Internal use only. Should convey the target product and milestone qty, i.e. "BS2: Qty 5000 -> 08/2025"
Sales quantity to be met before the milestone's date overrides the product's existing ship date
Ship date that will be assigned to the product once the sales threshold is passed
Text to simplify the conveyed set date. Will show in user-facing elements like buttons and divs. Example for 04/01/2025 -> "Q2 2025"_
CURRENTLY UNUSED. Originally intended to populate images for the BS2 homepage's scrolling optics animation, but Liquid can't be used in that context.
INCOMPLETE. Meant to force a refresh on products' automated shipping dates via the Shipping Milestone system.
UNUSED. Old idea stub for dynamic, translatable email sections.
UNUSED. Intended to be constituents of an Email Template.
UNUSED. Intended to be used within Shopify emails to drive dynamic generation for the body.
UNUSED. Intended to help debug dynamically formatted emails.