{"title":"Product - Liquid Object Reference","slug":"product-liquid-object-reference","url":"https://support.storeconnect.com/articles/product-liquid-object-reference","url_markdown":"https://support.storeconnect.com/articles/product-liquid-object-reference.md","subtitle":null,"summary":"The Product drop, exposing everything a theme needs to render a product: pricing and price book entry, variants and variant types, traits, media and images, categories, tags, related products, bundle components, stock availability, shipping dimensions, and SEO metadata.","type":"Developer_Documentation","video_url":"","keywords":"liquid, objects, Product, template, storeconnect","last_modified":"2026-08-21T07:12:35+0000","body_markdown":"## Description\n\nThe Product object contains information about a product that the Store sells.\n\n:::note\nThis object supports custom data via the `data` attribute.\n:::\n\n## Attributes\n\n| Attribute | Type | Description |\n|-----------|------|-------------|\n| `add_to_cart_text` | String | Returns the text to show on the 'Add to Cart' button |\n| `barcode` | String | Returns the value of the Barcode attribute |\n| `brand` | [Brand](brand-liquid-object-reference) | Returns the Brand of this Product |\n| `buy_it_now_text` | String | Returns the text to show on the 'Buy it Now' button |\n| `can_add_to_cart?` | Boolean | Indicates whether the Product can be added to the Cart |\n| `can_pickup?` | Boolean | Indicates whether the Product is enabled for pickup, ie Click and Collect |\n| `can_purchase?` | Boolean | Indicates whether the Product can be purchased. Accounts for stock levels, discontinued products, and general availability |\n| `can_request_quote?` | Boolean | Indicates whether the Product can be included in a quote request (if enabled on the Store) |\n| `can_select_quantity?` | Boolean | Indicates whether the quantity can be set by the customer. If false, it means the quantity is predefined and cannot be set by customer. |\n| `categories` | List[[ProductCategory](product-category-liquid-object-reference)] | Returns a list of ProductCategories this Product belongs to |\n| `condition` | String | Returns the value of the Condition attribute |\n| `content_blocks` | List[[ContentBlock](content-block-liquid-object-reference)] | Returns a list of ContentBlocks belonging to this Product |\n| `custom_forms` | List[[CustomForm](custom-form-liquid-object-reference)] | Returns a list of CustomForms for this Product |\n| `discontinued?` | Boolean | Indicates whether this Product has been discontinued |\n| `documents` | List[[Document](document-liquid-object-reference)] | Returns a list of Documents belonging to this Product |\n| `id` | String | Returns the unique id for this Product |\n| `identifier` | String | Returns the value of the Identifier attribute |\n| `image` | [Image](image-liquid-object-reference) | Returns the main image for this Product |\n| `location_groups` | List[[LocationGroup](location-group-liquid-object-reference)] | Returns a list of LocationGroups for this Product |\n| `master?` | Boolean | Returns true if this Product is a master Product |\n| `maximum_quantity` | Number | Returns the maximum quantity of this Product that can purchased in a single Order |\n| `memberships` | List[[Membership](membership-liquid-object-reference)] | Returns a list of Memberships for this Product |\n| `name` | String | Returns the value of the Name attribute |\n| `path` | String | Returns the url path for this Product |\n| `pickup_locations` | List[[StockLocation](stock-location-liquid-object-reference)] | Returns a list of Stock Locations this product can be picked up from |\n| `pricebook_entry` | [PricebookEntry](pricebook-entry-liquid-object-reference) | Returns the PricebookEntry for this Product |\n| `pricing` | [ProductPricing](product-pricing-liquid-object-reference) | Returns the Pricing object for this Product |\n| `product_code` | String | Returns the value of the Product Code attribute |\n| `related_products` | List[[Product](product-liquid-object-reference)] | Returns a list of Related Products |\n| `search_description` | String | Returns the value of the Search Description attribute |\n| `slug` | String | Returns the value of the Slug attribute |\n| `supplier_code` | String | Returns the value of the Supplier Code attribute |\n| `tags` | List[[Tag](tag-liquid-object-reference)] | Returns a list of Tags for this Product |\n| `unavailable_text` | String | Returns the text to display when the Product is unavailable |\n| `upc` | String | Returns the value of the UPC attribute |\n| `url` | String | Returns the complete url for this Product |\n| `variant?` | Boolean | Returns true if this Product is a variant |\n\n## Bookings\n\n| Attribute | Type | Description |\n|-----------|------|-------------|\n| `bookable?` | Boolean | Indicates whether the Product is a bookable Product |\n| `product_bookable_locations` | List[[ProductBookableLocation](product-bookable-location-liquid-object-reference)] | Returns a list of ProductBookableLocations for this Product |\n\n## Bundles\n\n| Attribute | Type | Description |\n|-----------|------|-------------|\n| `available_only_in_bundle?` | Boolean | Indicates whether this Product is available on product bundles only |\n| `bundle_anchor?` | Boolean | Indicates whether this Product is an anchor product in the Product Bundle |\n| `bundle_has_sufficient_stock?` | Boolean | Indicates whether this Product bundle has sufficient stock. Enables the  input in the UI by default |\n| `bundle_lead?` | Boolean | Indicates whether this Product is the lead product in a bundle |\n| `bundle_price_strategy` | String | Returns the pricing strategy for this Product Bundle |\n| `contained_in_bundles` | List[[Product](product-liquid-object-reference)] | Returns a list of available bundles for this Product |\n| `has_nested_bundles?` | Boolean | Indicates whether this Product has nested bundles |\n| `initial_bundle_total` | Number | Calculated total price for this Product Bundle based on strategy |\n| `is_bundle?` | Boolean | Indicates whether this Product is a bundle |\n| `product_features` | List[[ProductFeature](product-feature-liquid-object-reference)] | Returns a list of any ProductFeatures for this Product |\n\n## Bundle Components And Groups\n\n| Attribute | Type | Description |\n|-----------|------|-------------|\n| `optional_component_groups` | List[[ComponentGroup](component-group-liquid-object-reference)] | Returns a list of optional ComponentGroups for New Product Bundle |\n| `product_components` | List[[ProductComponent](product-component-liquid-object-reference)] | Returns a list of ProductComponents for New Product Bundle |\n| `required_component_groups` | List[[ComponentGroup](component-group-liquid-object-reference)] | Returns a list of required ComponentGroups for New Product Bundle |\n\n## Media\n\n| Attribute | Type | Description |\n|-----------|------|-------------|\n| `documents` | List[[Document](document-liquid-object-reference)] | Returns a list of Documents for this Product |\n| `files` | List[[File](file-liquid-object-reference)] | Returns a list of Files for this Product |\n| `images` | List[[Image](image-liquid-object-reference)] | Returns a list of Images for this Product |\n| `media` | List[[Medium](medium-liquid-object-reference)] | Returns a list of Media for this Product |\n| `videos` | List[[Video](video-liquid-object-reference)] | Returns a list of Videos for this Product |\n\n## Restricted Products\n\nSome attributes related to Restricted Products\n\n| Attribute | Type | Description |\n|-----------|------|-------------|\n| `approval_status` | String | Returns the approval status of the current customer for this Product. One of: approved, completed, expired, pending, or none. |\n| `current_approved_quantity` | Number | The maximum quantity of this Product that the current customer is allowed to purchase. If this Product is not restricted, this value will be blank. |\n| `pending_approval_date` | Timestamp | Returns the date that this customer's approval starts. If they have no pending approval, this value will be blank. |\n| `restricted_text` | String | Returns the text to show to indicate this Product is restricted |\n| `restricted?` | Boolean | Returns true if this Product is restricted. |\n\n## Rich Content Sections\n\n| Attribute | Type | Description |\n|-----------|------|-------------|\n| `downloads_content` | String | Returns the content of the Downloads section as rich text |\n| `downloads_label` | String | Returns the label to use for the Downloads section |\n| `features_content` | String | Returns the content of the Features section as rich text |\n| `features_label` | String | Returns the label to use for the Features section |\n| `specifications_content` | String | Returns the content of the Specifications section as rich text |\n| `specifications_label` | String | Returns the label to use for the Specifications section |\n| `summary_content` | String | Returns the content of the Summary section as rich text |\n| `support_content` | String | Returns the content of the Support section as rich text |\n| `support_label` | String | Returns the label to use for the Support section |\n| `warranty_content` | String | Returns the content of the Warranty section as rich text |\n| `warranty_label` | String | Returns the label to use for the Warranty section |\n\n## SEO\n\nThese are some attributes that are useful for SEO purposes\n\n| Attribute | Type | Description |\n|-----------|------|-------------|\n| `meta_description` | String | Returns the value of the Meta Description attribute |\n| `meta_keywords` | String | Returns the value of the Meta Keywords attribute |\n| `meta_title` | String | Returns the value of the Meta Title attribute |\n| `social_image` | [Image](image-liquid-object-reference) | Returns the image to be used when sharing this Product |\n\n## Shipping\n\nIf the Store is enabled for Shipping, Products that can ship will have been assigned to one of the Store's shipping methods\n\n| Attribute | Type | Description |\n|-----------|------|-------------|\n| `can_ship?` | Boolean | Indicates whether the Product is able to be shipped via one of the Store's shipping methods |\n| `shipping_methods` | List | Returns a list of shipping methods that are available for this Product |\n\n## Stock\n\n| Attribute | Type | Description |\n|-----------|------|-------------|\n| `available_for_pickup?` | Boolean | Indicates whether the Product has stock available for pickup |\n| `on_backorder?` | Boolean | Indicates whether the Product will be on backorder when purchased. Only applicable if track_inventory? is true |\n| `out_of_stock_text` | String | Returns the text to display when the Product is out of stock |\n| `out_of_stock?` | Boolean | Indicates whether the Product is out of stock |\n| `total_available_to_sell` | Number | Returns the total quantity of this Product available to sell |\n| `track_inventory?` | Boolean | Indicates whether this Product tracks stock or not. If true, it means it is possible for this Product to be out of stock |\n\n## Subscriptions\n\n| Attribute | Type | Description |\n|-----------|------|-------------|\n| `fixed_term_subscription?` | Boolean | Indicates whether the subscription is a fixed-term subscription |\n| `subscription?` | Boolean | Indicates whether this Product is purchaseable as a subscription |\n\n## Traits\n\n| Attribute | Type | Description |\n|-----------|------|-------------|\n| `trait_groups` | List[[TraitGroup](trait-group-liquid-object-reference)] | Returns a list of TraitGroups for this Product |\n| `traits` | List[[Trait](trait-liquid-object-reference)] | Returns a list of Traits for this Product |\n\n## Master Variants\n\nThese attributes are only applicable to master Products\n\n| Attribute | Type | Description |\n|-----------|------|-------------|\n| `variant_documents` | List[[Document](document-liquid-object-reference)] | Returns a list of Documents for variant Products for which this Product is the master |\n| `variant_files` | List[[File](file-liquid-object-reference)] | Returns a list of Files for variant Products for which this Product is the master |\n| `variant_images` | List[[Image](image-liquid-object-reference)] | Returns a list of Images for variant Products for which this Product is the master |\n| `variant_media` | List[[Medium](medium-liquid-object-reference)] | Returns a list of Media for variant Products for which this Product is the master |\n| `variant_types` | List[[VariantType](variant-type-liquid-object-reference)] | Returns a list of VariantTypes for this variant Product |\n| `variant_videos` | List[[Video](video-liquid-object-reference)] | Returns a list of Videos for variant Products for which this Product is the master |\n| `variants` | PaginatedList[[Product](product-liquid-object-reference)] | Returns a list of variant Products for which this Product is the master |\n\n## Variants\n\nThese attributes are only applicable to variant Products\n\n| Attribute | Type | Description |\n|-----------|------|-------------|\n| `master` | [Product](product-liquid-object-reference) | Returns the master Product for this variant Product if there is one |\n| `variant_choices` | List[[VariantChoice](variant-choice-liquid-object-reference)] | Returns a list of VariantChoices for this variant Product |\n| `variant_options` | List[[VariantOption](variant-option-liquid-object-reference)] | Returns a list of VariantOptions for this variant Product |\n| `variant_title` | String | Returns the value of the Variant Title attribute |\n\n## Weights\n\nThese attributes are related to the weight of the Product\n\n| Attribute | Type | Description |\n|-----------|------|-------------|\n| `shipping_dimensions_unit` | String | Returns the unit of measure for the Product's shipping dimensions |\n| `shipping_height` | Number | Returns the Product's shipping height |\n| `shipping_length` | Number | Returns the Product's shipping length |\n| `shipping_weight` | Number | Returns the Product's shipping weight |\n| `shipping_weight_unit` | String | Returns the unit of measure for the Product's shipping weight |\n| `shipping_width` | Number | Returns the Product's shipping width |\n\n## Available on\n\n- [CartItem - Liquid Object Reference](cart-item-liquid-object-reference) — `product`\n- [ComponentPricing - Liquid Object Reference](component-pricing-liquid-object-reference) — `anchor_product`, `component_product`\n- [ContentBlock - Liquid Object Reference](content-block-liquid-object-reference) — `products`\n- [Discount - Liquid Object Reference](discount-liquid-object-reference) — `product`\n- [Global - Liquid Object Reference](global-liquid-object-reference) — `all_products`, `current_product`\n- [Membership - Liquid Object Reference](membership-liquid-object-reference) — `product`, `products`\n- [MenuItem - Liquid Object Reference](menu-item-liquid-object-reference) — `product`\n- [OrderItem - Liquid Object Reference](order-item-liquid-object-reference) — `product`\n- [PricebookEntry - Liquid Object Reference](pricebook-entry-liquid-object-reference) — `product`\n- [ProductApproval - Liquid Object Reference](product-approval-liquid-object-reference) — `product`\n- [ProductBookableLocation - Liquid Object Reference](product-bookable-location-liquid-object-reference) — `product`\n- [ProductCategory - Liquid Object Reference](product-category-liquid-object-reference) — `products`\n- [ProductComponent - Liquid Object Reference](product-component-liquid-object-reference) — `anchor_product`, `component_product`\n- [ProductOption - Liquid Object Reference](product-option-liquid-object-reference) — `bundled_product`\n- [ProductPricing - Liquid Object Reference](product-pricing-liquid-object-reference) — `product`\n- [PromotionScope - Liquid Object Reference](promotion-scope-liquid-object-reference) — `product`\n- [SearchResult - Liquid Object Reference](search-result-liquid-object-reference) — `products`\n- [Subscription - Liquid Object Reference](subscription-liquid-object-reference) — `product`\n- [Surcharge - Liquid Object Reference](surcharge-liquid-object-reference) — `product`\n- [VariantOption - Liquid Object Reference](variant-option-liquid-object-reference) — `variant`"}