Product Metafields
These metafields are written on the Product resource. See Shop Metafields for shop-wide aggregate data, or Customer Metafields for loyalty and profile data.
Okendo Reviews App Namespace
These metafields are app-scoped and storefront-accessible. They can be queried through the Shopify Storefront API or accessed directly in Liquid using the raw namespace: app--1576377--reviews.
Widget Snippet Metafields
All use the namespace app--1576377--reviews and are of type multi_line_text_field. The ai_* metafields are only written when the corresponding AI feature is enabled, and are deleted when the feature is disabled or when the product has insufficient data.
| Key | Description |
|---|---|
reviews_widget_snippet | Pre-rendered HTML for the Widget Plus Reviews Widget. |
star_rating_snippet | Pre-rendered HTML for the Widget Plus Star Rating badge. |
ai_keyword_filters | Pre-rendered HTML snippet for AI-generated keyword filters. Displays a set of keyword chips that shoppers can use to filter reviews by topic. |
ai_text_summary_snippet | Pre-rendered HTML snippet for the AI-generated review summary. Displays a concise text summary of the product's reviews. |
ai_chat_assistant_snippet | Pre-rendered HTML snippet for the AI chat assistant. Includes the chat starter prompts relevant to the product. |
Note: If any metafield exceeds Shopify's limit of 65,536 characters, it is deleted to avoid stale data. Check for a missing value before rendering.
Liquid Usage
{{ product.metafields.app--1576377--reviews.reviews_widget_snippet }}
{{ product.metafields.app--1576377--reviews.star_rating_snippet }}
{{ product.metafields.app--1576377--reviews.ai_keyword_filters }}
{{ product.metafields.app--1576377--reviews.ai_text_summary_snippet }}
{{ product.metafields.app--1576377--reviews.ai_chat_assistant_snippet }}
Aggregate Data Metafields
These are app-scoped mirrors of the reviews namespace fields, under the namespace app--1576377--reviews. They are deleted when a product has no published reviews.
| Key | Type | Description |
|---|---|---|
average_rating | rating | App-scoped mirror of reviews.rating. Contains the same Shopify native rating object. |
review_count | number_integer | App-scoped mirror of reviews.rating_count. Total number of published reviews. |
Liquid Usage
{{ product.metafields.app--1576377--reviews.average_rating.value }}
{{ product.metafields.app--1576377--reviews.review_count.value }}
Okendo Namespace
| Key | Type | Description |
|---|---|---|
summaryData | json_string | A JSON object containing aggregate review statistics for the product. Useful for custom storefront sections that need raw numbers rather than pre-rendered HTML. |
Summary Data Field Reference
| Field | Type | Description |
|---|---|---|
reviewCount | number | Total number of published reviews for the product |
reviewAverageValue | string | Average star rating across all reviews, formatted to one decimal place (e.g. "4.6") |
fiveStarReviewCount | number | Number of reviews that gave a 5-star rating |
mediaCount | number | Number of reviews that include at least one photo or video |
percentageRecommended | number | Percentage of reviewers who indicated they would recommend the product (e.g. 91 = 91%) |
attributeRatings | array | Per-attribute aggregate ratings, corresponding to custom range-type review questions configured in Okendo (e.g. "Comfort", "Value for Money") |
Each entry in attributeRatings has the following shape:
| Field | Type | Description |
|---|---|---|
title | string | Display name of the attribute (e.g. "Comfort") |
type | "range" | "centered-range" | The input style used when collecting this attribute. "range" runs from a min to a max; "centered-range" has a neutral midpoint. |
value | number | Aggregate (average) rating value for this attribute |
minLabel | string (optional) | Label at the low end of the scale (e.g. "Poor") |
midLabel | string (optional) | Label at the midpoint — only relevant for "centered-range" (e.g. "Average") |
maxLabel | string (optional) | Label at the high end of the scale (e.g. "Excellent") |
Example:
"attributeRatings": [
{
"title": "Comfort",
"type": "range",
"value": 4.2,
"minLabel": "Uncomfortable",
"maxLabel": "Very comfortable"
},
{
"title": "Value for Money",
"type": "centered-range",
"value": 3.8,
"minLabel": "Poor value",
"midLabel": "Fair",
"maxLabel": "Great value"
}
]
Liquid Usage
{{ product.metafields.okendo.summaryData.reviewCount }}
{{ product.metafields.okendo.summaryData.reviewAverageValue }}
{{ product.metafields.okendo.summaryData.fiveStarReviewCount }}
{{ product.metafields.okendo.summaryData.mediaCount }}
{{ product.metafields.okendo.summaryData.percentageRecommended }}
{% for attribute in product.metafields.okendo.summaryData.attributeRatings %}
{{ attribute.title }}: {{ attribute.value }}
{% endfor %}
Reviews Namespace
These metafields use Shopify's built-in rating and number_integer types, making them compatible with Shopify's native metafield features such as storefront filters and product listings. See Shopify's list of standard metafield definitions for more on these types.
Both fields are deleted when a product has no published reviews. Both use the namespace reviews.
| Key | Type | Description |
|---|---|---|
rating | rating | The product's average review rating, represented as a Shopify native rating object. |
rating_count | number_integer | The total number of published reviews for the product. |
Liquid Usage
{% assign rating = product.metafields.reviews.rating.value %}
<p>Average rating: {{ rating.value }} / {{ rating.scale_max }}</p>
{{ product.metafields.reviews.rating_count.value }}