PII integration & security

Integrating Personally Identifiable Information (PII) enables Bazaarvoice to close the loop between transactions and consumer feedback. This section covers how to securely implement PII parameters and verify your integration using diagnostic tools.

Email addresses and phone numbers are considered personally identifiable information (PII), that is, private information that could identify a specific individual. PII enables you to:

  • Send personalized messages asking consumers to submit a product review
  • Request answers to product questions if you’ve enabled the Ask a Product Owner feature.
  • Send consumers reminders about reviews or questions.

Collect personal consumer data by adding PII parameters to either a transaction or conversion event.

Note
Note: Only transaction events can trigger automated review requests. If you have a non-e-commerce website and want to trigger review requests or other automated messages, you'll have to add the transaction event.

Protecting PII

Bazaarvoice ensures enterprise-grade protection for all sensitive data:

  • Isolation: PII is never associated with the Bazaarvoice persistent cookie.
  • Transmission: All data is always transmitted over HTTPS.
  • Security: PII is encrypted and stored separately from non-PII data.
  • Integrity: PII is never processed by Bazaarvoice analytics.

PII parameter reference

All parameters are case-sensitive. Use the exact strings defined below.

Note
Note: All parameters are case sensitive and must be formatted correctly (e.g., use userId, not UserID).

To ensure accurate reporting, map your checkout data to the following fields:

Parameter Description Example 
email The consumer's email address.


Note: If using BV Pixel to power review request messages, use encryption to ensure the security of customer email addresses when sending out notifications or requests. Learn more about encrypting BV Pixel PII.
username@example.com
locale

The locale to use to determine the language-specific email template to use. Refer to Supported locales and languages for the list of supported values.

This parameter is required if you are sending unique templates for multiple locales.
fr_CA
nickname

The consumer's nickname, captured when the consumer creates an account. Used to personalize review request emails.

This parameter is required if your site is injecting a nickname. Otherwise, it is recommended.

 MaryO
userId

The consumer's unique userID is required for review submission. It's critical that this userID precisely matches the userID that was originally used to encrypt the userToken passed during the review submission process.

This parameter is required when you use your site's own authentication (SSO) or if you're sending Review Request Emails (RREs).
Note
Note: If using BV Pixel to power review request messages, use encryption to ensure the security of customer email addresses when sending out notifications or requests. Learn more about encrypting BV Pixel PII.

You can only omit the userID if you're using Bazaarvoice hosted authentication, or using a transactional pixel for reporting purposes without sending RREs.

7448dc2

Optional parameters

  • If you're adding PII parameters in a transaction event, you can specify parameters for either the order or item.
  • If you're adding PII parameters in a conversion event, only order-level parameters are available.
Note: Parameter names and values are case sensitive. If you don't need an optional parameter, don't include it. For example, if the orderID parameter has no data, do not add "orderID" : "" (an empty string).
Order parameters

Parameter Description Example
shippingDelay

Used to increase the time (in days) between the transaction date and the date Bazaarvoice sends the review request. This can be useful if you expect the fulfillment of products to be delayed.

This delay is added to the first review request delay. For example, if the review request delay is set to 10 days and you specify "shippingDelay" : "10", the review request is sent on May 25 if the transaction date is May 5.

You can use either shippingDelay or shippingDate, but do not use both.

25

Item parameters

Parameter Description Example
imageURL

The full, absolute URL to the product image (not a relative path). If omitted, Bazaarvoice will retrieve the value from our database by matching the productId parameter to the product <ExternalId> sent in your product feed.

This parameter is useful if you want to use a specific image. For example, if your product feed includes a picture of a white shirt but a blue shirt is purchased, the email message can display the blue shirt.

http://www.test.com/1.jpg
shippingDate

Used instead of the transaction date to determine when Bazaarvoice sends the review request. The date must be in the following format: YYYY-MM-DD.

If a first review request delay is configured, that delay is added to the date specified here. For example, if you specify "shippingDate" : "2016-12-21" and the review request delay is set to 10 days, the review request is sent on Dec 31, 2016 (2016-12-31).

You can use shippingDate or shippingDelay, but do not use both. Also, if shippingDate is specified as an item parameter, it overrides the value of shippingDate that is specified in the order parameter.

2016-12-21
shippingDelay

Used to increase the time (in days) between the transaction date and the date Bazaarvoice sends the review request. This can be useful if you expect delayed fulfillment.

This delay is added to the first review request delay. For example, if the review request delay is set to 10 days and you specify "shippingDelay" : "10", the review request is sent on May 25 if the transaction date is May 5.

You can use either shippingDelay or shippingDate, but do not use both. Also, if shippingDelay is specified as an item parameter, it overrides the value of shippingDelay that is specified in the order parameter.

25
PhoneNumber

