To import ratings, reviews, questions, and answers that were collected before Bazaarvoice Ratings & Reviews was implemented on your website, you can upload a native content import feed to Bazaarvoice. The native content import feed is an XML document that defines products and user-generated content (UGC) that was collected by your homegrown solution or third-party provider. If you do not have the resources to produce an import feed in the documented format, Bazaarvoice may be able to convert this data for you at a price.

Bazaarvoice first imports the feed into your staging environment to verify that it displays properly. Then, after you approve the content in staging, Bazaarvoice imports the content into production. Allow up to two weeks to complete the process.

The following examples show the general structure of a simplified native content import feed:

  • To import Ratings & Reviews:

    <?xml version="1.0" encoding="UTF-8"?> 
    <Feed>
       <Product>
            <ExternalId>...</ExternalId>
            <Reviews>...</Reviews>
        </Product>
        ...
    </Feed>
    
  • To import Questions & Answers:

    <?xml version="1.0" encoding="UTF-8"?> 
    <Feed>
       <Product>
            <ExternalId>...</ExternalId>
            <Questions>...</Questions>
        </Product>
        ...
    </Feed>
    

    Prerequisites

To import native or third-party content into your live site, make sure that the following prerequisites are met.

Pre-import checklist

Native content import must be included in your statement of work, and moderation of imported content may incur additional costs, which depend on the amount of content. If necessary, contact your Bazaarvoice Account Executive for pricing.

In addition, make sure you have gathered or are aware of the following:

  • User profile
  • User location

10-point scale

5-point scale

Half-point scale

5-point scale

1.0-1.9

1

0.0-1.4

1

2.0-4.0 2 1.5-2.4 2
4.1-6.9 3 2.5-3.4 3
7.0-9.0 4 3.5-4.4 4
9.1-10.0 5 4.5-5.0 5

Authenticity requirements

To import native or third-party content, verify that the content adheres to the Bazaarvoice Authenticity policy . In addition, be aware of the following:

  • New clients may import legacy content into Bazaarvoice without restriction once. To import and syndicate legacy content, Bazaarvoice textual moderation is required to process the content. Moderation is an additional fee.
  • Existing clients can import content if it is accompanied by submitter IP address, original submission time, and submitter display name. Content is not eligible for import if the content is purchased, collected by a third party, from sampling, or from a bot. Exceptions are in place for the Content Acquisition Partner Program (CAPP).
  • Imported content cannot be syndicated if it has not been moderated by Bazaarvoice.
  • Imported content can be syndicated only if it is legacy content of a new Bazaarvoice client.
  • The Bazaarvoice Trust Mark cannot be displayed with imported content.
  • Bazaarvoice cannot accept or display reviews that were submitted to you on paper or through a survey. Reviews must be specific to a product or service.

Moderation guidelines

To ensure your imported content is moderated according to your business requirements, review and approve your guidelines. If you are not sure if this step has been completed, contact Bazaarvoice. Review our moderation process for more information.

Display extra information

When you import native or third-party content, it is automatically mapped to the standard Ratings & Reviews features that are displayed for each of your products. In other words, all you need to do is create a native content import feed and then upload it to Bazaarvoice if your content includes only the following:

  • Ratings
  • Reviews titles and text
  • User information
  • Questions
  • Answers

However, if your content contains extra information, such as secondary ratings, additional product information such as usefulness or value, or helpfulness votes, you must instruct Ratings & Reviews on how to display the extra information. This must be done using the Ratings & Reviews configuration hub before you import the feed. Otherwise, the imported content is not displayed.

Set up additional ratings, submission form questions, and tags

Complete the following steps for each additional rating, submission form question, or tag you will import:

  1. Sign in to the Bazaarvoice Portal .
  2. Select Configuration from the Portal menu located in the upper-left corner.
  3. Select an instance.
  4. Select Go to Configuration. The Site Manager appears, listing the available deployment zones and implementations.

    Note: You can also add new deployment zones and implementations on this screen.

  5. Under Implementations, use the filter to find the name of the implementation you require.
  6. Select Edit next to the implementation where you want to add the ratings, questions, or tags.
  7. From the menu on the left side of the page, select Submission Form Editor under User Experience.
  8. Select located in the upper-left corner of the page to find the product category name or ID of the submission form you want to modify.

    Note: The editor automatically displays the All Products submission form. If you add, edit, or delete questions in this particular form, the editor applies your changes to all linked forms.

  9. Add a new question to the submission form in which you wish to display the imported content:
    • To add an additional (secondary) rating for such things as product, effectiveness, or value, select + New Question in the Ratings section and then select Add a Custom Question. (This question maps to the <RatingValues> element in the feed.)
    • To add a dropdown question for a product, select + New Question in the Product section and then select Add a Custom Question. Select Dropdown Select as the Question Type. (This question maps to the <ContextDataValues> element in the feed.)
    • To add a dropdown question for a user, select + New Question in the People section and then select Add a Custom Question. Select Dropdown Select as the Question Type. (This question maps to the <ContextDataValues>element in the feed.)
    • To add a free text question about the product, select + New Question in the Product section and then select Add a Custom Question. Select Free Text as the Question Type. (This question maps to the <AdditionalFields> element in the feed.)
    • To display additional information as free-form text about users, select + New Question in the People section and then select Add a Custom Question. Select Free Text as the Question Type. (This question maps to the <AdditionalFields> element in the feed.)
    • To add a tag that describes a product, select + New Question in the Product section and then select Add a Custom Question. Select Tag Groups as the Question Type. (This question maps to the <Tags> element in the feed.)

    For more information about submission form questions, see Submission form questions reference.

  10. Record the question ID and question type you selected. You will need this information when you create the feed.
  11. Deploy the changes to the implementation.

