V1 to V2 Migration Instructions

The following outlines the changes from the V1 feed to the current V2.2 feed. Please see https://developers.google.com/product-review-feeds/sample/ for a full example of the latest 2.2 feed.

Version 1

<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns:atom="http://www.w3.org/2005/Atom" xml:lang="en-US"
   xmlns:pr="http://schemas.google.com/schemas/pr/1.0"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.gstatic.com/productsearch/static/reviews/product_reviews_v1.xsd”>

Version 2.2

<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:noNamespaceSchemaLocation=
 "http://www.google.com/shopping/reviews/schema/product/2.2/product_reviews.xsd">

The xmlns:atom and xmlns:pr elements have been removed. An xmlns:vc element was added to reference the w3.org XMLSchema-versioning. The schema location should be updated to the 2.2 xsd.

Schema version

The schema version is now included after the header

<version>2.2</version>

Publisher Info

The publisher info section has been reduced. Author, title, subtitle, published, rights, id, link, and logo have been removed in favor of aggregator and publisher with the publisher name and icon. The aggregator element is not required for single merchant feeds.

Version 1

 <author> 
    <name>Sample Retailer</name> 
    <email>contact@example.com</email> 
  </author> 
  <title type="text">Product Reviews from Example.com </title> 
  <subtitle type="text">Camera Reviews - Example.com </subtitle> 
  <published>2007-12-10T15:13:31Z</published> 
  <rights>Copyright 2008, all rights reserved.</rights> 
  <id>12345678</id> 
  <link rel="related" type="text/html" href="http://www.example.com/index.html"/> 
  <logo>http://www.example.com/logo.jpg</logo>

Version 2.2

    <aggregator>
        <name>Sample Reviews Aggregator (if applicable)</name>
    </aggregator>
    <publisher>
        <name>Sample Retailer</name>
        <favicon>http://www.example.com/favicon.png</favicon>
    </publisher>

Review Group

Formerly, reviews were designated by repeated <entry> elements. In the 2.2 feed, <review> elements have replaced <entry> elements and are grouped under a <reviews> parent element.

Version 1

<entry>
...
</entry>

Version 2.2

    <reviews>
        <review>
...
        </review>
    </reviews>

Review Info

The review content section has been dramatically simplified. To achieve this simplification, the following fields have been modified:

Summary Info:

  • <id> is now <review_id>
  • <published> is now <review_timestamp>
  • <pr:content_format> has been removed
  • <link> is now <review_url>

Version 1

    <id>14295</id> 
    <published>2014-04-21T07:07:07Z</published> 
    <title type="text">Excellent camera</title> 
    <pr:content_format type="user_review"/> 
    <link rel="self" type="text/html" href="http://www.example.com/review_14295.html"/>

Version 2.2

      <review_id>14295</review_id>
        ...
      <review_timestamp>2014-04-21T07:07:07Z</review_timestamp>
      <title>Excellent camera</title>
        ...
      <review_url type="singleton">http://www.example.com/review_14295.html</review_url>

Author Info:

  • <author> is now <reviewer>
    • <name> now supports an is_anonymous attribute
    • <reviewer_id> has been added
    • <email>, <pr:role>, <pr:number_of_reviews>, and <link> have been removed
    • <pr:author_rating> is now <ratings> and is included outside of the author element
      • <pr:attr name=”overall”> is now <overall>. The value attribute is now the element contents.
      • Additional <pr:attr> elements have been removed
  • <content> full_length attribute has been removed
  • <title> type attribute has been removed

Version 1

   <author>
      <name>Joe Smith</name> 
      <email>jsmith@example.com</email> 
      <pr:role>Consumer Electronics Editor</pr:role> 
      <pr:number_of_reviews>45</pr:number_of_reviews> 
      <link rel="related" href="http://www.example.com."/> 
      <pr:author_rating> 
        <pr:attr name="overall" max="5" min="1" value="4"></pr:attr> 
        <pr:attr name="funny"></pr:attr>  
      </pr:author_rating> 
    </author>

Version 2.2

        <reviewer>
            <name is_anonymous="false">Joe Smith</name>
            <reviewer_id>509769</reviewer_id>
        </reviewer>
        ...
        <ratings>
            <overall min="1" max="5">4</overall>
        </ratings>

Content Info:

  • The <content> full_length attribute has been removed
  • The <video> element and its children have been removed
  • The <reviewer_images> parent element and <reviewer_image> child elements have been added.
    • <reviewer_image> elements contain a <url> element for the image location

Version 1

   <content full_length="3083">
      Got it for a friend and he loved it.
   </content>
    <video>
      <published>2008-07-31T04:13:31Z</published>
      <title type="text">Digital Cameras in Action</title>
      <link rel="related" href="http://www.youtube.com/watch?v=SdybCjJ5sCU"/>
      <summary>Expert photog Jill Thompson takes the Canon XTi on the road</summary>
    </video>

Version 2.2

   <content>Got it for a friend and he loved it.</content>
    ...
   <review_url type="singleton">http://www.example.com/review_14295.html</review_url>
   <reviewer_images>
       <reviewer_image>
           <url>https://example.com/test.jpg</url>
       </reviewer_image>
       <reviewer_image>
           <url>https://example.com/test.gif</url>
       </reviewer_image>
   </reviewer_images>

Product Info:

  • <pr:products> with <pr:product> child elements are now <products> with <product> children
  • <pr:product_id> elements with contenttype attributes are now <product_id> elements with content type elements as children (<gtins>, <mpns>, <skus>)
  • <pr:brand> is now a child element under <product_id>
  • <pr:product_name> is now <product_name>
  • <pr:product_category> elements have been removed
  • <link> is now <product_url>
  • <pr:number_of_reviews> element has been removed
  • <pr:average_rating> and all child elements have been removed

