# Variant issue

**URL:** <https://community.shopify.com/t/variant-issue/705808>\
**Category:** Technical Q&A\
**Tags:** shopify-themes\
**Created:** [October 28, 2026, 9:37pm UTC](https://community.shopify.com/t/variant-issue/705808 "2026-10-28T21:37:55Z")\
**Posts on this page:** 4\
**Page:** 1

## AI-generated summary

The issue concerns Google Search Console warnings in the Ritual Shopify theme’s featured-product structured data: variants lack a `description`, and offers lack shipping and return-policy details. The original poster asked how to add a description to each variant.

One reply proposed replacing the section’s existing JSON-LD output with Liquid code that reuses the product description for each variant and adds shipping cost, delivery estimates, return window, and return-fee policy. Store owners would need to adjust those values; the reply also suggested testing the result with Google’s Rich Results Test.

Another participant cautioned that these are warnings about recommended fields, not errors that prevent eligibility. Shopify variants do not have separate descriptions by default, and shipping and return information may be better configured in Google Merchant Center. The original poster thanked the helper, but the discussion does not confirm whether the code was applied or whether the warnings were resolved.

<div class="post-metadata">

**Author:** ![Chosentolift](https://avatars.discourse-cdn.com/v4/letter/c/c68b51/32.png) [@Chosentolift](https://community.shopify.com/u/Chosentolift)\
**Post date:** [October 28, 2026, 9:37pm UTC](https://community.shopify.com/t/variant-issue/705808/1 "2026-10-28T21:37:55Z")

</div>

**Title:** Ritual theme: Google flags “Missing field description” for variants in featured product structured data

**Post:** Hi, I use the free Ritual theme by Shopify. My homepage has a featured product section, and its file (sections/featured-product.liquid) outputs structured data with Shopify’s built-in structured\_data filter. Google Search Console warns “Missing field description (in parent\_node)” for every variant listed under hasVariant in the ProductGroup, and the offers are also missing shippingDetails and hasMerchantReturnPolicy. The product-group description itself is filled in. Can someone show me what code to change or add so each variant has its own description in the structured data? Thanks!

---

<div class="post-metadata">

**Author:** ![Ploqo](https://yyz1.discourse-cdn.com/shopifyforum/user_avatar/community.shopify.com/ploqo/32/398219_2.png) [@Ploqo](https://community.shopify.com/u/Ploqo)\
**Post date:** [October 28, 2026, 10:23pm UTC](https://community.shopify.com/t/variant-issue/705808/2 "2026-10-28T22:23:42Z")

</div>

@Chosentolift here’s how to give every variant its own description, plus the shipping and returns fields, without touching the rest of the section.

1. Go to **Online Store** \> **Themes**. On your Ritual theme, click **…** \> **Edit code**.

 ![Edit code](https://canada1.discourse-cdn.com/shopifyforum/original/4X/1/b/4/1b4e3697273a0979dfe54de9304e4812bb2cbaed.jpeg)

1. Under **sections** , open **featured-product.liquid**.
2. Find the 3 lines at the very top that start with `<script type="application/ld+json">` and delete them.

 ![The 3 lines to replace](https://canada1.discourse-cdn.com/shopifyforum/original/4X/6/5/5/6557b06225a2c73a4e2278ba27b4a8581b10b348.png)

Paste this in their place:

```liquid
{%- liquid
  # Change these to match your store
  assign sd_shipping_cost = '0'
  assign sd_delivery_days_min = '2'
  assign sd_delivery_days_max = '5'
  assign sd_return_days = '30'
  assign sd_return_fees = 'FreeReturn'

  assign sd_country = shop.address.country_code
  assign sd_currency = cart.currency.iso_code
-%}
{%- capture sd_json -%}{{ section.settings.product | structured_data }}{%- endcapture -%}
{%- capture sd_offer -%}"@type":"Offer","hasMerchantReturnPolicy":{"@type":"MerchantReturnPolicy","applicableCountry":"{{ sd_country }}","returnPolicyCategory":"https://schema.org/MerchantReturnFiniteReturnWindow","merchantReturnDays":{{ sd_return_days }},"returnMethod":"https://schema.org/ReturnByMail","returnFees":"https://schema.org/{{ sd_return_fees }}"},"shippingDetails":{"@type":"OfferShippingDetails","shippingRate":{"@type":"MonetaryAmount","value":{{ sd_shipping_cost }},"currency":"{{ sd_currency }}"},"shippingDestination":{"@type":"DefinedRegion","addressCountry":"{{ sd_country }}"},"deliveryTime":{"@type":"ShippingDeliveryTime","handlingTime":{"@type":"QuantitativeValue","minValue":0,"maxValue":1,"unitCode":"DAY"},"transitTime":{"@type":"QuantitativeValue","minValue":{{ sd_delivery_days_min }},"maxValue":{{ sd_delivery_days_max }},"unitCode":"DAY"}}},{%- endcapture -%}
{%- liquid
  if section.settings.product.has_only_default_variant == false
    assign sd_desc = section.settings.product.description | strip_html | strip | json
    assign sd_variant = '"@type":"Product","description":' | append: sd_desc | append: ','
    assign sd_json = sd_json | replace: '"@type":"Product",', sd_variant
  endif
  assign sd_json = sd_json | replace: '"@type":"Offer",', sd_offer
-%}
<script type="application/ld+json">
  {{ sd_json }}
</script>

```

1. Change the five values under “Change these to match your store”: shipping cost, delivery days, return window. If customers pay for their own returns, use `ReturnFeesCustomerResponsibility` instead of `FreeReturn`.

 ![Values to change](https://canada1.discourse-cdn.com/shopifyforum/original/4X/d/6/9/d69884f72fcc938a45127d73fabb509090a9b407.jpeg)

1. Click **Save**.

 ![Save](https://canada1.discourse-cdn.com/shopifyforum/original/4X/2/a/f/2af45d86decd9e679ceb877bc1cffbc67c1e3c5b.png)

Each variant now reuses the product description. The country comes from your store address and the currency from your store.

Run your homepage through Google’s Rich Results Test again. Under **Merchant listings** , the variant warnings should be gone:

 ![Before: 3 issues on every variant](https://canada1.discourse-cdn.com/shopifyforum/original/4X/1/d/f/1df042800e2cd54dc0d701a2042b80b698c70b13.jpeg)

 ![After: no issues](https://canada1.discourse-cdn.com/shopifyforum/original/4X/6/6/5/665ab95443e8d24ea76ec6f00797e238fda0de5f.jpeg)

---

<div class="post-metadata">

**Author:** ![Roman79](https://yyz1.discourse-cdn.com/shopifyforum/user_avatar/community.shopify.com/roman79/32/415841_2.png) [@Roman79](https://community.shopify.com/u/Roman79)\
**Post date:** [October 29, 2026, 5:23am UTC](https://community.shopify.com/t/variant-issue/705808/3 "2026-10-29T05:23:14Z")

</div>

Those are warnings on recommended fields, not errors, so the product can still be eligible. Shopify variants have no description of their own, so the structured\_data filter has nothing to output for them, and shipping and returns are most often better set in Merchant Center than in the markup. What does the Rich Results Test show for that page?

---

<div class="post-metadata">

**Author:** ![Chosentolift](https://avatars.discourse-cdn.com/v4/letter/c/c68b51/32.png) [@Chosentolift](https://community.shopify.com/u/Chosentolift)\
**Post date:** [October 29, 2026, 6:38pm UTC](https://community.shopify.com/t/variant-issue/705808/4 "2026-10-29T18:38:28Z")

</div>

Thanks for the help.
