Link your product schema to Bazaarvoice reviews

This section outlines how to link your product data with Bazaarvoice ratings and reviews using canonical query parameter.

To ensure search engines correctly link your Product data with Bazaarvoice ratings and reviews, you must provide the canonical URL of the product page as a query parameter in your request.

This URL is populated in the @id field of the schema that Bazaarvoice provides. To successfully link these data sets, you must:

  1. Define a Product Schema: Ensure your page contains a standard Product schema.
  2. Match the @id: The @id value in your Product schema must exactly match the canonical URL passed to us.

Using a shared @id acts as a "unique hook," allowing Google to merge your product details with Bazaarvoice ratings and reviews data into a single, rich search result.

Sample request

curl --location 'https://seo.bazaarvoice.com/structured-data/v1/clients/testcustomer-fast-prs/ugc?locale=en_US&canonical=https%3A%2F%2Fbazaarvoice.com&productId=product1' \
--header 'Accept: text/javascript' \
--header 'User-Agent: Java-http-client/17.0.7' \
--header 'Bv-Forwarded-User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.1; +https://openai.com/gptbot' \
--header 'bv-passkey: <PASSKEY>'

Sample response

<script type="application/ld+json" id="bv-geo-jsonld-reviews-data">
{
  "@context": "https://schema.org/",
  "review": [
    {
      "@type": "Review",
      "dateCreated": "2026-03-30T10:42:36.000+00:00",
      "datePublished": "2026-03-30T10:45:44.000+00:00",
      "reviewBody": "This is my positive review about this poor product",
      "name": "Review title",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": 4,
        "bestRating": 5,
        "worstRating": 1
      },
      "author": {
        "@type": "Person",
        "name": "Billy Jean2"
      }
    },
    {
      "@type": "Review",
      "dateCreated": "2026-03-29T10:42:06.000+00:00",
      "datePublished": "2026-03-29T10:46:43.000+00:00",
      "reviewBody": "This is my positive review about this poor product",
      "name": "Review title",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": 1,
        "bestRating": 5,
        "worstRating": 1
      },
      "author": {
        "@type": "Person",
        "name": "Billy Jean2"
      }
    },
    {
      "@type": "Review",
      "dateCreated": "2026-03-28T10:42:22.000+00:00",
      "datePublished": "2026-03-28T10:47:00.000+00:00",
      "reviewBody": "This is my positive review about this poor product",
      "name": "Review title",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": 5,
        "bestRating": 5,
        "worstRating": 1
      },
      "author": {
        "@type": "Person",
        "name": "Billy Jean2"
      }
    },
    {
      "@type": "Review",
      "dateCreated": "2026-03-27T10:42:14.000+00:00",
      "datePublished": "2026-03-27T10:46:59.000+00:00",
      "reviewBody": "This is my positive review about this poor product",
      "name": "Review title",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": 1,
        "bestRating": 5,
        "worstRating": 1
      },
      "author": {
        "@type": "Person",
        "name": "Billy Jean2"
      }
    },
    {
      "@type": "Review",
      "dateCreated": "2026-03-26T10:42:29.000+00:00",
      "datePublished": "2026-03-26T10:48:53.000+00:00",
      "reviewBody": "This is my positive review about this poor product",
      "name": "Review title",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": 4,
        "bestRating": 5,
        "worstRating": 1
      },
      "author": {
        "@type": "Person",
        "name": "Billy Jean2"
      }
    },
    {
      "@type": "Review",
      "dateCreated": "2026-03-26T05:18:36.000+00:00",
      "datePublished": "2026-03-26T05:30:32.000+00:00",
      "reviewBody": "This is my positive review about this poor product",
      "name": "Review title",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": 1,
        "bestRating": 5,
        "worstRating": 1
      },
      "author": {
        "@type": "Person",
        "name": "Billy Jean2"
      }
    },
    {
      "@type": "Review",
      "dateCreated": "2026-03-25T06:06:42.000+00:00",
      "datePublished": "2026-03-25T06:16:09.000+00:00",
      "reviewBody": "",
      "name": "",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": 3,
        "bestRating": 5,
        "worstRating": 1
      },
      "author": {
        "@type": "Person",
        "name": "kpkp"
      }
    },
    {
      "@type": "Review",
      "dateCreated": "2026-03-25T05:59:51.000+00:00",
      "datePublished": "2026-03-25T06:01:58.000+00:00",
      "reviewBody": "Prod location 36.2Prod location 36.2Prod location 36.2Prod location 36.2Prod location 36.2Prod location 36.2",
      "name": "Prod location 36.2",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": 2,
        "bestRating": 5,
        "worstRating": 1
      },
      "author": {
        "@type": "Person",
        "name": "rb2503"
      }
    }
  ],
  "@id": "https://bazaarvoice.com/"
}
</script><script type="application/ld+json" id="bv-geo-jsonld-ratings-data">
{
  "@context": "https://schema.org",
  "aggregateRating": {
    "@type": "AggregateRating",
    "bestRating": 5,
    "ratingValue": 3.4320546163849155,
    "reviewCount": 3076
  },
  "@id": "https://bazaarvoice.com/"
}
</script>

For the above ratings and reviews schema, you should add a product schema on the product page as below:

{
  "@context": "https://schema.org/",
  "@type": "Product",
   "@id": "https://bazaarvoice.com/"
  "name": "Intensive Moisturizing Lotion",
  "image": "https://example.com/lotion.jpg",
  "brand": {
    "@type": "Brand",
    "name": "Example"
  }
}