Specifies the phone number of the customer. Must be in a valid format (E164 Opens in new tab).

Preference

Specifies what the customer opts for sending review requests - Email or text.


PII example code (transaction and conversion)

Imagine a consumer orders the following products from the StuffForSale.com website:

Product 1 Product 2
  • Category: Mens Casual Boots
  • Price: $140
  • Discount: $9.99
  • Quantity: 1
  • Name: Leather Chukka
  • Product ID (external ID): 156278
  • Incentivized Review: True
  • Category: Home Decor
  • Price: $12.69
  • Quantity: 3
  • Name: Polar White Candle
  • Product ID (external ID): 908736
  • Incentivized Review: False
Transaction examples

Scenario: This event code collects order and item information, in addition to PII such as the consumer’s email address, nickname, and location.

JavaScript
<!-- load bv.js -->
<script async type="text/javascript" src="https://apps.bazaarvoice.com/deployments/stuffforsale/main_site/staging/en_US/bv.js"></script>

<!--load Transaction event and parameters-->
<script>
window.bvCallback = function (BV) {
BV.pixel.trackTransaction({
  "orderId" : "55552",
  "total" : "168.08",  //(sum of all products' items * price with discounts applied, without the $ sign)
  "currency" : "USD",
  "tax" : "11.44",  //(tax amount without the $ sign)
  "shipping" : "10.00",  //(shipping amount without the $ sign)
  "items" : [
    {
      "name" : "Leather Chukka",
      "price" : "140.00", //(individual price of item, not price X quantity, without the $ sign)
      "quantity" : "1",
      "productId" : "156278", //(ExternalId in product feed)
      "category" : "Mens Casual Boots",
      "discount" : "9.99",//(discount applied to this item, without the $ sign)
      "incentivizedReview" : "True"
    },
    {
      "name" : "Polar White Candle",
      "price" : "12.69", //(individual price of item, not price X quantity, without the $ sign)
      "quantity" : "3",
      "productId" : "908736", //(ExternalId in product feed)
      "category" : "Home Decor",
      "incentivizedReview" : "False"
        }
    ],
    "email" : "drew@example.com", //Optional PII parameters
    "locale" : "en_US",
    "nickname" : "Drew"
});
};
</script>

Scenario: This event code collects order and item information, and the consumer’s PII, for example, unencrypted email address, nickname, and location.

JavaScript
<!-- load BV loader -->
  <script async type="text/javascript" src="https://apps.bazaarvoice.com/deployments/stuffforsale/main_site/staging/en_CA/bv.js"></script>
    <!--load Transaction event and parameters-->
      <script>
      window.bvCallback = function (BV) {
        BV.pixel.trackTransaction({
          "orderId" : "69872",
          "total" : "64.95",  //(sum of all products' items * price, without the $ sign)
          "currency" : "USD",
          "tax" : "5.89",  //(tax amount without the $ sign)
          "shipping" : "10.00",  //(shipping amount without the $ sign)
          "discount" : "5.00", //(discount applied to the entire transaction, without the $)
          "items" : [
            {
              "name" : "Ivory Throw",
              "price" : "69.95", //(individual price of item, not price X quantity, without the $ sign)
              "quantity" : "1",
              "productId" : "100598", //(ExternalId in product feed)
              "category" : "Home Decor",
              "incentivizedReview" : "False"
            },
          ],
            "email" : "cheryllynne@example.com",
            "locale" : "en_CA",
            "nickname" : "Cheryl"
            });
            };
            </script>

Conversion examples

Scenario: This event code tracks consumers who click the StoreLocator feature on your website. The value parameter collects the zip code. Additionally, StoreLocator_ProductPage identifies that the store locator was used on the product page.

JavaScript
<!-- load BV loader -->
<script async type="text/javascript" src="https://apps.bazaarvoice.com/deployments/stuffforsale/main_site/staging/en_US/bv.js"></script>
<!--load Conversion event and parameters-->
<script>
window.bvCallback = function (BV) {
BV.pixel.trackConversion({
"type" : "StoreLocator",
"label" : "StoreLocator_ProductPage",
"value" : "78701"  //(value attributed to conversion, the zip code)
});
};
</script>

Scenario: This event code tracks consumers who click the download feature on your website. The label parameter indicates that the consumer downloaded an owner manual. The type parameter appears on Bazaarvoice reports.
JavaScript
<!-- load bv.js -->
<script async type="text/javascript" src="https://apps.bazaarvoice.com/deployments/stuffforsale/main_site/staging/en_US/bv.js"></script>

<!--load Conversion event and parameters-->
<script>
window.bvCallback = function (BV) {
BV.pixel.trackConversion({
  "type" : "Download",
  "label" : "OwnersManual_ProductDetails",
  "value" : "Product78493_OwnerManual"
});
};
</script>


Provide feedback button