Bazaarvoice cookie consent

B<span class="dxhe-searchHI">B</span>azaarvoice cookie consent

As required by the General Data Protection RegulationOpens in new tab (GDPR), Bazaarvoice cannot create first-party cookies without explicit consent by the user. Your website must capture user consent and programmatically pass it to Bazaarvoice.

CNIL, or Commission Nationale de l’informatique et des libertés (National Commission on Informatics and Liberty), supervises and enforces data privacy legislation. CNIL also issues rules and regulations for compliance. To become CNIL compliant, you are required to control the cookies set by Bazaarvoice. We have implemented a new javascript function and exposed it under the Bazaarvoice namespace to offer more granular control over the cookie consent settings. You can integrate and use this mechanism with your cookie consent banner to set or unset the consent.

Note: This feature only works if the loader file bv.js has been implemented.

Bazaarvoice first-party cookies

First-party cookies are set by the domain shown in the browser's address bar; users will see these listed as "*.clientdomain.com" or ".clientdomain.com". Bazaarvoice may set and read data from these cookies.

Enable and manage cookie consent

To deliver a seamless e-commerce experience, Bazaarvoice requires that bv.js load unconditionally on your webpage. Blocking bv.js in your Consent Management Platform (CMP), such as OneTrust, prevents Ratings & Reviews from displaying completely for users who have not yet interacted with your cookie banner.

To comply with data privacy regulations such as GDPR and CCPA, you must control when tracking cookies are set in your user's browsers. Bazaarvoice provides a built-in JavaScript method via bv.js to handle this natively. This approach satisfies GDPR and CCPA requirements as long as tracking and analytics cookies are deferred until consent is given.

The sections below explain how to enable and manage consent for Bazaarvoice first-party cookies:

  1. Enable the cookie opt-in setting
  2. Allow bv.js in your content management system
  3. Pass consent to bv.js via JavaScript
  4. Manage cookie consent

Step 1: Enable the cookie opt-in setting

For each of your Bazaarvoice instances, follow these steps to enable the cookie opt-in requirement:

  1. Sign in to the Bazaarvoice PortalOpens in new tab.
  2. From the upper-right corner, select the settings icon Portal Settings icon.
  3. Select the required client instance name from the Instance Selector drop-down list in the upper-right corner.
  4. Go to the Configuration section and select Ratings & Reviews.
  5. Under Implementations, select Edit next to the implementation you want to configure.
  6. Select Display Options from the menu.
    Cookie opt-in setting in Configurations
  7. Under Cookie Opt In in the Display area, select Enabled. Enabling this setting automatically suppresses all tracking cookies (BVBRANDID and BVBRANDSID)
    Note: You cannot enable the Cookie Opt-In option until Bazaarvoice enables first-party cookies for your domains. If the Cookie Opt-In option is disabled, you cannot set or unset the consent.
  8. From the upper-left corner, select the Home button to go the Site Manager page.
    Select Home to go to Site manager page
  9. Select Deploy next to the required implementation.
  10. Select a deployment zone from the dropdown. Changes apply only to the selected deployment zone. Settings saved for an implementation that is not deployed to production do not apply to your site.
    Select Deployment Zone dropdown
  11. Select Next to preview the changes.
  12. Select Confirm changes.
  13. Select Start deployment. 

Step 2: Allow bv.js in your content management system

  1. Go to your Consent Management Platform (CMP), such as OneTrust.
  2. Ensure that the Bazaarvoice bv.js script is categorized as strictly necessary or is otherwise allowed to load natively on the page before consent is given. 
  3. Bazaarvoice’s native consent functionality relies on the bv.js file being present to capture the opt-in signal.

Step 3: Pass consent to bv.js via JavaScript

  1. Once Cookie Opt-In is enabled and bv.js is set to load unconditionally on user's webpage, Bazaarvoice displays reviews immediately while holding back analytics tracking cookies until consent is received.
  2. To pass consent, invoke the setConsent function on every page containing bv.js , dynamically passing true or false based on the user’s current CMP status.
  3. Setting consent (User Opted In): When your CMP registers an opt-in event, run the following JavaScript to allow tracking cookies:
    JavaScript
    // Ensure window.BV exists before calling
    if (window.BV && window.BV.cookieConsent) {
      window.BV.cookieConsent.setConsent({
        
        bv_metrics: true,
        BVBRANDID: true,
        BVBRANDSID: true
      });
    }

You can manage the consent in the following two ways:

  1. Using setConsent function
  2. Using meta tags

To set or unset consent for first-party cookies, use the setConsent function exposed from the global Bazaarvoice endpoint.

You can create or remove the cookies controlled by cookie consent by calling the setConsent function accessed from window.BV.cookieConsent.setConsent. The function accepts an object with cookie names as the keys and true or false (depending on the consent) as the cookie values.

You can set the consent for individual cookies separately. For example, to create the cookie bv_metrics, use the following code:

JavaScript
    window.BV.cookieConsent.setConsent({
     bv_metrics: true
    })