Set up helpfulness voting

Complete the following steps if you plan to import helpfulness votes. When you create the import feed file, this maps helpfulness voting information to the <ReviewStatistics> element.

  1. Sign in to the Portal .
  2. Select Configuration from the Portal menu located in the upper-left corner.
  3. Select an instance.
  4. Select Go to Configuration. The Site Manager appears, listing the available deployment zones and implementations.

    Note:  You can also add new deployment zones and implementations on this screen.

  5. Under Implementations, use the filter to find the name of the implementation you require.
  6. Select Edit next to the implementation where you want to enable helpfulness voting.
  7. From the menu on the left side of the page, select Display Options under User Experience.
  8. Select the Ratings & Reviews tab.
  9. In the Review Helpfulness Voting section, select Enabled.
  10. Deploy the changes to the implementation.

Create and upload the XML feed file

Before your website can display native or third-party content, you need to create a native content import feed so that Bazaarvoice can import this content. The import feed is an XML document that defines products and the UGC that was collected by your homegrown solution or third-party provider.

Before beginning, consider these recommendations:

  • Consider excluding reviews with a rating of zero. This will negatively impact the overall average rating of a product.
  • Convert reviews that used a 10-point scale or half-point scale.

Complete the following steps to create your native content import feed and upload it to Bazaarvoice.

Step 1: Create the XML feed file

How you generate a feed depends on your system and processes. Regardless of your situation, every feed must be an XML file and follow the same structure.

Get started structuring your product catalog by referring to the schema , which defines the feed’s structure and contents. Refer to the examples to see complete feeds.

Bazaarvoice recommends the following best practices when you create a feed file:

  • Ensure that the first line of your feed adheres to the following format:

    <?xml version="1.0" encoding="utf-8"?>
    
  • The standard character-encoding scheme, such as UTF-8 or Windows-1252, must match the scheme that you use for any special characters in the feed.
  • If you do not have a value for a particular field, omit the field from your feed. Do not include the field with a blank value.

Step 2: Check the elements and attributes

You must use the appropriate elements and attributes to describe products and UGC information. Refer to the following tables for child elements and attributes for the <Feed>, <Product>, <Reviews>, <Questions>, <ReviewStatistics> and <QAStatistics> elements.

Feed element

The following table identifies required attributes for the <Feed> element.

Attribute Description
xmlns Schema reference. Set this value to http://www.bazaarvoice.com/xs/PRR/StandardClientFeed/14.8.
name The short version of your Bazaarvoice client name.
extractDate A timestamp that should be populated automatically in the XML DateTime format .
<Feed xmlns="http://www.bazaarvoice.com/xs/PRR/StandardClientFeed/14.8" name="ABCCompany" extractDate="2016-11-21T22:44:33.179+01:00">

Product element

The <Product> element defines a product in your feed, and it can contain <Reviews> and <Questions> child elements. You can include multiple <Product> elements in your feed, one for each product.

This element must include the following:

  • id attribute—Its value must match the product’s ExternalId value in your product catalog.
  • <ExternalId> child element—Its value must match the id attribute’s value.

Refer to the feed schema or standard client feed structure for a complete list of available elements.

<Product id="1010">
   <ExternalId>1010</ExternalId>
   <Reviews>...</Reviews>
   <Questions>...</Questions>
</Product>

Reviews and Review elements

This element contains <Review> child elements, one for each piece of content that you want to import and display with your product.

Each <Review> element must include the id attribute, which must be a unique value (integer). Then, specify child elements in each <Review> element. The following table provides the most common elements. Refer to the feed schema or standard client feed structure for a complete list of available elements.

Element Value

ModerationStatus

Required

The current status of a given review, such as whether a review is waiting for some action from moderators, CMS, or is approved or rejected. Possible values: APPROVED and REJECTED.

Type: Enum

Affects: Display, Reporting

UserProfileReference

Required

Information about a user's profile. If this element is omitted, the review is imported as "Anonymous." This element is required if the review will be syndicated.

For each <UserProfileReference> element, specify these child elements:

  • <ExternalId>

    Identifier of the user. The user ID cannot include spaces or special characters, and it should never include an email address or other personally identifiable information (PII), unless it is hashed to obfuscate the data. This element is required.

    Type: String (varchar(255))

    Affects: Reporting

  • <DisplayName>

    Name of the reviewer that is displayed with their content. Must be unique across all users specified in the feed, unless duplicate nicknames are allowed. This element is required if an existing Bazaarvoice client wants to import content.

    Type: String (varchar(255))

    Affects: Display, reporting

  • <Anonymous>

    Whether the user wants to stay anonymous. If set to true, most of the information and fields are not seen. This element is required.

    Type: Boolean

    Affects: Display, reporting

  • <HyperlinkingEnabled>

    Indicates if a user's answers are automatically parsed for hyperlinks. Set this to false if you are unsure. This element is required.

    Type: Boolean

    Affects: Display

