Relationships
Products do not exist in isolation. A tent has a footprint. A harness has compatible belay devices. A sofa has a matching armchair. Relationships make these connections structured, navigable, and mach
OVERVIEW
The Relationships field creates structured, programmatic links between product records in Shopify. Where Compatibility / Context captures named compatibility in human-readable text, Relationships uses Accentuate's Metaobject or product reference field types to create direct, navigable links between a product and its related products — accessories, variants, complementary items, replacement parts, or products in the same collection or family.
Relationships are the data architecture of cross-selling, upselling, and 'complete the set' experiences. They power 'Pairs well with', 'Also in this range', 'Replacement part for', and 'Frequently bought with' features without relying on algorithmic approximation or manual recommendation configuration. A product linked to its accessories via structured relationships will always surface those accessories — regardless of sales history, purchase patterns, or recommendation engine configuration.
BUSINESS VALUE
Why this field matters
Structured product relationships drive accessory and add-on attachment rates — the most reliable way to surface relevant cross-sells is to define them explicitly
'Complete the set' and 'Also in this range' features powered by explicit relationships outperform algorithmic 'frequently bought together' for new or low-traffic products
Replacement parts and consumables are only discoverable if the relationship between the part and the parent product is structured data — search and algorithm cannot reliably surface this
AI recommendation systems use structured relationships as high-confidence signals — an explicitly linked relationship is treated as authoritative compared to inferred associations
Product family management is only feasible at scale if family membership is structured data — 'all products in the Alpine Collection' cannot be maintained manually across thousands of SKUs
Seasonal and editorial range management ('shop the look', 'kit builder') relies on structured relationships to assemble product sets programmatically
ACF SETUP
How to configure this field in Accentuate Custom Fields
Where
ACF dashboard → Templates tab → Product scope → Add new field
Label
Relationships
Name / Key
relationships
Namespace
accentuate (default)
Field type
Shopify >> Product reference (List) — for direct product links
Multi-value
Yes — a product typically has multiple related products
Field type guidance: Use 'Shopify >> Product reference (List)' to create direct links to other product records. This enables Liquid to access the full product object for each related product — title, image, price, URL, and all metafields — without additional API calls. For more complex relationship structures (e.g. linking products with relationship type labels), use an ACF Metaobject with fields for the related product reference and the relationship type.
STEP-BY-STEP IN ACF
Open ACF, go to Templates tab and select the Product scope
Click 'Add new field'
Label: 'Relationships' — Key auto-fills as 'relationships'
Namespace: leave as 'accentuate'
Field type: Shopify >> Product reference (List)
Enable 'Allow multiple selections' — most products have multiple relationships
Click Done, then Save
For each product, link to all related product records that a customer would benefit from discovering — accessories, matching items, replacement parts, complementary products
ACF Metaobject approach (advanced): For catalogues where relationship type matters (distinguishing 'accessory' from 'replacement part' from 'matching item'), create a Relationship Metaobject with fields: related_product (Product reference) and relationship_type (Single-line text). Reference this Metaobject from the product template. This approach enables type-specific relationship rendering on the storefront.
REFERENCE VALUES
Relationship types — these describe the nature of the relationship, not the field values themselves
Relationship type
When to use
Accessory
Products designed to be used with or enhance the parent product — tent footprints, helmet accessories, bike computer mounts
Matching item
Products from the same design family — matching sofa and armchair, coordinating bedding sets, same-collection colour variants
Replacement part / Consumable
Parts, filters, batteries, cartridges, or components designed to replace a worn or spent element of the parent product
Upgrade / Next model
The successor or upgraded version of a product — directs customers upgrading to the current generation
Frequently bought together
Products that editorial or data analysis identifies as commonly purchased together — editorially curated, not algorithmically determined
Complementary product
Products that serve different but related functions in the same use context — a sleeping bag and a sleeping mat; a jacket and base layer
Part of set / Bundle
Products that are sold or used together as a defined set — a tent bundle including tent, footprint, and stuff sack
Superseded by
The replacement for a discontinued product — helps customers find the current equivalent
Same product, different variant
Colour, size, or configuration variants sold as separate product records — links variants for discovery and comparison
Required companion
Products that are required for the linked product to function — a product that requires a separately sold hub, base unit, or power source
BEST PRACTICES
Make relationships reciprocal wherever possible — if Product A links to Product B as an accessory, Product B should link back to Product A as a parent product
Limit relationships to genuinely relevant products — 15 linked products on every product page creates noise, not discovery
Maintain relationships when products are discontinued: replace discontinued related products with their successors rather than leaving dead links
For complex catalogues, use a Metaobject-based approach with relationship type labels — this allows the storefront to render 'Accessories', 'Spare Parts', and 'Also in this range' as separate, labelled sections
Review relationships during seasonal catalogue updates — a relationships audit is part of good catalogue hygiene
COMMON MISTAKES
Creating one-directional relationships — if the tent links to the footprint but the footprint does not link back to the tent, half the relationship value is lost
Linking too many products — a product page with 20 related products is overwhelming; 3 to 8 curated relationships outperform a comprehensive list
Not maintaining relationships when products are discontinued — broken or irrelevant relationships erode trust and create customer service workload
Confusing relationships with compatibility: 'This tent is compatible with this footprint' is compatibility text; a direct product record link from the tent to the footprint product is a relationship
Using relationships as a substitute for proper variant configuration — if two items are genuinely the same product in different colours, they should be variants, not separately related products
IN CONTEXT
3-Season Backpacking Tent — 2 Person
Relationships
Tent Footprint (Accessory), Tent Repair Kit (Accessory), Tent Inner (Replacement part), Sleeping Bag — -5°C (Complementary product), Sleeping Mat (Complementary product)
Compatibility / Context
Compatible with [Brand] Footprint Model TF2, Requires tent pegs (not included)
Activity
Camping, Hiking, Mountaineering
Weather suitability
Waterproof, Windproof, Three-season
DEVELOPER IMPLEMENTATION
Liquid note: Shopify >> Product reference (List) — use .value to get the array of product objects. Each item in the array is a full Shopify product object, giving you access to all product fields and metafields without additional API calls.
Liquid — Storefront Rendering
{% comment %}
Relationships — Shopify >> Product reference (List)
Namespace: accentuate | Key: relationships
Renders full product objects — access title, image, price, URL
{% endcomment %}
{% assign related = product.metafields.accentuate.relationships.value %}
{% if related != blank %}
<div class="related-products">
<h3>Goes well with</h3>
<div class="related-grid">
{% for related_product in related %}
<a href="{{ related_product.url }}" class="related-card">
<img src="{{ related_product.featured_image | img_url: '300x' }}"
alt="{{ related_product.title }}">
<span>{{ related_product.title }}</span>
<span>{{ related_product.price | money }}</span>
</a>
{% endfor %}
</div>
</div>
{% endif %}
Pro tip: For the Metaobject-based approach, structure your relationship rendering into labelled sections: 'Accessories for this product', 'Replacement parts', 'Also in this range'. This transforms the related products section from a generic recommendation strip into a structured, navigable product ecosystem — significantly increasing attachment rates for accessories and consumables.
SEE ALSO
Compatibility / Context — text-based compatibility descriptions; the human-readable counterpart to structured product reference relationships
Tags (controlled) — collection membership as an alternative to explicit product-level relationships for editorial grouping
Key attributes — for products where the relationship to a parent product or system is a key selling point, surface it as a key attribute
Full ACF documentation: help.accentuate.io | Metafield Definitions → Fields → Field data type → Shopify field types
Last updated