Skip to main content

Pages with Merchant Listing Structured Data Errors

Priority: Low

Impact: Negative

What issues it may cause

Pages with Merchant Listing errors won't appear in Google's product carousels, Knowledge Panels, or Shopping tab, preventing customers from seeing your products alongside competitor offerings when comparing prices and availability.

How do you fix it

  • Ensure all required properties are present and correctly formatted: offers.price, offers.priceCurrency, and offers.availability

  • Verify enumeration values use valid options (InStock, OutOfStock, PreOrder, LimitedAvailability, OnlineOnly, SoldOut)

  • Check that offer information is properly nested within the product entity with correct data types
  • Add recommended properties to resolve warnings: offers.shippingDetails, offers.hasMerchantReturnPolicy, and product images

Follow Google's Merchant Listing guidelines for complete requirements

What is the positive impact

Products are eligible to appear in Google's product carousels and Knowledge Panels where shoppers compare prices and availability, with enhanced displays showing shipping costs, return policies, and images.

How to fetch the data for this report template

You will need to run a crawl for report template to generate report. When report has been generated and you have crawl id you can fetch data for the report using the following query:

Operation: query GetReportStatForCrawl( $crawlId: ObjectID! $reportTemplateCode: String! $after: String ) { getReportStat( input: {crawlId: $crawlId, reportTemplateCode: $reportTemplateCode} ) { crawlStructuredDataBlocks(after: $after, reportType: Basic) { nodes { url schemaType issuesSummary blockCount errorCount warningCount validationResult issues } totalCount pageInfo { endCursor hasNextPage } } } }Variables: {"crawlId":"TjAwNUNyYXdsNDAwMA","reportTemplateCode":"pages_with_merchant_listing_schema_issues"}
GetReportStatForCrawlTry in Explorer
GraphQL
query GetReportStatForCrawl(
$crawlId: ObjectID!
$reportTemplateCode: String!
$after: String
) {
getReportStat(
input: {crawlId: $crawlId, reportTemplateCode: $reportTemplateCode}
) {
crawlStructuredDataBlocks(after: $after, reportType: Basic) {
nodes {
url
schemaType
issuesSummary
blockCount
errorCount
warningCount
validationResult
issues
}
totalCount
pageInfo {
endCursor
hasNextPage
}
}
}
}