Title

Best practice

Review title in a form specified by its author.

Type: String (varchar(255))

Affects: Display

ReviewText

Best practice

Full text of the review in a form specified by its author.

Type: String (text)

Affects: Display

Rating

Required

A rating value chosen by the reviewer (usually this is a reflection of the number of "stars").

Type: Int (int(11))

Affects: Display, reporting

IpAddress

Required

An IP address of reviewer. This element is required if an existing Bazaarvoice client wants to import content.

Type: String (varchar(255))

Affects: Authenticity

Recommended

Optional

Whether review is marked with the "Recommended" flag. This means that during review submission, the user confirmed that they will recommend this product to a friend.

Type: Boolean

Affects: Display, reporting

UserEmailAddress

Best practice

The user's email address. This element is optional, but it is a best practice to include it.

Type: String (varchar(255))

Affects: Reporting, authenticity, platform functionality

ReviewerLocation

Optional

The user's location.

Type: String (varchar(255))

Affects: Display

SubmissionTime

Required

The time when the review was submitted by its author (before moderation process). Must be specified in the XML DateTime format . This element is required if an existing Bazaarvoice client wants to import content.

Type: Date (Timestamp)

Affects: Authenticity, display, reporting

Featured

Optional

Whether this content is especially interesting and well written. This value is assigned during moderation. This element is required.

Type: Boolean

Affects: Display, reporting

DisplayLocale

Best practice

Locale from which the review was submitted. This element is required if you are importing content from different locales or languages.

Type: String (varchar(25))

Affects: Display, reporting

NumFeedbacks

Optional

Number of any feedback entries on a given review (positive + negative).

Type: Int (4-byte Integer)

Affects: Display, reporting

NumPositiveFeedbacks

Optional

Number of positive feedback entries on a given review.

Type: Int (4-byte Integer)

Affects: Display, reporting

NumNegativeFeedbacks

Optional

Number of negative feedback entries on a given review.

Type: Int (4-byte Integer)

Affects: Display, reporting

NumInappropriateFeedbacks

Optional

Number of times customers reported that this review has inappropriate or irrelevant content.

Type: Int (4-byte Integer)

Affects: Display, reporting

AdditionalFields and AdditionalField

Optional

A list of additional (non-default) free-text questions that the review might include. Specify this element and its child elements if you want to display a free-text review for a product or user.

Each <AdditionalField> element must specify the id attribute and its value is the QuestionID that you noted in Set up additional ratings, submission form questions, and tags. Then, for each <AdditionalField> element , specify these child elements:

  • <DisplayLabel>

    The consumer-facing label of the question on the form.

    Type: String (varchar(255))

  • <Value>

    The reviewer's free-text answer to the question.

    Type: String (varchar(255))

Affects: Display, reporting

ClientResponses and ClientResponse

Optional

A list of client responses from a representative of your company for a consumer comment left on a product. For each <ClientResponse> element, specify these child elements:

  • <Department>

    Identification or location of a physical or web store from which a response is coming. Recommended if the responding party's department is available.

    Type: String (varchar(255))

  • <Name>

    The name of the person who left a comment from the client side. Recommended if the responding party's name is available.

    Type: String (varchar(255))

  • <Response>

    Response text. This field is required.

    Type: String (text)

  • <ResponseSource>

    Source from which the response was submitted. Recommended.

    Type: String (varchar(255))

  • <Date>

    The submission date. Responses and client comments are not moderated. Required and must be specified in the XML DateTime format .

    Type: Date (Timestamp)

Affects: Display

Tags and TagDimension

Optional

A list of tag dimensions. Specify this element and its child elements if you want to display product tags.

Each <TagDimension> element must specify the id attribute and its value must match the value of the <ExternalId> child element, and the value is that of QuestionID, which you noted in Set up additional ratings, submission form questions, and tags. For each <TagDimension> element, specify these child elements:

  • <ExternalId>

    Identifier of the tag dimension.

    Type: String (varchar(255))

  • <Label>

    The tag dimension's the client-facing label. The value is taken from a client or default display configurations (if any description available). This is required.

    Type: String (varchar(255))

  • <Tags> and <Tag>

    A list of tags. For each <Tag> child element, you must specify the <Label> child element, which explains a tag in the tag dimension. The value is taken from a client or default display configurations (if any description available). This is required.

    Type: String (varchar(255))

Affects: Display

Photos and Photo

Optional

A set of photo references with captions left by the reviewer.

Each <Photo> child element which must specify the id attribute and its value must be unique. For each <Photo> element, specify these child elements:

  • <Caption>

    A description of the photo left by the reviewer.

    Type: String (text)

  • <Sizes>and <Size>

    A list of images in different sizes (if available). Each <Size> child element must include these attributes:

    • id, which specifies the ID of the size.
    • url, which specifies a URL to an image of a certain size.
      Note: If the URL contains a reserved (special) character, you must URL-encode the character. For example, use &amp for an ampersand, use %20 for a space, or use %5B and %5D for square brackets ([]).

    <Sizes>and <Size> are required.

Affects: Display

Videos and Video

Optional

