Watch data and merchant configuration
A complete architectural guide to structuring watch specifications, product story blocks, native storefront filters, and merchant settings in Valmont.
Explore the live demo store: valmont-e86jwavu.myshopify.com ↗
Storefront password: valmont
Unified specification architecture
The Product Detail Page (PDP), product cards, quick view, comparison drawer, and Wrist Atelier all share a unified specification resolver:
they inspect the direct watch.<field> product metafield first. If that field is blank or unconfigured, they gracefully fall back to the corresponding field in the linked watch.profile metaobject. Using profiles is optional.
Uploading the theme ZIP does not create custom data definitions on a new Shopify store. If you manage specifications directly on products via Settings → Custom data → Products, configure the following definitions:
| Namespace & key | Shopify field type | Accepted format / usage |
|---|---|---|
watch.movement_type | Single line text | E.g. Automatic, Manual-wind, Quartz |
watch.calibre | Single line text | Manufacturer calibre designation (e.g. Calibre 12.1) |
watch.case_diameter | Decimal number | Millimetres (number only, do not append "mm") |
watch.lug_to_lug | Decimal number | Millimetres (number only, do not append "mm") |
watch.case_thickness | Decimal number | Millimetres (number only, do not append "mm") |
watch.lug_width | Decimal number | Millimetres (number only, do not append "mm") |
watch.case_material | Single line text | E.g. 316L Stainless steel, Grade 5 Titanium, Rose gold |
watch.crystal | Single line text | E.g. Sapphire with anti-reflective coating, Box sapphire |
watch.water_resistance | Single line text | Include verified rating with units (e.g. 100 m / 10 bar) |
watch.power_reserve | Single line text | Include verified unit (e.g. 70 hours); omit on quartz |
watch.frequency | Single line text | Include verified unit (e.g. 28,800 vph / 4 Hz) |
watch.jewels | Integer | Integer count of functional jewels (e.g. 27) |
watch.dial_colour | Single line text | Dial colour or finish description |
watch.strap | Single line text | Strap or bracelet material and clasp description |
watch.complications | List of single line text | Verified complications (e.g. Chronograph, Moonphase) |
watch.style | Single line text | Internal categorization for filtering (e.g. Diver, Dress, Pilot) |
watch.reference, watch.clasp, watch.weight, watch.warranty | Single line text | Optional secondary technical specifications |
Dimensions automatically format with the localized watch.mm translation string. Keep text fields accurate and translate non-default languages via Shopify's content translation workflow. Unpopulated attributes remain hidden rather than showing empty cells or zeros.
Product page and editorial story blocks
- Policy summary block: Add via product template blocks to render verified shipping, warranty, and return policies. Supports dynamic sources; empty blocks remain hidden.
watch.short_description: Standalone multi-line summary. When absent, the first 35 words of the standard product description are used as an excerpt, while preserving the full text under About this watch.- Product stories section: Reorder fit, detail, and movement blocks independently in the theme editor. Sections without content render no empty containers.
watch.wrist_image: Dedicated wrist photography file reference. Whencase_diameterorlug_to_lugexists, the contextual size guide is displayed.watch.detail_image&watch.detail_story: High-resolution macro imagery paired with rich-text craftsmanship copy. Both must be populated to render.watch.movement_story&watch.movement_image: Calibre technical narrative with optional movement photography.watch.detail_hotspots: Optional JSON array of interactive focal points on the detail visual. Accepts up to four objects containingtitle,body,x, andy(coordinates expressed as percentages from 0 to 100).
Native storefront filtering
Valmont strictly consumes Shopify's native collection.filters schema (list, boolean, and price range filters). No third-party filter app scripts are injected into your storefront.
To enable watch filtering, open the Filters section in the Shopify Search & Discovery app (or Shopify's native filter settings) and activate the product metafields: movement_type, case_diameter, dial_colour, case_material, strap, water_resistance, complications, and style.
Sorting and filtering state are managed within the same native GET request. Active tags generate native url_to_remove links, and clearing individual filters preserves active sort criteria.
Pickup availability, pricing and payments
Adding the Pickup availability block into the product template queries native Shopify store pickup locations and live inventory for the selected variant. Configure pickup under Shopify Settings → Shipping and delivery first. The theme displays real-time availability and provides a retry mechanism upon connection errors.
Regular, compare-at, and unit prices dynamically follow variant selections. The sticky bottom purchase bar reflects the active variant's payable price, and unavailable combinations gracefully disable accelerated checkout.
Homepage and interactive sections
- Wrist Atelier: Side-by-side and overlaid watch comparison against a known reference diameter. Configure reference diameters, calibrated cutout imagery, and optional measured wrist photos in the Wrist Atelier guide.
- Campaign invitation: Fully configurable announcement modal with custom campaign identifier, delay trigger, and page scroll progress threshold. Supports a manual mode for editor inspection.
- Hero showcase: High-performance layered presentation. Ensure your primary timepiece photography uses clean transparent alpha channels and color-calibrated studio lighting.
Developer CSS and build maintenance
The layout loads two generated style bundles per page while source CSS files remain organized and modular. After making changes to source CSS files in development:
# Regenerate optimized production style bundles
npm run build:styles
# Validate theme integrity and bundle freshness
npm run check
Theme ZIP installations in Shopify require no build tools. Merchant font and color settings declared in the Shopify Theme Editor take precedence.
Illustrative concept data
If you are testing store layout with sample or fictional timepieces, set the profile reference to start with DEMO-. Valmont will automatically append an explicit localized concept notice to product cards, specification matrices, quick view, and Wrist Atelier. Replace these with manufacturer-verified facts before opening commercial sales.
Tools included with the theme
Valmont builds its discovery, purchase, cart and clienteling tools into the theme with Shopify's native forms, customer tags, metafields and inventory, so there are fewer apps to install and maintain. See What's included for every tool and where it appears.