Version 1

   <pr:products> 
      <pr:product> 
        <pr:product_id contenttype="MPN">60101-10000</pr:product_id> 
        <pr:product_id contenttype="UPC">888884</pr:product_id> 
        <pr:product_id contenttype="base_docid">9876543</pr:product_id>         
        <pr:brand>Acme</pr:brand> 
        <pr:product_name>Tablet Sleeve</pr:product_name> 
        <pr:product_category level="1" category_id="123423">Consumer Electronics</pr:product_category> 
        <pr:product_category level="2" category_id="123423">Tablets</pr:product_category> 
        <pr:product_category level="3" category_id="123423">Cases</pr:product_category> 
        <link rel="canonical" type="text/html" href="http://www.example.com/product_6206.html"/> 
        <link rel="related" type="image/jpg" href="http://reviews.example.com/..."/> 
        <link rel="related" type="text/html" href="http://reviews.example.com/..."/> 
        <pr:number_of_reviews>5</pr:number_of_reviews>  
        <pr:average_rating>                                  
          <pr:attr name="overall" max="5" min="1" value="3.4"></pr:attr> 
          <pr:attr name="durability" max="5" min="1" value="3.7"></pr:attr> 
          <pr:attr name="ease_of_use" max="5" min="1" value="3.2"></pr:attr> 
        </pr:average_rating>
      </pr:product> 
 </pr:products>

Version 2.2

    <products>
        <product>
            <product_ids>
                <gtins>
                    <gtin>541710238425</gtin>
                </gtins>
                <mpns>
                    <mpn>60101-10000</mpn>
                </mpns>
                <skus>
                    <sku>6206</sku>
                </skus>
                <brands>
                    <brand>Acme</brand>
                </brands>
            </product_ids>
            <product_name>Tablet Sleeve</product_name>
            <product_url>http://www.example.com/product_6206.html</product_url>
        </product>
    </products>

Rating Info:

  • <pr:pros> elements are now <pros> elements with child <pro> elements
  • <pr:cons> elements are now <cons> elements with child <con> elements
  • <pr:awards> and all child elements have been removed
  • <pr:overview> element has been removed
  • <pr:ratings> elements for individual attribute ratings have been removed

Version 1

    <pr:pros>Sleek design</pr:pros> 
    <pr:pros>Protects the tablet well</pr:pros>
    <pr:cons>Pricey</pr:cons> 
    <pr:overview> Best for well lit spaces, outdoor shots...</pr:overview> 
    <pr:awards> 
      <pr:award> 
        <pr:award_name>CBest Camera Award </pr:award_name> 
        <link rel="related" type="image/jpg" href="http://www.example.com/..."/> 
      </pr:award> 
    </pr:awards> 
    ...
    <pr:ratings> 
      <pr:attr name="overall" max="5" min="1" value="3"></pr:attr> 
      <pr:attr name="durability" max="5" min="1" value="3"></pr:attr> 
      <pr:attr name="ease_of_use" max="5" min="1" value="3"></pr:attr>
    </pr:ratings>

Version 2.2

    <pros>
        <pro>Sleek design</pro>
        <pro>Protects the tablet well</pro>
    </pros>
    <cons>
        <con>Pricey</con>
    </cons>

Additional Info:

  • <pr:custom> elements and their child elements have been removed
  • <pr:related_products> elements and their child elements have been removed
  • <is_spam> element has been added
  • <collection_method> element has been added
  • <transaction_id> element has been added

Version 1

   <pr:custom> 
      <pr:custom_title>
        Recall Information 
      </pr:custom_title> 
      <pr:custom_description> 
        The batteries used with this camera are known to... 
      </pr:custom_description> 
       </pr:custom>
   ...
   <pr:related_products> 
      <pr:related_product relate="complementary"> 
        <pr:product_id contenttype="MPN">5454545454</pr:product_id> 
        <pr:product_id contenttype="UPC">4444456</pr:product_id> 
        <pr:product_id contenttype="base_docid">9876500</pr:product_id>         
        <pr:brand>Tamron</pr:brand> 
        <pr:product_name>Tamron Telephoto Zoom Lens</pr:product_name> 
        <pr:product_category level="1" category_id="123423">Consumer Electronics</pr:product_category> 
          <pr:product_category level="2" category_id="123423">Digital Camera</pr:product_category> 
            <pr:product_category level="3" category_id="123423">Digital SLR 
              Accessories</pr:product_category> 
            <link rel="canonical" type="text/html" href="http://reviews.example.com/digital-cameras/tamron/id=2345670.html"/> 
            <link rel="related" type="text/html" href="http://www.tamron.com."/> 
            <link rel="related" type="text/html" href="http://reviews.example.com/ 
              digital-cameras/tamron/..."/> 
      </pr:related_product>

Version 2.2

      <is_spam>false</is_spam>
      <collection_method>post_fulfillment</collection_method>
      <transaction_id>fulfillment_transaction_11198373</transaction_id>

Deleted Reviews

Currently, the Version 2 spec supports deletes. Deleted reviews are grouped under the <deleted_reviews> element with each review identified by a <review_id> element. This is a change from Version 1 in which deleted reviews were grouped under a <deleted_entry> element and each review was identified by an <id> element.

Version 1

  <deleted_entry>
    <id>34567</id>
  </deleted_entry>

Version 2.2

  <deleted_reviews>
    <review_id>10438</review_id>
  </deleted_reviews>