A set of video references with captions left by the reviewer. For each <Video> child element, specify these child elements:

  • <Caption>

    A description of the video that was left by the reviewer.

    Type: String (text)

  • <VideoHost>

    The Video Hosting service (such as YouTube). This is required.

    Note: If the URL contains a reserved (special) character, you must URL-encode the character. For example, use &amp for an ampersand, use %20 for a space, or use %5B and %5D for square brackets ([]).

    Type: URL / String (varchar(255))

  • <VideoId>

    The video from a certain video hosting service (such asYouTube). This is required.

    Type: String (varchar(255))

  • <RawUrlInput>

    URL to the video hosted on the video hosting service. This is required.

    Note: If the URL contains a reserved (special) character, you must URL-encode the character. For example, use &amp for an ampersand, use %20 for a space, or use %5B and %5D for square brackets ([]).

    Type: URL / String (varchar(255))

Affects: Display

ContextDataValues and ContextDataValue

Optional

A list of dropdown questions that a review might include. Specify this element and its child elements if you want to display information collected by a dropdown question for a product or user.

Each <ContextDataValue> child element must specify the id attribute and its value is the QuestionID that you noted in Set up additional ratings, submission form questions, and tags. For each <ContextDataValue> element, specify these child elements:

  • <ContextDataDimension>

    A dimension (description) of what was evaluated. This element must specify the id attribute, which is the label of the dimension. This is required.

    Then, specify these child elements:

    • <ExternalId>, which matches the value of the id attribute.
    • <Label>, which is the customer-facing label of the dimension.
  • <ExternalId>

    The value chosen by a user (reviewer).

    Type: String (varchar(255))

  • <Label>

    The customer-facing label that is displayed. This is required.

    Type: String (varchar(255))

Affects: Display

RatingValues and RatingValue

Optional

A list of secondary ratings for different dimensions or product qualities. Specify this element and its child elements if you want to display an additional (secondary) rating for a product. For each <RatingValue> element, specify these child elements:

  • <Rating>

    A score chosen by the user for a specific dimension. This is required.

    Type: Int (int(11))

  • <RatingDimension>

    Specifies information about alternative characteristics, such as the ease of use, price, material, or comfort. This is required.

    The following attributes are required for this element:

    • displayType, which indicates the type of tool used to provide the rating value, such as NORMAL, SLIDER, or RADIO.
    • id, which must match the <ExternalId>.
    • selectedValueInDisplayEnabled, which indicates whether the value should be shown in display or hidden.

    Then, specify these child elements:

    • <ExternalId>, which is the ID of the value that was rated.
    • <Label>, which is the customer-facing label of value that was rated.
    • <RatingRange>, which indicates the maximum value of a secondary rating. Ratings will vary between 1 and this value. The default value is 5, but some clients prefer to have more (or fewer) "maximum stars" for their secondary ratings functionality. This value is configured in the client's display or submission configuration.

Affects: Display

<Reviews>
   <Review id="12" removed="false">
      <ModerationStatus>APPROVED</ModerationStatus>
      <UserProfileReference id="jimbob101">
         <ExternalId>jimbob101</ExternalId>
         <DisplayName>JimBob</DisplayName>
         <Anonymous>false</Anonymous>
         <HyperlinkingEnabled>false</HyperlinkingEnabled>
      </UserProfileReference>
      <Title>What an amazing product!</Title>
      <ReviewText>This product is great and I'll definitely recommend it to my friends!</ReviewText>
      <Rating>4</Rating>
      <IpAddress>198.51.100.0</IpAddress> 
      <Recommended>true</Recommended>
      <UserEmailAddress>jimbob101@example.com</UserEmailAddress>
      <ReviewerLocation>Austin, TX</ReviewerLocation>
      <SubmissionTime>2012-01-23T04:26:14.000-06:00</SubmissionTime>
      <Featured>false</Featured>
      <DisplayLocale>en_US</DisplayLocale>
      <Photos>
         <Photo id="104358">
            <Caption>Thumbs and some Normal</Caption>
            <Sizes>
               <Size id="thumbnail" url="https://ABCCompany.com/commons/5/50/Emoji_Grinning_Face.svg"/>
               <Size id="normal" url="https://ABCCompany.com/commons/thumb/5/50/Emoji_Grinning_Face.svg/2000px-Emoji_Grinning_Face.svg.png"/>
            </Sizes>
         </Photo>
      </Photos>
   </Review>
   ...
</Reviews>

Questions and Question elements

This element contains <Question> child elements, one for each piece of content that you want to import and display with your product.

Each <Question> element must include the id attribute, which must be a unique value (integer). Then, specify child elements in each <Question> element. The following table provides the most common elements. Refer to the feed schema or standard client feed structure for a complete list of available elements.

Element Value
SubmissionTime

The time when the question was submitted by its author (before moderation process). Must be specified in the XML DateTime format .

Type: Date (Timestamp)

UserNickname

A nickname chosen by the author of a question. Must be unique across all users specified in the feed, unless duplicate nicknames are allowed.

Type: String (varchar(255))

UserLocation

The location of the author of a question.

Type: String (varchar(255))

QuestionSummary

The summary line of the question.

Type: String (varchar(255))

QuestionDetails

The body of the question.

Type: String (text)

DisplayLocale

Locale from where the question was submitted. This is required if importing content from different locales or languages.

