Product vertical
Home, garden and furniture
Home and furniture feeds live or die on dimensions and shipping. Shoppers need to know whether a sofa fits before they click, channels use product dimensions to show it, and oversized delivery costs have to be expressed in the feed rather than discovered at checkout.
Categories this covers
The Google product taxonomy branches these rules apply to. Match your own products against these paths before assuming the extra requirements are yours.
- Furniture
- Home & Garden
- Home & Garden > Decor
- Home & Garden > Kitchen & Dining
- Hardware > Building Materials
Attributes this vertical changes
These sit on top of the attributes every feed needs. A requirement shown here applies because of the category, not because of the channel.
| Attribute | Requirement here | Why |
|---|---|---|
| product_length | Recommended | Furniture is bought against the space it has to fit. Dimensions are what let a shopper decide, and what stop a return that costs more than the margin. |
| product_width | Recommended | Part of the same dimension set. Submitted with an explicit unit, since a number alone is ambiguous between centimetres and inches. |
| product_height | Recommended | Completes the dimension set and is the measurement that decides whether an item passes through a doorway. |
| shipping_weight | Required in some cases | Required wherever shipping is calculated by weight. Oversized goods are the case where a wrong value costs real money rather than a little accuracy. |
| shipping | Required in some cases | Carries per-region delivery costs. Furniture rates rarely follow a store's standard shipping rules, so overriding them per item is normal here. |
| item_group_id | Required in some cases | Required where finish, size and configuration are variants, which covers most furniture and a great deal of homeware. |
| unit_pricing_measure | Required in some cases | Applies to goods sold by measure, such as flooring by the square metre, paint by the litre or fabric by the metre. |
| material | Recommended | Oak, steel, linen and so on. Heavily used as a filter in this vertical, and usually present somewhere in the product data already. |
What catches home, garden and furniture stores out
Dimensions live in the description as prose
Almost every furniture catalogue states its measurements in the product description, formatted for a human: "W120 x D80 x H75cm". Channels want three separate values with units. Parsing the description works until the first product that lists assembled and flat-packed dimensions, or gives a range, and both are common.
Shopify weight is one number for a multi-box product
A dining set ships as four parcels. Shopify holds one weight per variant, so the value is either the total or one box, and the feed cannot tell which. Where shipping is calculated by weight, that ambiguity is the difference between a delivery cost that works and one that loses money on every order.
Standard shipping rates do not survive oversized goods
A store-wide flat rate configured for parcels quietly applies to a wardrobe. The feed needs the item-level shipping override for oversized products, and the values have to come from wherever the store actually holds its delivery bands, not from the checkout default.
Finish variants look like colour and are not
Oak, walnut and white are finishes rather than colours, but they occupy the colour attribute because that is what channels filter on. The useful mapping normalises the finish to a colour for filtering while keeping the finish name in the title, where shoppers search for it.
Made-to-order lead times are invisible in the feed
Furniture is frequently sold on a six-to-eight-week lead time with no stock on hand. Availability then reads as out of stock on an item you are actively selling, so it has to be derived from the inventory policy rather than the quantity, and long lead times belong in the description rather than left implied.
Where these values come from in Shopify
Shopify has a field for some of these and nowhere to put the rest. Both cases are worth knowing before you start mapping.
- product_length
- Best from dimension metafields. Parsing the description is the common fallback and needs a rule for assembled versus packed measurements before it can be trusted.
- shipping_weight
- From the variant weight, with a per-product override where an item ships as several parcels and the single stored value is misleading.
- shipping
- From a metafield holding the delivery band for oversized items, mapped per region. Shopify's checkout rates are not exposed per product in a form a feed can read.
- material
- Usually a metafield or a variant option where finish is sold as an option, and often reliable enough to read directly.
- availability
- From inventory quantity combined with the inventory policy, so made-to-order and pre-order items read as in stock rather than unavailable.
Frequently asked questions
Do furniture feeds need product dimensions?
They are recommended rather than required, and they are what makes the listing work. Shoppers buy furniture against the space they have, so the dimensions decide both the click and whether the item comes back.
How do I handle shipping costs for oversized items in a feed?
Use the item-level shipping attribute to override the store-wide rate per region. A flat rate configured for parcels applies to a wardrobe otherwise, and the difference is absorbed on every order.
Where should furniture dimensions come from in Shopify?
Metafields, ideally. They are almost always written into the description instead, and parsing that breaks on products that state both assembled and flat-packed measurements.
How do I feed a made-to-order sofa with no stock?
Derive availability from the inventory policy as well as the quantity, so an item that allows backorders reads as in stock. Put the lead time in the description rather than leaving a shopper to find it at checkout.
Attributes involved
- item_group_id The item_group_id attribute groups the rows that are variants of the same product, so a channel can show one listing with a size or colour picker instead of several unrelated listings. On Shopify the natural source is the product ID, shared by every variant row generated from that product.
- availability The availability attribute tells a channel whether an item can be bought right now, using a fixed vocabulary rather than a stock count. On Shopify it cannot be read from inventory quantity alone, because a variant that does not track inventory or that allows overselling is purchasable at zero quantity.
- price The price attribute is the item's full price before any discount, submitted as a number followed by an ISO 4217 currency code. It must match what a shopper sees on the landing page in that market, including whether tax is included, which is why multi-market Shopify stores so often trip the price mismatch disapproval.
Errors this vertical runs into
- Mismatched value: availability The availability mismatch error means the feed says an item is purchasable but the crawled landing page suggests otherwise, or the reverse. On Shopify it is usually a stale feed after a sell-out, or an availability value derived from inventory quantity alone without accounting for variants that do not track inventory or that allow overselling.
- Mismatched value: price The price mismatch error means the price in the feed does not agree with the price the channel found when it crawled the landing page. On Shopify the three usual culprits are a feed that has not regenerated since a price change, a link pointing at the wrong market's storefront, and a tax convention difference between the feed and the displayed price.
Related concepts
Channels this applies to
- Google Shopping Google Shopping is the surface where Google displays product listings from a merchant's catalogue, fed by a product feed uploaded to Google Merchant Center. Google's product data specification is the most detailed of the major channels, and the one whose attribute names the other channels tend to borrow.
- Meta Meta's product catalogue is the data source behind Facebook and Instagram Shops, Advantage+ catalogue ads and dynamic retargeting, populated by a product feed uploaded to Commerce Manager. Its attribute names largely mirror Google's, but its accepted values and its handling of variants differ enough to break a feed copied straight across.
- Microsoft Advertising Microsoft Advertising runs product ads across Bing, Yahoo and the Microsoft Audience Network from a catalogue uploaded to Microsoft Merchant Center. Its feed specification is closely modelled on Google's, which makes it the cheapest additional channel to launch once a Google Shopping feed already exists.
- Pinterest Pinterest turns an uploaded product feed into Product Pins, which are shoppable pins that carry live price and availability from the catalogue. Its feed specification borrows Google's attribute names, and its distinguishing requirement is that every item needs a genuinely usable image, because the image is the entire unit of discovery on Pinterest.
Primary sources
Channel specifications change. These are the official documents this page is based on.