Skip to Content

Bazaarvoice

Sync user-generated content from your warehouse to Bazaarvoice. Submit product reviews, questions, and other UGC at scale via the Bazaarvoice Conversations API, keeping your product pages enriched with authentic customer feedback.

Prerequisites

  • A Bazaarvoice account with Conversations API access enabled
  • A Conversations API passkey (obtained from the Bazaarvoice portal or your Bazaarvoice account team)
  • Product IDs in your data must match the external product IDs configured in your Bazaarvoice product catalog

Authentication

API Passkey

  1. Log in to the Bazaarvoice Portal 
  2. Navigate to your application settings or contact your Bazaarvoice account team to obtain a Conversations API passkey
  3. Ensure the passkey has submission permissions (not just display/read permissions)
  4. Paste the passkey into the API Passkey field in Zeotap

Important: Bazaarvoice issues separate passkeys for staging and production environments. Make sure you use the passkey that matches the environment selected in your destination configuration.

Configuration

FieldTypeRequiredDescription
EnvironmentSelectYesThe Bazaarvoice API environment: Production (live data) or Staging (testing). Defaults to Production.
LocaleTextNoThe locale for content submissions (e.g., en_US, fr_FR). Determines language and regional moderation rules. Defaults to en_US.

Target Settings

FieldTypeRequiredDescription
Content TypeSelectYesThe type of user-generated content to submit: Reviews or Questions.

Supported Operations

Sync Modes

ModeSupported
InsertYes
Upsert
Update
Mirror

The Bazaarvoice Conversations API is append-only — content is submitted and then moderated. Submitted content cannot be updated or deleted via the API.

Audience Sync Modes

ModeSupported
Add
Remove
Mirror
Upsert

Bazaarvoice does not have a list or audience membership concept. Audience sync is not applicable.

Features

  • Field Mapping: Yes
  • Schema Introspection: No

Required Mapping Fields

Content TypeRequired Fields
ReviewsProductId, Rating, ReviewText
QuestionsProductId, QuestionSummary

Default Destination Fields

Reviews

FieldTypeDescription
ProductIdstringThe Bazaarvoice external product ID
RatingintegerOverall review rating (1-5)
TitlestringReview headline (1-255 characters)
ReviewTextstringReview body text (50-10,000 characters)
UserNicknamestringDisplay name for the reviewer (4-25 characters)
UserEmailstringReviewer email address (used for moderation notifications)
UserIdstringYour internal user ID for the reviewer
UserLocationstringReviewer location (e.g., city, state)
isRecommendedbooleanWhether the reviewer recommends the product
NetPromoterScoreintegerNPS score (0-10)
NetPromoterCommentstringOptional NPS comment

Questions

FieldTypeDescription
ProductIdstringThe Bazaarvoice external product ID
QuestionSummarystringThe question text
QuestionDetailsstringAdditional question details or context
UserNicknamestringDisplay name for the question author
UserEmailstringAuthor email address
UserIdstringYour internal user ID for the author
UserLocationstringAuthor location
isUserAnonymousbooleanWhether to display the question anonymously

How It Works

  1. Content Submission: Zeotap sends individual form-encoded POST requests to the Bazaarvoice Conversations API for each row. Reviews are submitted to /data/submitreview.json and questions to /data/submitquestion.json.

  2. Authentication: Each request includes your API passkey as a parameter. The passkey determines which Bazaarvoice client and display configuration is used.

  3. Moderation: All submitted content enters the Bazaarvoice moderation queue. Content is not immediately visible on your site — it must pass moderation rules (automated and/or human review) before being published.

  4. Field Mapping: Map source columns to Bazaarvoice submission parameters. Any unmapped fields in your data are passed through as additional submission parameters, which can be used for custom dimensions or tags configured in your Bazaarvoice account.

  5. Error Handling: Each row is processed individually. Failed submissions are reported with specific error messages from the Bazaarvoice API, including form validation errors. Transient errors (rate limits, server errors) are retried with exponential backoff.

Rate Limits

Bazaarvoice rate limits API usage on a per-key, per-minute basis:

HeaderDescription
X-Bazaarvoice-QPM-AllottedMaximum queries per minute for your key
X-Bazaarvoice-QPM-CurrentCurrent queries in the current minute
X-Bazaarvoice-Quota-AllottedMaximum hourly calls allowed
X-Bazaarvoice-Quota-CurrentCurrent calls in the limit period
X-Bazaarvoice-Quota-ResetTimestamp when the rate limit resets

Default limits are set per key and are sufficient for most use cases. Contact your Bazaarvoice account team to request higher limits if needed. Rate limits are automatically increased during holiday seasons.

Zeotap automatically retries rate-limited requests with exponential backoff.

Best Practices

  • Use the staging environment first to test your submission flow and field mappings before sending data to production
  • Ensure Product IDs match your Bazaarvoice product catalog — submissions with unknown product IDs will be rejected
  • Include user identifiers (UserId or UserEmail) to enable Bazaarvoice to deduplicate and manage author profiles
  • Validate review text length — Bazaarvoice requires between 50 and 10,000 characters for ReviewText
  • Map UserNickname for a better end-user experience — anonymous reviews are less trustworthy to shoppers
  • Schedule syncs during off-peak hours to minimize impact on your rate limits from other API consumers
  • Use the correct locale to ensure content is routed to the right moderation queue and display configuration

Troubleshooting

Authentication failed: invalid passkey

Verify that the passkey in your destination configuration matches the environment you selected (staging vs. production). Staging and production use different passkeys. If unsure, contact your Bazaarvoice account team to confirm your passkey.

ERROR_PARAM_INVALID_API_KEY

The passkey is not recognized by Bazaarvoice. This can happen if the passkey was revoked, expired, or belongs to a different environment. Obtain a new passkey from the Bazaarvoice portal.

Submission rejected: ProductId not found

The ProductId value in your data does not match any product in your Bazaarvoice product catalog. Verify that your product catalog feed is up to date and that the external IDs match exactly (case-sensitive).

ReviewText validation error (too short)

Bazaarvoice requires review body text to be at least 50 characters. Ensure your source data contains reviews with sufficient text length, or filter out short reviews before syncing.

Rating out of range

The Rating field must be an integer between 1 and 5. Check your source data for values outside this range or non-numeric values.

Rate limiting (429 errors)

Zeotap automatically retries rate-limited requests. If you see persistent rate limit errors, reduce your sync frequency or contact Bazaarvoice to increase your per-key quota.

Content not appearing on site after successful submission

Submitted content enters Bazaarvoice’s moderation queue and is not immediately published. Moderation typically takes a few hours to a few days depending on your configuration. Check the Bazaarvoice Workbench for moderation status.

Duplicate content rejected

Bazaarvoice may reject submissions that appear to be duplicates (same user, product, and similar text). This is expected behavior to prevent spam. Ensure your sync does not re-submit content that was already accepted.

Last updated on