Type: String (varchar(25))

Answers and Answer

A list of answers to the question. For each <Answer> element, specify these child elements:

<SubmissionTime>

Time when the answer was submitted by its author (before moderation process).

Type: Date (Timestamp)

<UserProfileReference> Information about a user's profile. If this element is omitted, the answer is imported as "Anonymous." For each <UserProfileReference> element, specify these child elements.
<UserNickname>

A nickname chosen by the author of an answer. Must be unique across all users specified in the feed, unless duplicate nicknames are allowed.

Type: String (varchar(255))

<UserLocation>

The location of the author of an answer.

Type: String (varchar(255))

<AnswerText>

An answer text to the question.

Type: String (text)

<DisplayLocale>

Locale from which an answer was submitted.

Type: String (varchar(25))

<Questions>
  <Question id="44135">
   <SubmissionTime>2008-11-21T22:44:33.179+01:00</SubmissionTime>
   <UserNickname>Dave</UserNickname>
   <UserLocation>London</UserLocation>
   <QuestionSummary>Can we import Q&A questions?</QuestionSummary>
   <QuestionDetails>The reason I ask is that I'm really curious</QuestionDetails>
   <DisplayLocale>en_GB</DisplayLocale>
   <Answers>
      <Answer id="1">
        <SubmissionTime>2008-11-22T22:44:33.179+01:00</SubmissionTime>
        <UserProfileReference id="Tim">
            <ExternalId>Tim</ExternalId>
            <Anonymous>false</Anonymous>
            <HyperlinkingEnabled>false</HyperlinkingEnabled>
        </UserProfileReference>
        <UserNickname>Tim</UserNickname>
        <UserLocation>Edinburgh</UserLocation>
        <AnswerText>I think so</AnswerText>
        <DisplayLocale>en_GB</DisplayLocale>
      </Answer>
      ...
   </Answers>
  </Question>
   ...
</Questions>

ReviewStatistics and QAStatistics elements

If you intend to import helpfulness votes, be sure to enable helpfulness voting in the configuration hub. Then, include one or both of these elements in your feed. <ReviewStatistics> displays Ratings & Reviews statistics. <QAStatistics> displays Questions & Answers statistics.

The following table provides the child elements that relate to helpfulness voting. Refer to the feed schema or standard client feed structure for a complete list of available elements.

Element Value
QuestionHelpfulVoteCount

Number of "Helpful" votes submitted for all user's approved questions.

Type: Int (4-byte Integer)

QuestionNotHelpfulVoteCount

Number of "Not Helpful" votes submitted for all user's approved questions.

Type: Int (4-byte Integer)

AnswerHelpfulVoteCount

Number of "Helpful" votes submitted for all user's approved answers.

Type: Int (4-byte Integer)

AnswerNotHelpfulVoteCount

Number of "Not Helpful" votes submitted for all user's approved answers.

Type: Int (4-byte Integer)

HelpfulVoteCount

Total number of "Helpful" votes submitted for all user's approved content of a certain type.

Type: Int (4-byte Integer)

NotHelpfulVoteCount

Total number of "Not Helpful" votes submitted for all user's approved content of a certain type.

Type: Int (4-byte Integer)

<ReviewStatistics>
    <HelpfulVoteCount>0</HelpfulVoteCount>
    <NotHelpfulVoteCount>1</NotHelpfulVoteCount>
  </ReviewStatistics>
 
  <QAStatistics>
    <QuestionHelpfulVoteCount>26</QuestionHelpfulVoteCount>
    <QuestionNotHelpfulVoteCount>5</QuestionNotHelpfulVoteCount>
    <AnswerHelpfulVoteCount>145</AnswerHelpfulVoteCount>
    <AnswerNotHelpfulVoteCount>2</AnswerNotHelpfulVoteCount>
    <HelpfulVoteCount>178</HelpfulVoteCount>
  </QAStatistics>

Step 3: Validate and prepare the feed

Your feed needs well-formed XML that works with the Bazaarvoice XML schema . Complete these steps to validate and prepare the feed for Bazaarvoice.

  1. Validate your feed against the Bazaarvoice XML schema before uploading it to Bazaarvoice. You can use an XML validation tool to validate your feed.
  2. If there are errors or warnings, fix the problems and then revalidate the feed.
  3. If the file is larger than 150MB (typically if there are more than 100,000 reviews), split the feed into multiple files. You can do this manually, using a simple text editor, or you can use a command-line tool, such as xmlsplit .
  4. If the content is not English, make sure that the XML feed includes the correct language and locale tag.

Step 4: Upload the feed

You must upload the native content import feed to the production server, but Bazaarvoice recommends that you preview and test the feed’s impact on the staging server first.

  1. Upload the XML file to the /native directory of the staging and production SFTP server.
    • If your data is hosted in the US, use the following URLs:
      • Staging server—sftp-stg.bazaarvoice.com
      • Production server—sftp.bazaarvoice.com
    • If your data is hosted in Europe, use the following URLs:
      • Staging server—sftp7-stg.bazaarvoice.com
      • Production server—sftp7.bazaarvoice.com

    Be sure to connect to SFTP using port 22. Contact Bazaarvoice Support if you do not know your SFTP credentials or where your data is hosted.

  2. Contact Bazaarvoice to let us know that you have validated and uploaded the feed. The content will not be imported until you notify Bazaarvoice.

