Why does Google Merchant Center give the error Missing value [price] even though the data source specifies the price?

77 views Asked by At

Merchant Center correctly records the price for about half of the products on my website, but gives a Missing value [price] error for the other half of the products.

I know that my data source supplies price information for every product on my website; for every case that Merchant Center says that price is missing, the price definitely exists in the data source.

This isn't an issue with price formatting. There are cases where Merchant Center identifies the price of a product but fails to recognize the price of a product with an identical price.

I supply the product information to Merchant Center through JSON-LD metadata on my product pages. The product page dynamically generates the JSON-LD metadata as soon as the page loads on the client.

The following is an example of product information where Merchant Center did not identify the price of the product.

{
  "@context": "http://schema.org",
  "@type": "Product",
  "category": "Media > Sheet Music",
  "audience": {
    "@type": "PeopleAudience",
    "audienceType": "Musician"
  },
  "material": "Digital",
  "name": "William Tell. For Trombone/Euphonium in C (bass clef) and Piano",
  "keywords": "sheet, music, pdf, score, william, tell, trombone, euphonium, bass, clef, piano, easy, horse, gallop",
  "description": "William Tell. For Trombone/Euphonium in C (bass clef) and PianoGrade 2/3 standard.This is an arrangement of the Finale from Rossini's overture from the William Tell Opera.Solo part and piano accompaniment included.",
  "image": "https://cambiatastatic.com/cdn-cgi/imagedelivery/2UoDvrVm9AOIJPG31U_2Tg/2cea7214-fa22-4d6d-4985-8217e896f700/width512",
  "url": "https://partsandscore.com/product/1992591",
  "additionalProperty": [
    {
      "@type": "PropertyValue",
      "name": "Ensemble",
      "value": "Trombone with piano"
    },
    {
      "@type": "PropertyValue",
      "name": "Composer",
      "value": "Trad."
    },
    {
      "@type": "PropertyValue",
      "name": "Arranger",
      "value": "Tim Curd"
    },
    {
      "@type": "PropertyValue",
      "name": "Includes Score",
      "value": true
    },
    {
      "@type": "PropertyValue",
      "name": "Includes Parts",
      "value": false
    }
  ],
  "offers": {
    "@type": "Offer",
    "category": "Media > Sheet Music",
    "seller": {
      "@type": "Organization",
      "name": "Parts and Score",
      "url": "https://partsandscore.com"
    },
    "availability": "http://schema.org/InStock",
    "availableDeliveryMethod": "http://purl.org/goodrelations/v1#DeliveryModeDirectDownload",
    "deliveryLeadTime": {
      "@type": "QuantitativeValue",
      "value": 0,
      "unitCode": "DAY"
    },
    "shippingDetails": {
      "@type": "OfferShippingDetails",
      "deliveryTime": {
        "@type": "ShippingDeliveryTime",
        "handlingTime": {
          "@type": "QuantitativeValue",
          "value": 0,
          "unitCode": "DAY"
        },
        "transitTime": {
          "@type": "QuantitativeValue",
          "value": 0,
          "unitCode": "DAY"
        }
      }
    },
    "priceCurrency": "USD",
    "price": "3.99",
    "url": "https://partsandscore.com/product/1992591"
  },
  "hasMerchantReturnPolicy": {
    "@type": "MerchantReturnPolicy",
    "returnPolicyCategory": "https://schema.org/MerchantReturnNotPermitted"
  }
}

And for comparison, the following is an example of product information where Merchant Center identified the price of the product.

{
  "@context": "http://schema.org",
  "@type": "Product",
  "category": "Media > Sheet Music",
  "audience": {
    "@type": "PeopleAudience",
    "audienceType": "Musician"
  },
  "material": "Digital",
  "name": "The Daisy Bell for Solo Clarinet in Bb and Piano",
  "keywords": "sheet, music, pdf, score, daisy, bell, solo, clarinet, bb, piano",
  "description": "The Daisy Bell for Solo Clarinet in Bb and PianoThis old time tune was written by Harry Dacre in 1892 and been used in many films and TV programs. The Daisy Bell was also the first song to be sung by a computer!Piano score and solo part included.About ABRSM Grade 1 standard.",
  "image": "https://cambiatastatic.com/cdn-cgi/imagedelivery/2UoDvrVm9AOIJPG31U_2Tg/2c7e9ffc-f6f3-41c8-4a13-037c11cbe200/width512",
  "url": "https://partsandscore.com/product/5150303",
  "additionalProperty": [
    {
      "@type": "PropertyValue",
      "name": "Ensemble",
      "value": "Clarinet"
    },
    {
      "@type": "PropertyValue",
      "name": "Composer",
      "value": "Trad."
    },
    {
      "@type": "PropertyValue",
      "name": "Arranger",
      "value": "Tim Curd"
    },
    {
      "@type": "PropertyValue",
      "name": "Includes Score",
      "value": true
    },
    {
      "@type": "PropertyValue",
      "name": "Includes Parts",
      "value": false
    }
  ],
  "offers": {
    "@type": "Offer",
    "category": "Media > Sheet Music",
    "seller": {
      "@type": "Organization",
      "name": "Parts and Score",
      "url": "https://partsandscore.com"
    },
    "availability": "http://schema.org/InStock",
    "availableDeliveryMethod": "http://purl.org/goodrelations/v1#DeliveryModeDirectDownload",
    "deliveryLeadTime": {
      "@type": "QuantitativeValue",
      "value": 0,
      "unitCode": "DAY"
    },
    "shippingDetails": {
      "@type": "OfferShippingDetails",
      "deliveryTime": {
        "@type": "ShippingDeliveryTime",
        "handlingTime": {
          "@type": "QuantitativeValue",
          "value": 0,
          "unitCode": "DAY"
        },
        "transitTime": {
          "@type": "QuantitativeValue",
          "value": 0,
          "unitCode": "DAY"
        }
      }
    },
    "priceCurrency": "USD",
    "price": "3.99",
    "url": "https://partsandscore.com/product/5150303"
  },
  "hasMerchantReturnPolicy": {
    "@type": "MerchantReturnPolicy",
    "returnPolicyCategory": "https://schema.org/MerchantReturnNotPermitted"
  }
}

Note that in the two examples above, the price is identical, "3.99" for each. Merchant Center recognized the price of one product, but gave an error for the other. Why is this happening?

0

There are 0 answers