Ads and Commerce
Ads and Commerce
Resources

Product Review Feed Schema

Updated: Mar 31, 2026
Use this product review feed schema to onboard on to our ratings and review system for Shops. The feed should be sent over as a CSV file, and contain the columns described below.

Columns

Element Description
aggregator
Type: string
Optional.
The reviews aggregator used by the store to manage their review feeds. This field stores the name of the aggregator.
store.name
Type: string
Required.
Name of the store the review feed is for.
store.id
Type: string
Optional.
Unique identifier of the store on the aggregator’s platform.
store.storeUrls
Type: Array<string>
Required.
Unique identifier of the store on the aggregator’s platform.
reviewID
Type: string
Required.
Unique identifier for the review.
rating
Type: integer
Required.
Rating, from 1–5.
title
Type: string
Optional.
Review title.
content
Type: string
Required.
Review text. Should be a non-empty string. Emojis should be UTF-8-encoded.
created_at
Type: string
Required.
Review creation date in ISO 8601 format.
Examples:
Complete date:
YYYY-MM-DD (eg 1997-07-16)
Complete date plus hours and minutes:
YYYY-MM-DDThh:mmTZD (eg 1997-07-16T19:20+01:00)
Complete date plus hours, minutes and seconds:
YYYY-MM-DDThh:mm:ssTZD (eg 1997-07-16T19:20:30+01:00)
Complete date plus hours, minutes, seconds and a decimal fraction of a second:
YYYY-MM-DDThh:mm:ss.sTZD (eg 1997-07-16T19:20:30.45+01:00)
updated_at
Type: string
Optional.
When the review was last updated.
review_image_urls
Type: Array<string>
Optional.
List of URLs for published images as uploaded by shoppers with the review.
incentivized
Type:boolean
Required.
Represents whether the review was obtained via an incentivized promotion run by the merchant.
has_verified_purchase
Type:boolean
Optional.
Represents whether the review was left after a verified purchase of the product.
reviewer.name
Type: string
Conditional Optional.
Note: if reviewer.reviewerID or reviewer.isAnonymous is provided, then reviewer.name is required
Full name of the reviewer.
Example: John Doe
reviewer.reviewerID
Type: string
Optional.
Unique identifier for the reviewer.
reviewer.isAnonymous
Type: boolean
Optional.
Represents whether the reviewer is anonymous.
product.name
Type: string
Required.
Name of the product.
product.url
Type: string
Required.
Link to the product detail page on the store’s website.
product.imageUrls
Type: Array<string>
Optional.
List of image urls associated with the product.
product.groupID
Type: string
Optional.
ID for a group of products that share reviews. You can choose to share the groupID or all of the variants directly using the variants field.
product.productStatus
Type: Enum {“active”, “inactive”}
Optional.
Status of the product. “active” if the product is still active and “inactive” if the product is no longer being sold.
product.productIdentifiers.gtins
Type: Array<string>
Optional.
Global trade item numbers (GTINs) associated with the product.
product.productIdentifiers.mpn
Type: string
Optional.
Manufacturer part number (MPN) associated with the product.
product.productIdentifiers.brand
Type: string
Optional.
Brand name associated with the product.
product.productIdentifiers.shopifyProductID
Type: string
Optional.
Shopify Product ID associated with the product.
product.productIdentifiers.skus
Type: Array<string>
Optional.
Stock keeping units (SKUs) associated with the product.
product.variants[0].name
Type: string
Optional.
Name of the variant.
Note: Please duplicate the review to multiple rows, and let each row only contain one unique product variant, if the product mentioned by the review has multiple variants.
product.variants[0].url
Type: string
Optional.
Link to the variant detail page on the store’s website.
Note: Please duplicate the review to multiple rows, and let each row only contain one unique product variant, if the product mentioned by the review has multiple variants.
product.variants[0].variantIdentifiers.gtins
Type: Array<string>
Optional.
Global trade item numbers (GTINs) associated with the variant.
Note: Please duplicate the review to multiple rows, and let each row only contain one unique product variant, if the product mentioned by the review has multiple variants.
product.variants[0].variantIdentifiers.mpn
Type: string
Optional.
Manufacturer part number (MPN) associated with the variant.
Note: Please duplicate the review to multiple rows, and let each row only contain one unique product variant, if the product mentioned by the review has multiple variants.
product.variants[0].variantIdentifiers.brand
Type: string
Optional.
Brand name associated with the variant.
Note: Please duplicate the review to multiple rows, and let each row only contain one unique product variant, if the product mentioned by the review has multiple variants.
product.variants[0].variantIdentifiers.shopifyProductID
Type: string
Optional.
Shopify Product ID associated with the variant.
Note: Please duplicate the review to multiple rows, and let each row only contain one unique product variant, if the product mentioned by the review has multiple variants.
product.variants[0].variantIdentifiers.skus
Type: Array<string>
Optional.
Stock keeping units (SKUs) associated with the variant.
Note: Please duplicate the review to multiple rows, and let each row only contain one unique product variant, if the product mentioned by the review has multiple variants.
country
Type: string
Optional.
Country from where the review was written. The string should be in ISO 3166 Alpha-2 format. See also glossary for ISO 3166.
Example: US
merchant_response.name
Type: string
Conditional Optional.
Note: if any of merchant_response.id, merchant_response.content, or merchant_response.createdAt is provided, this field is required. Otherwise, these 4 fields can be optional together.
Full name of the person or merchant replying to the review.
Example: Sephora
merchant_response.id
Type: string
Conditional Optional.
Note: if any of merchant_response.name, merchant_response.content, or merchant_response.createdAt is provided, this field is required. Otherwise, these 4 fields can be optional together.
A unique identifier for the reply.
merchant_response.content
Type: string
Conditional Optional.
Note: if any of merchant_response.name, merchant_response.id, or merchant_response.createdAt is provided, this field is required. Otherwise, these 4 fields can be optional together.
Reply Text. Should be a non-empty string. Emojis should be UTF-8 encoded.
merchant_response.createdAt
Type: string
Conditional Optional.
Note: if any of merchant_response.name, merchant_response.id, or merchant_response.content is provided, this field is required. Otherwise, these 4 fields can be optional together.
Reply Creation Date in ISO8601.
Examples:
Complete date: YYYY-MM-DD (eg 1997-07-16)
Complete date plus hours and minutes: YYYY-MM-DDThh:mmTZD (eg 1997-07-16T19:20+01:00)
Complete date plus hours, minutes and seconds: YYYY-MM-DDThh:mm:ssTZD (eg 1997-07-16T19:20:30+01:00)
Complete date plus hours, minutes, seconds and a decimal fraction of a second: YYYY-MM-DDThh:mm:ss.sTZD (eg 1997-07-16T19:20:30.45+01:00) .
merchant_response.updatedAt
Type: string
Optional.
When the reply was updated last.
merchant_response.language
Type: string
Optional.
The language reply was written in. The string should be in ISO 639-1 code format.
Example: en
merchant_response.country
Type: string
Optional.
Country the reply was written from. The string should be in ISO 3166 Alpha-2 format.
Example: US
secondary_ratings
Type: Map<string, int>
Optional.
JSON key-value pairs representing secondary review ratings. These can be any other ratings that were collected as part of the review. The value should be an integer between 1 and 5 with 5 being the best and 1 being the worst.
Example: {“quality”: 5, “shipping speed”: 3, “value for price”: 1}
secondary_attributes
Type: Map<string, string>
Optional.
JSON key-value pairs representing secondary review attributes. This can be any other free-form information that was collected as part of the review.
Example: {“size”: “true to size”}

Sample Feed

"aggregator","store.name","store.id","store.storeUrls","review_id","rating","title","content","created_at","reviewer.name","reviewer.reviewerID","product.name","product.url","product.imageUrls","product.productIdentifiers.skus",
"","MyStore","1234567","['http://www.mystore.com']","1","5","Great product","Very happy with the buy.","2025-01-09 18:30:43","John Doe","","Baseball","http://www.mystore.com/baseball/","['http://www.mystore.com/baseball/1.jpg']","['Baseball']",
Did you find this page helpful?
Thumbs up icon
Thumbs down icon