Full feed examples

The following is a full feed example for Ratings & Reviews:

<?xml version="1.0" encoding="utf-8"?>
<Feed xmlns="http://www.bazaarvoice.com/xs/PRR/StandardClientFeed/14.8" name="ExampleClient" extractDate="2016-02-12T05:17:33.945-06:00">
   <Product id="1010">
      <ExternalId>1010</ExternalId>
      <Reviews>

         <!-- 
            The following is an example of a basic review - it features the most common elements included in import feeds. 
            These elements are required for syndication:
               - <IpAddress>
               - <DisplayName>
               - <SubmissionTime>
         -->
         <Review id="12" removed="false">
            <ModerationStatus>APPROVED</ModerationStatus>
            <UserProfileReference id="jimbob101">
               <ExternalId>jimbob101</ExternalId>
               <DisplayName>JimBob</DisplayName>
               <Anonymous>false</Anonymous>
               <HyperlinkingEnabled>false</HyperlinkingEnabled>
            </UserProfileReference>
            <Title>What an amazing product!</Title>
            <ReviewText>This product is great and I'll definitely recommend it to my friends!</ReviewText>
            <Rating>4</Rating>
            <IpAddress>198.51.100.0</IpAddress> 
            <Recommended>true</Recommended>
            <UserEmailAddress>jimbob101@example.com</UserEmailAddress>
            <ReviewerLocation>Austin, TX</ReviewerLocation>
            <SubmissionTime>2012-01-23T04:26:14.000-06:00</SubmissionTime>
            <Featured>false</Featured>
            <DisplayLocale>en_US</DisplayLocale>
         </Review>

         <!-- 
            This following is a sample review featuring additional attributes that can be included in this file. 
         -->
         <Review id="11" removed="false">
            <ModerationStatus>APPROVED</ModerationStatus>
            <UserProfileReference id="miketester112">
               <ExternalId>miketester112</ExternalId>
               <DisplayName>supermike</DisplayName>
               <Anonymous>false</Anonymous>
               <HyperlinkingEnabled>false</HyperlinkingEnabled>
            </UserProfileReference>
            <Title>Best product ever!</Title>
            <ReviewText>This product truly changed my life; I don't know what I'd do without it.</ReviewText>
            <Rating>5</Rating>
            <IpAddress>198.51.100.1</IpAddress>
            <Recommended>true</Recommended>
            <UserEmailAddress>supermike@example.com</UserEmailAddress>
            <ReviewerLocation>Austin, TX</ReviewerLocation>
            <SubmissionTime>2012-01-23T12:59:25.000-06:00</SubmissionTime>
            <Featured>false</Featured>
            <DisplayLocale>en_US</DisplayLocale>

            <!-- 
               See below for the different types of review feedback.
                  - <NumFeedbacks> is the number of any feedbacks on a given review (positive + negative).
                  - <NumPositiveFeedbacks> is the number of positive feedbacks on a given review.
                  - <NumNegativeFeedbacks> is the number of negative feedbacks on a given review.
                  - <NumInappropriateFeedbacks> is the number of times consumers reported that this review has 
                    inappropriate content.
            -->
            <NumFeedbacks>3</NumFeedbacks>
            <NumPositiveFeedbacks>2</NumPositiveFeedbacks>
            <NumNegativeFeedbacks>1</NumNegativeFeedbacks>
            <NumInappropriateFeedbacks>1</NumInappropriateFeedbacks>

            <!-- 
               The following field allows you to add a custom question with a free-text response. All listed 
               elements are required.
                  - <DisplayLabel> represents the consumer-facing label of the question
                  - <Value> is where the reviewer's free-text answer is included.
            -->
            <AdditionalFields>
               <AdditionalField id="CustomQuestion">
                  <DisplayLabel>Custom Question:</DisplayLabel> 
                  <Value>This is my custom answer</Value>
               </AdditionalField>
            </AdditionalFields>

            <!-- 
               The following field allows you to add company responses to reviews. All elements listed are required 
               unless otherwise noted.
                  - <ClientResponse> is the field where a representative of your company has responded up to a 
                    consumer comment left on a product.
                  - <Department> is not required, but recommended if the responding party's department is 
                    available.
                  - <Name> is not required, but recommended if the responding party's name is available.
                  - <Response> is  where you include your company's response to a review. This field is required.
                  - <ResponseSource> is not required, but recommended if you have data on where the response from 
                    your company's representative was generated. In this example, the response came from 
                    'Workbench', which is where Bazaarvoices' clients generally generate responses to consumer 
                    reviews. 
                  - <Date> is required in datetime format. 
            -->
            <ClientResponses>
               <ClientResponse>
                  <Department>Responding Department's Name</Department>
                  <Name>Respondant's Name</Name>
                  <Response>Our number one priority is to deliver exceptional value to our fantastic customers 
                     every day. We will contact you straight away to see how we can improve the outcome for you.
                  </Response> 
                  <ResponseSource>Workbench</ResponseSource>
                  <Date>2016-11-12T13:21:43.000-06:00</Date>
               </ClientResponse>
            </ClientResponses>

            <!-- 
               The Tags field allows you to add tags and tag dimensions to the review. All listed elements are 
               required. 
                  - <TagDimension><Label> is the client-facing label that the tags live within.
                  - <Tag><Label> are the different tag names that fall underneath <TagDimension><Label> 
                    (in the example below, these labels live within the "Pro" or "Con" master label).
            -->
            <Tags>
               <TagDimension id="Pro">
                  <ExternalId>Pro</ExternalId>
                  <Label>Pros</Label>
                  <Tags>
                     <Tag>
                        <Label>Entertaining Friends</Label> 
                     </Tag>
                     <Tag>
                        <Label>Daily practicing</Label>
                     </Tag>
                     <Tag>
                        <Label>Nice sound</Label>
                     </Tag>
                  </Tags>
               </TagDimension>
               <TagDimension id="Con">
                  <ExternalId>Con</ExternalId>
                  <Label>Cons</Label>
                  <Tags>
                     <Tag>
                        <Label>Very loud</Label>
                     </Tag>
                     <Tag>
                        <Label>Requires practice</Label>
                     </Tag>
                  </Tags>
               </TagDimension>
            </Tags>

            <!-- 
               The following fields allow you to add add photos or videos included in a review. All elements listed
               are required unless otherwise noted.
                  - <Photo id="___"> and <VideoId> are both required. You can include any alpha-numeric ID you'd 
                    like here, ensuring that each ID is unique.
                  - <Caption> is an optional field.
            -->
            <Photos>
               <Photo id="104358">
                  <Caption>Thumbs and some Normal</Caption> 
                  <Sizes>
                     <Size id="thumbnail" url="https://upload.wikimedia.org/wikipedia/commons/5/50/Emoji_Grinning_Face.svg"/> 
                     <Size id="normal" url="https://upload.wikimedia.org/wikipedia/commons/thumb/5/50/Emoji_Grinning_Face.svg/2000px-Emoji_Grinning_Face.svg.png"/>
                  </Sizes>
               </Photo>
            </Photos>
               
            <Videos>
               <Video>
                  <Caption>Burgers and Fries</Caption>
                  <VideoHost>www.youtube.com</VideoHost>
                  <VideoId>burgersandfries</VideoId>
                  <RawUrlInput>https://www.youtube.com/watch?v=DcJFdCmN98s</RawUrlInput>
               </Video>
            </Videos>

            <!-- 
               Context data values are custom fields with pre-defined answers that a user can choose from. All 
               listed fields are required. 
                  - <ContextDataValue> is the response to the ContextDataDimension.
                  - <ContextDataDimension> is the label/question being responded to.
                  - <Label> is the client-facing label.
            -->
            <ContextDataValues>
               <ContextDataValue id="35to44">
                  <ContextDataDimension id="Age">
                     <ExternalId>Age</ExternalId>
                     <Label>Age</Label>
                  </ContextDataDimension>
                  <ExternalId>35to44</ExternalId>
                  <Label>35 to 44</Label>
               </ContextDataValue>
               <ContextDataValue id="Female">
                  <ContextDataDimension id="Gender">
                     <ExternalId>Gender</ExternalId>
                     <Label>Gender</Label>
                  </ContextDataDimension>
                  <ExternalId>Female</ExternalId>
                  <Label>Female</Label>
               </ContextDataValue>
               <ContextDataValue id="InStore">
                  <ContextDataDimension id="ROBO">
                     <ExternalId>ROBO</ExternalId>
                     <Label>Where Purchased:</Label>
                  </ContextDataDimension>
                  <ExternalId>InStore</ExternalId>
                  <Label>In-Store</Label>
               </ContextDataValue>
               <ContextDataValue id="True">
                  <ExternalId>True</ExternalId>
                  <Label>Yes</Label>
                  <ContextDataDimension id="VerifiedPurchaser">
                    <ExternalId>VerifiedPurchaser</ExternalId>
                    <Label>Verified Purchaser</Label>
                  </ContextDataDimension>
               </ContextDataValue>
               <ContextDataValue id="False">
                  <ExternalId>False</ExternalId>
                  <Label>No</Label>
                  <ContextDataDimension id="IncentivizedReview">
                    <ExternalId>IncentivizedReview</ExternalId>
                    <Label>Incentivized Review</Label>
                  </ContextDataDimension>
               </ContextDataValue>
            </ContextDataValues>

            <!-- 
               The following fields add rating values to reviews.
                  - The <Rating> field is the rating given to value listed below.
                  - The <RatingDimension> field contains the following:
                     - The displayType indicates the type of tool used to provide the rating value (see below for
                       additional examples.)
                     - The selectedValueInDisplayEnabled indicates whether the value should be shown in display 
                       or hidden.
                  - <ExternalId> represents the value being rated.
                  - <Label> is the client-facing label of value being rated.
                  - <RatingRange> represents the total rating-range available.
            -->
            <RatingValues>
               <RatingValue>
                  <Rating>5</Rating>
                  <RatingDimension displayType="NORMAL" id="Quality" selectedValueInDisplayEnabled="false"> 
                     <ExternalId>Quality</ExternalId>
                     <Label>Quality</Label>
                     <RatingRange>5</RatingRange>
                  </RatingDimension>
               </RatingValue>
               <RatingValue>
                  <Rating>5</Rating>
                  <RatingDimension displayType="SLIDER" id="Fragrance" selectedValueInDisplayEnabled="false">
                     <ExternalId>Fragrance</ExternalId>
                     <Label>Fragrance</Label>
                     <RatingRange>5</RatingRange>
                  </RatingDimension>
               </RatingValue>
               <RatingValue>
                  <Rating>5</Rating>
                  <RatingDimension displayType="RADIO" id="Effectiveness" selectedValueInDisplayEnabled="false">
                     <ExternalId>Effectiveness</ExternalId>
                     <Label>Effectiveness</Label>
                     <RatingRange>5</RatingRange>
                  </RatingDimension>
               </RatingValue>
            </RatingValues>
         </Review>
      </Reviews>
   </Product>
