Uploading an XML file

Native content import

The import feed is an XML document that defines products and the user-generated content that was collected by your homegrown solution or third-party provider. An XML feed file delivered to our Secure File Transfer Protocol (SFTP) server. 

Regardless of which import format you choose, we will first import the content into your staging environment for you to review and approve. Once approved in staging, we will submit the content to the authenticity team for official vetting. Once approved by the authenticity team, the content will be imported into production. 


Quick links

Create and upload XML feed file

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 schemaOpens in new tab, 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:

    Code
    <?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 formatOpens in new tab.
▼ Example
<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 schemaOpens in new tab or standard client feed structure for a complete list of available elements.

▼ Example
<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 schemaOpens in new tab 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 formatOpens in new tab. 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

Required

Locale from which the review was submitted. This element is required.

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 formatOpens in new tab.

    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-encodeOpens in new tab 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-encodeOpens in new tab 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-encodeOpens in new tab 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

▼ Example
<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 schemaOpens in new tab 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 formatOpens in new tab.

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))




▼ Example
<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 schemaOpens in new tab 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)

▼ Example
<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 schemaOpens in new tab. Complete these steps to validate and prepare the feed for Bazaarvoice.

  1. Validate your feed against the Bazaarvoice XML schemaOpens in new tab 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 xmlsplitOpens in new tab.
  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 United States (US), use the following URLs:
      • Staging server—sftp-stg.bazaarvoice.com
      • Production server—sftp.bazaarvoice.com
    • If your data is hosted in Europe (EU), 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
<?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
<?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>


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.

Provide feedback button