To remove the cookie bv_metrics, use the following code:

JavaScript
    window.BV.cookieConsent.setConsent({
    bv_metrics: false
    })

You can also set the consent for multiple cookies. For example, to create the cookies bv_metrics, BVBRANDID, and BVBRANDSID, use the following code:

JavaScript
    window.BV.cookieConsent.setConsent({
     bv_metrics: true,
     BVBRANDID: true,
     BVBRANDSID: true
    })

To remove the cookies bv_metrics, BVBRANDID, and BVBRANDSID, use the following code:

JavaScript
    window.BV.cookieConsent.setConsent({
     bv_metrics: false,
     BVBRANDID: false,
     BVBRANDSID: false
    })

Using meta tags

Note: We recommend that you use setConsent function as we will deprecate the use of tag function to enable consent.

To grant consent for Bazaarvoice to place tracking cookies, add this code in the same location as your consent integration:

JavaScript
    // Create the bv:cookies meta element
    const bvCookieConsent = document.createElement('meta')
    bvCookieConsent.name = 'bv:cookies'
    bvCookieConsent.content = 'true'

    // Append it to the head of the page
    document.head.appendChild(bvCookieConsent)

When implemented, this element appears in your website metadata:

HTML
<!DOCTYPE html>
<html>
<head>
<meta name="bv:cookies" content="true">
</head>
</html>

To prevent Bazaarvoice from setting tracking cookies, add this code in the same location as your consent integration:

JavaScript
    // Find and remove the bv:cookies meta element
    const bvCookieConsent = document.querySelector('meta[name="bv:cookies"]')
    bvCookieConsent.content = 'false'

Bazaarvoice cookies

Required cookies

Bazaarvoice requires the following cookies to provide its services. They should be considered as strictly necessary.

Name

Use

bv_segment

Used for A/B testing and for comparing feature variations within the same implementation. This enables clients to analyze user behavior and assess how a particular feature contributes to generating more user-generated content (UGC).

BVImpl<site>

Used for A/B testing across different client implementations. This enables clients to analyze user behavior and assess how a particular feature contributes to generating more UGC.


<site> is the ID of the current configuration used, most often main_site.

bvf_<id>

Identifies items for which a user has submitted feedback, such as a helpfulness vote. <id> is the ID for the UGC that the user left feedback about.


Maintains the accuracy of user behaviour and creates a record of the action until it is confirmed as logged. This helps avoid double counting.


Enables site authentication to work when UGC is submitted.

_gd<time stamp>

Used to find out the most common domain. Its value is empty and remains unread.

bv_authorSubmissionToken

Used to allow one review submission per user in the submission forms.

NoCookie

Tracking, read-only cookie that is only actioned if it has already been implemented on the user device.

Set when a user opts out of tracking or indicates that they are under the age of 13. This is required under COPPA (Children's Online Privacy Protection Rule).

If NoCookie is set to true (NoCookie=true) on either your site or the Bazaarvoice site, existing tracking cookies will be unset. This will remain the case as long as NoCookie exists.

coppa_

Tracking, read-only cookie that is only actioned if it has already been implemented on the user device.

Stores the IDs of contributors who are under 13 years old. This is required under COPPA.


Optional cookies

If you’ve disabled consent for Bazaarvoice first-party cookies, the below optional cookies are set automatically.

If you’ve enabled consent for Bazaarvoice first-party cookies, the required cookies in the above table are still set. Optional cookies are blocked until the user consents to the below cookies being set.

Name Function
Use

bv_metrics

Performance

Gathers performance diagnostic events for a small sample of users (less than 1 in 1000).

BVBRANDID

Analytical

Allows internal Bazaarvoice web analytics to be correlated to the same user for interactions within a particular domain.

BVBRANDSID

Analytical

Allows internal Bazaarvoice web analytics to be correlated to the same user browsing session for interactions within a particular domain.

The cookie consent mechanism is backward compatible with the existing opt-in mechanism. If you use meta tags to send consumer consent to Bazaarvoice, you do not need to make modifications.

Note: If you have additional questions about Bazaarvoice cookies, open a support caseOpens in new tab.

You can verify that Bazaarvoice is correctly interpreting whether cookie consent has or has not been granted. While your website page is running, evaluate the following:

JavaScript
BV.cookieConsent.getConsent('BVBRANDID')
BV.cookieConsent.getConsent('BVBRANDSID')

and inspect the results. It should return a Boolean:

JavaScript
{
  consent: true, // or false
  source: 'default', // or 'site'
}

where:

Consent Boolean that indicates if Bazaarvoice has consent to use tracking cookies.
Source

default—Consent is as configured for this deployment.

site—Consent is as indicated by the presence of a bv:cookies meta element.

Cookie consent FAQs

How do Bazaarvoice systems treat non-consent scenarios?

If a user does not provide cookie consent (does not opt in), and the setting to opt in is enabled, then BV Pixel does not set first-party cookies.

What about the use of localStorage or similar data-storage mechanisms?

These are treated in the same way as cookies and require consent.

Provide feedback button