</Feed>

The following is a full feed example for Questions & Answers:

<?xml version="1.0" encoding="UTF-8"?>
<Feed xmlns="http://www.bazaarvoice.com/xs/PRR/StandardClientFeed/14.8" name="ExampleClient" extractDate="2016-11-21T22:44:33.179+01:00">
   <Product id="1010">
      <ExternalId>1010</ExternalId>
      <Questions>
         <!-- 
            The following is an example of basic questions and answers. 
            These elements are required for syndication:
               - <IpAddress>
               - <DisplayName>
               - <SubmissionTime>
         -->
         <Question id="44135">
            <SubmissionTime>2016-11-21T22:44:33.179+01:00</SubmissionTime>
            <UserProfileReference id="jimbob101">
               <ExternalId>jimbob101</ExternalId>
               <DisplayName>JimBob</DisplayName>
               <Anonymous>false</Anonymous>
               <HyperlinkingEnabled>false</HyperlinkingEnabled>
            </UserProfileReference>
            <UserLocation>Austin, TX</UserLocation>
            <QuestionSummary>Can we import Q&A questions?</QuestionSummary>
            <QuestionDetails>The reason I ask is that I'm really curious</QuestionDetails>
            <IpAddress>198.51.100.0</IpAddress>
            <DisplayLocale>en_US</DisplayLocale>
            <Answers>
               <Answer id="1">
                  <SubmissionTime>2016-11-22T22:44:33.179+01:00</SubmissionTime>
                  <UserProfileReference id="Tim">
                     <ExternalId>Tim</ExternalId>
                     <DisplayName>Tim</DisplayName>
                     <Anonymous>false</Anonymous>
                     <HyperlinkingEnabled>false</HyperlinkingEnabled>
                  </UserProfileReference>
                  <UserLocation>Houston, TX</UserLocation>
                  <AnswerText>I think so</AnswerText>
                  <IpAddress>198.51.100.2</IpAddress>
                  <DisplayLocale>en_US</DisplayLocale>
               </Answer>
               <Answer id="5">
                  <SubmissionTime>2016-11-23T22:44:33.179+01:00</SubmissionTime>
                  <UserProfileReference id="becker">
                     <ExternalId>becker</ExternalId>
                     <DisplayName>Becker</DisplayName>
                     <Anonymous>false</Anonymous>
                     <HyperlinkingEnabled>false</HyperlinkingEnabled>
                  </UserProfileReference>
                  <UserLocation>New York, NY, USA</UserLocation>
                  <AnswerText>A guy I know has done it</AnswerText>
                  <IpAddress>198.51.100.3</IpAddress>
                  <DisplayLocale>en_US</DisplayLocale>
               </Answer>
            </Answers>
         </Question>
      </Questions>
   </Product>
</Feed>

Verify imported content

After Bazaarvoice has completed your import in staging, please review the newly imported content on your staging product pages and compare it to your current live website, thoroughly checking the following list:

Reviews imported with a rating of zero negatively impact the overall average rating. If a review has no rating, omit the <Rating> element from the import file.

If multiple contributors use the same display name, the display name is "Anonymous" for all contributors after the first instance of that display name. Therefore, modify display names so that they are unique. If users are allowed to write multiple reviews on a single product, contact Bazaarvoice to ensure that your configuration is updated.

By default, the maximum review title is 50 characters in length. If titles are truncated, contact Bazaarvoice to update the maximum review title length.

For example, are there any reviews that appear with dates that are many years in the past or future? If so, double check that dates are defined correctly in your import file.

For example, is an incorrect location such as “FakeLocation, WY” displayed with reviews? If so, double check that locations are correctly defined in the ReviewerLocation element of your import file.

Make sure that the external IDs in the import file match the external IDs in your product catalog and the product IDs in the JavaScript integration code on the product page.

Keep in mind that reviews that contain less than 50 characters may be hidden as ratings-only reviews. Contact Bazaarvoice to change this threshold.

For example, are there multiple positive reviews with “No” selected? If the “Recommended” question was not asked when you originally collected reviews, omit this question from the import file.

If not, contact Bazaarvoice to confirm that the correct IDs were mapped in your import file.

If not, ensure that photos or videos have valid and correct URLs and that they are associated with the correct review in your import file.

Alternate method: .csv file

If you are unable to provide an XML feed of native content, you can provide essential review data in a comma-separated value (.csv) file. Bazaarvoice can then convert the worksheet to XML format for import.

Use the content import worksheet to capture review data. Headings (representing elements) marked with * (asterisk) are required.

Refer to Ratings and Review elements for details about each required element.