Contents

(+ show- hide)

To collect the granular interactions with CGC (e.g. clicks, sorts, filters, and hovers, invoking an image overlay, clicking a user profile, loading more content), the trackEvent event is used.

Feature Used analytic events

It's not enough to know that a user has viewed pages with consumer-generated content. It is valuable to also know how end users interact with consumer-generated content on a web page. This information can provide insights on the information users value before making a conversion, or purchase. Capturing the relationship between consumer-generated content and client actions is made possible by the API Analytics Feature Used tagging. The following is a partial list of user events that indicate user interaction with consumer-generated content.

trackEvent()

BV.pixel.trackEvent('Feature', { eventObject });

This method communicates that the customer has interacted with the consumer-generated content in some way. For instance:

  • Searching
  • Filtering (age range or gender filters)
  • Sorting (such as top rated, least rated, most recent)
  • Paginating
  • Helpfulness voting
  • Viewing a profile
  • Clicking on stars
  • Reading more of a review
  • Reading content behind a tab

Arguments

Name Type Default Description Priority
eventType String 'Feature' String value to indicate user interacation with HTML control Required
eventObject Object N/A An object containing data related to the Bazaarvoice products and the HTML control with which the user interacted with Required

Usage

The FeatureUsed analytics code should execute each time a user interacts with a control that displays or manipulates any CGC. This can include button click events that filter content, a hover event that brings up a modal dialog, or a tablet swipe event that fetches additional CGC.

The example below queues the FeatureUsed event and associated parameters when the user clicks a control with ID 'sort_CGC':

$( "#sort_CGC" ).click(function() {
    BV.pixel.trackEvent('Feature', {
        type: 'Used',
        name: 'sort',
        brand: 'Test Brand',
        productId: '1234567-bunnyhat',
        bvProduct: 'RatingsAndReviews',
        categoryId: 'hats',
        detail1: 'ascending',
        detail2: ''
    });
});

Feature Used data

The Feature Used data is passed to trackEvent('Feature', eventObject) as an object as demonstrated in the example above.

Field Type Sample value Priority
Type String 'Used' Required
productId String X5-2000' Required
bvProduct String
'RatingsAndReviews' | 'AskAndAnswer'
Required
brand String
'GoPro'
Recommended
categoryId String
'electronics'
Recommended
name String
Name of the feature used (such as 'paginate'). See transaction nomenclature
Required
detail1 String
See transaction nomenclature discussion below
Recommended
detail2 String
See transaction nomenclature discussion below
Recommended

When multiple Bazaarvoice products are used on the same page (such as Ratings and Reviews and Ask and Answer), the use of the bvProduct parameter is highly recommended. This allows the Conversion Impact report to be granular to the specific Bazaarvoice product. Furthermore, when using the bvProduct, it is required that the numQuestions and numAnswers be included.

Interactive Feature Used samples

This section documents the numerous trackEvent tags and describes the attributes (detail1 and detail2) that Bazaarvoice suggests when implementing BV Pixel.

This tutorial borrows from the static hosted HTML Analytic page. Various HTML controls below are represented on that web page. The larger image below provides a visualization of some the possible consumer-generated content (CGC) elements that users can interact with.

Within product display pages (PDPs), there are often layouts where similar or identical HTML elements exist in different locations on the page. When this occurs, the detail2 attribute is used to distinguish the HTML element being used. Readers should familiarize themselves with the basic anatomy of product display page components.

Although exhaustive, the events tracked can be expanded upon. This list is the same as those events that are tracked for clients using our hosted display solution.

Use with the API Analytics Extension
Interacting with the HTML controls below also will invoke the Feature Used event, which the elements document. This can be seen in the Chrome browser with the Bazaarvoice Chrome extension installed.

Desktop experience

Helpfulness vote

When users interact by clicking elements on a web page, those analytics events are captured. The following lists the elements that should be tagged.

  • HTML Control - Positive Helpfulness Vote
    Image
    Name 'helpfulness'
    Detail 1 'positive'
    Detail 2
    Priority Optional
    Code Sample
                                          $( "#YesHelpfulVote" ).click(function() {
                                              BV.pixel.trackEvent('Feature', {
                                                  type: 'Used',
                                                  name: 'helpfulness',
                                                  brand: 'Test Brand',
                                                  productId: '1234567',
                                                  bvProduct: 'RatingsAndReviews',
                                                  categoryId: 'hats',
                                                  detail1: 'positive',
                                                  detail2: ''
                                              });
                                          });
                                      
  • HTML Control - Negative Helpful Vote
    Image
    Name 'helpfulness'
    Detail 1 'negative'
    Detail 2
    Priority Optional
    Code Sample
                                          $( "#NoHelpfulVote" ).click(function() {
                                              BV.pixel.trackEvent('Feature', {
                                                  type: 'Used',
                                                  name: 'Helpfulness',
                                                  brand: 'Test Brand',
                                                  productId: '1234567',
                                                  bvProduct: 'RatingsAndReviews',
                                                  categoryId: 'hats',
                                                  detail1: 'Negative',
                                                  detail2: ''
                                              });
                                          });
                                      

Profile

  • HTML Control
    Staff
    - View Profile Button
    Image
    Name 'profile'
    Detail 1 ''
    Detail 2 ''
    Priority Optional
    Code Sample
                                          $( "#ViewProfileButton" ).click(function() {
                                              BV.pixel.trackEvent('Feature', {
                                                  type: 'Used',
                                                  name: 'profile',
                                                  brand: 'Test Brand',
                                                  productId: '1234567',
                                                  bvProduct: 'RatingsAndReviews',
                                                  categoryId: 'hats',
                                                  detail1: '',
                                                  detail2: ''
                                              });
                                          });
                                      
  • Hovering to activate profile

    When consumer-generated content is discovered while hovering HTML elements, the preferred analytic nomenclature is described below. Detail1 contains the name of the element hovered.

    HTML Control
    GamerGuy
    Member since: July 2010
    Number of reviews: 27
    Avg rating: 3.22
    Last review: August 2016
    User: GamerGuy
    Name 'profile'
    Detail 1 'hover'
    Detail 2
    Priority Optional
    Code Sample
                                      $( "#ViewProfileButton" ).hover(function() {
                                          BV.pixel.trackEvent('Feature', {
                                              type: 'Used',
                                              name: 'profile',
                                              brand: 'Test Brand',
                                              productId: '1234567',
                                              bvProduct: 'RatingsAndReviews',
                                              categoryId: 'hats',
                                              detail1: 'hover',
                                              detail2: ''
                                          });
                                      });
                                      

Report

  • HTML Control - Report Link
    Image
    Name 'report'
    Detail 1 ''
    Detail 2 ''
    Priority Optional
    Code Sample
                                          $( "#reports_btn" ).click(function() {
                                              BV.pixel.trackEvent('Feature', {
                                                  type: 'Used',
                                                  name: 'report',
                                                  brand: 'Test Brand',
                                                  productId: '1234567',
                                                  bvProduct: 'RatingsAndReviews',
                                                  categoryId: 'hats',
                                                  detail1: '',
                                                  detail2: ''
                                              });
                                          });
                                      

Read more

When the request to see additional content hidden by a tab, accordion, or other HTML control is made, the 'Read more' feature event should be invoked. Detail1 for this action should contain be 'expand'. In the opposite scenario, when a request is made to 'read less', the same feature event 'Read more' is called Detail1 should have a value of 'collapse'.

  • HTML Control
    Image
    Name 'read_more'
    Detail 1 'expand' | 'collapse'
    Detail 2 container name
    Priority Optional
    Code Sample
                                          $( "#reports_btn" ).click(function() {
                                              BV.pixel.trackEvent('Feature', {
                                                  type: 'Used',
                                                  name: 'read_more',
                                                  brand: 'Test Brand',
                                                  productId: '1234567',
                                                  bvProduct: 'RatingsAndReviews',
                                                  categoryId: 'hats',
                                                  detail1: 'expand',
                                                  detail2: 'mainReviews'
                                              });
                                          });
                                      

Filter

Captures when users request to see a subset of content based on criteria.

  • Filter
    HTML Control

    Gender

    Image
    Name 'filter'
    Detail 1 {Filter Name}
    'GenderMale'
    'GenderFemale'
    'Age_18_24'
    'Age_65_plus' '5_stars'
    Detail 2 {Filter Status}
    true
    false
    Priority Required
    Code Sample
                                          $( ".filter_gender" ).click(function() {
                                              BV.pixel.trackEvent('Feature', {
                                                  type: 'Used',
                                                  name: 'filter',
                                                  brand: 'Test Brand',
                                                  productId: '1234567',
                                                  bvProduct: 'RatingsAndReviews',
                                                  categoryId: 'hats',
                                                  detail1: 'genderMale',
                                                  detail2: 'true'
                                              });
                                          });
                                      
  • Star Filter
    HTML Control

    355 reviews | 3.8 out of 5

    - Stars
    Image
    Name 'filter'
    Detail 1 stars
    Detail 2 {number of stars}
    Priority Required
    Code Sample
                                          $( "#Stars_n" ).click(function() {
                                              BV.pixel.trackEvent('Feature', {
                                                  type: 'Used',
                                                  name: 'filter',
                                                  brand: 'Test Brand',
                                                  productId: '1234567',
                                                  bvProduct: 'RatingsAndReviews',
                                                  categoryId: 'hats',
                                                  detail1: 'stars',
                                                  detail2: 3
                                              });
                                          });
                                      

Link

  • HTML Control Questions & Answers
    Image
    Name 'link'
    Detail 1 'q_and_a'
    Detail 2 'PrimaryRatingSummary'
    Priority Optional
    Code Sample
                                          $( "#QandA_Label" ).click(function() {
                                              BV.pixel.trackEvent('Feature', {
                                                  type: 'Used',
                                                  name: 'link',
                                                  brand: 'Test Brand',
                                                  productId: '1234567',
                                                  bvProduct: 'RatingsAndReviews',
                                                  categoryId: 'hats',
                                                  detail1: 'q_and_a',
                                                  detail2: 'PrimaryRatingSummary'
                                              });
                                          });
                                      
  • HTML Control 355 reviews - ReviewCount
    Image
    Name 'link'
    Detail 1 'review_count'
    Detail 2 'PrimaryRatingSummary'
    'SearchBarRatingSummary'
    Priority Required
    Code Sample
                                          $( "#ReviewcCnt" ).click(function() {
                                              BV.pixel.trackEvent('Feature', {
                                                  type: 'Used',
                                                  name: 'link',
                                                  brand: 'Test Brand',
                                                  productId: '1234567',
                                                  bvProduct: 'RatingsAndReviews',
                                                  categoryId: 'hats',
                                                  detail1: 'review_count',
                                                  detail2: 'PrimaryRatingSummary'
                                              });
                                          });
                                      

Paginate

When users interact with a control to request content from a different page. Detail2 contains the requested page number.

  • Pagination
    HTML Control
    Name 'paginate'
    Detail 1 'previous'
    'next'
    ''
    Detail 2 {Page #}
    Priority Optional
    Code Sample
                                              $( ".js-pagination.link" ).click(function() {
                                                  BV.pixel.trackEvent('Feature', {
                                                      type: 'Used',
                                                      name: 'paginate',
                                                      brand: 'Test Brand',
                                                      productId: '1234567',
                                                      bvProduct: 'RatingsAndReviews',
                                                      categoryId: 'hats',
                                                      detail1: 'previous',
                                                      detail2: ''
                                                  });
                                              });
                                          

Ask

Implementations that have access to Bazaarvoice Questions and Answers API may build features to post questions to product owners. Often a product detail page hides the questions form until it is requested. This HTML control represents that scenario, clicking the button would display a form containing inputs a user interacts with.

The Detail2 attribute details the location of the where the button is found in relation to the other consumer-generated content.

  • Ask a question button
    HTML Control
    Name 'ask'
    Detail 1 'Button'
    Detail 2 'PrimaryRatingSummary'
    'ContentTop'
    Priority Required
    Code Sample
                                      $( "#ViewProfileButton" ).click(function() {
                                          BV.pixel.trackEvent('Feature', {
                                              type: 'Used',
                                              name: 'ask',
                                              brand: 'Test Brand',
                                              productId: '1234567',
                                              bvProduct: 'RatingsAndReviews',
                                              categoryId: 'hats',
                                              detail1: 'button',
                                              detail2: 'PrimaryRatingSummary'
                                          });
                                      });
                                      

Statistics

  • Histogram
    HTML Control
    5 stars
    24
    4 stars
    7
    3 stars
    0
    2 stars
    2
    1 stars
    1
    See Statistics
    Name 'statistics'
    Detail 1 'hover'
    Detail 2 'PrimaryRatingSummary'
    'SearchBarRatingSummary'
    Priority Optional
    Code Sample
                                      $( ".histogram_hover" ).hover(function() {
                                          BV.pixel.trackEvent('Feature', {
                                              type: 'Used',
                                              name: 'statistics',
                                              brand: 'Test Brand',
                                              productId: '1234567',
                                              bvProduct: 'RatingsAndReviews',
                                              categoryId: 'hats',
                                              detail1: 'hover',
                                              detail2: ''
                                          });
                                      });
                                      

Write

This action is tagged when a user interacts with the control to contribute or author some type of user generated content. This often is seen in adding a review, asking a question, or providing an answer.

Because there can be multiple controls soliciting the same action on the same page, the detail2 attribute captures which control was interacted with. A descriptive identifier of the control is suggested.

  • Write
    HTML Control
    Image
    Name 'write'
    Detail 1 'review'
    Detail 2 'PrimaryRatingSummary'
    'ContentTop'
    'SearchBarRatingSummary'
    Priority Required
    Code Sample
                                      $( "#ItemWriteReviewLnk" ).click(function() {
                                          BV.pixel.trackEvent('Feature', {
                                              type: 'Used',
                                              name: 'write',
                                              brand: 'Test Brand',
                                              productId: '1234567',
                                              bvProduct: 'RatingsAndReviews',
                                              categoryId: 'hats',
                                              detail1: 'review',
                                              detail2: ''
                                          });
                                      });
                                      
  • HTML Control Write a review - Write Review Label
    Name 'write'
    Detail 1 'review'
    Detail 2 'PrimaryRatingSummary'
    Priority Required
    Code Sample
                                          $( "#ItemWriteReviewLnk" ).click(function() {
                                              BV.pixel.trackEvent('Feature', {
                                                  type: 'Used',
                                                  name: 'write',
                                                  brand: 'Test Brand',
                                                  productId: '1234567',
                                                  bvProduct: 'RatingsAndReviews',
                                                  categoryId: 'hats',
                                                  detail1: 'review',
                                                  detail2: 'PrimaryRatingSummary'
                                              });
                                          });
                                      

Sort

When users interact with a control to rearrange the presentation order of content.

  • Sort
    HTML Control
    Image
    Name 'sort'
    Detail 1 'mostRecent'
    'negative'
    'mostHelpful'
    'positive'
    'relevancy'
    'recentQuestionsFirst'
    'featured'
    Detail 2
    Priority Required
    Code Sample
                                          $( "#sort" ).click(function() {
                                              BV.pixel.trackEvent('Feature', {
                                                  type: 'Used',
                                                  name: 'sort',
                                                  brand: 'Test Brand',
                                                  productId: '1234567',
                                                  bvProduct: 'RatingsAndReviews',
                                                  categoryId: 'hats',
                                                  detail1: 'mostHelpful',
                                                  detail2: ''
                                              });
                                          });
                                          

Search

This action is tagged when a user searches for a specific string within the consumer-generated content.

  • Search
    HTML Control
    Name 'search'
    Detail 1 '{User's search string}'
    Detail 2
    Priority Required
    Code Sample
                                          $( "#bv-content-search-btn" ).click(function() {
                                              BV.pixel.trackEvent('Feature', {
                                                  type: 'Used',
                                                  name: 'search',
                                                  brand: 'Test Brand',
                                                  productId: '1234567',
                                                  bvProduct: 'RatingsAndReviews',
                                                  categoryId: 'hats',
                                                  detail1: '{User\'s search string}',
                                                  detail2: ''
                                              });
                                          });
                                      

Submission

  • Review Submission
    HTML Control
    Image
    Name 'submit'
    Detail 1 'review'
    Detail 2
    Priority Required
    Code Sample
                                          $( "#bv-content-search-btn" ).click(function() {
                                              BV.pixel.trackEvent('Feature', {
                                                  type: 'Used',
                                                  name: 'submit',
                                                  brand: 'Test Brand',
                                                  productId: '1234567',
                                                  bvProduct: 'RatingsAndReviews',
                                                  categoryId: 'hats',
                                                  detail1: 'review',
                                                  detail2: ''
                                              });
                                          });
                                      
  • Question Submission
    HTML Control
    Image
    Name 'submit'
    Detail 1 'question'
    Detail 2
    Priority Required
    Code Sample
                                          $( "#bv-content-search-btn" ).click(function() {
                                              BV.pixel.trackEvent('Feature', {
                                                  type: 'Used',
                                                  name: 'submit',
                                                  brand: 'Test Brand',
                                                  productId: '1234567',
                                                  bvProduct: 'RatingsAndReviews',
                                                  categoryId: 'hats',
                                                  detail1: 'question',
                                                  detail2: ''
                                              });
                                          });
                                      
  • Answer Submission
    HTML Control
    Name 'submit'
    Detail 1 'answer'
    Detail 2
    Priority Required
    Code Sample
                                          $( "#bv-content-search-btn" ).click(function() {
                                              BV.pixel.trackEvent('Feature', {
                                                  type: 'Used',
                                                  name: 'submit',
                                                  brand: 'Test Brand',
                                                  productId: '1234567',
                                                  bvProduct: 'RatingsAndReviews',
                                                  categoryId: 'hats',
                                                  detail1: 'answer',
                                                  detail2: ''
                                              });
                                          });
                                      

Mobile experience

Bazaarvoice offers 2 native mobile solutions, IOS and Android, both of which implement BV Pixel. A hybrid app solution will be offered in the near future.

Feature event nomenclature

In order to capture the impact of different user events on CGC data (such as sorting, filtering, paginating), Featured Used transaction analytic tags are used. A naming standard should be used to differentiate between the CGC interaction events. The name, detail1, and detail2 parameters used in the Featured Used transaction analytic tags should be set up accordingly.

  1. Name - used to describe the purpose of the HTML control. Values that Bazaarvoice suggests using include:
  2. Detail1 - this value aims at capturing secondary metadata about the Feature Used active event. For instance, when 'filtering', what is the criteria being considered? If sorting, which direction is the content being sorted, 'ascending' or 'descending'? Bazaarvoice suggests using the following combinations:
    Name Detail1
    'sort' 'mostRecent' | 'negative' | 'mostHelpful' | 'positive' | 'relevancy' | 'recentQuestionsFirst' | 'featured'
    'filter' {value that is being used} e.g. 'genderMale'
    'paginate' {page number}
    'helpfulness' 'positive' | 'negative'
    'link' 'question' | 'answer' | 'review'
    'search' {search string value}
    'write' 'question' | 'answer' | 'review'
    'submit' 'question' | 'answer' | 'review'
  3. Detail2 - when applicable, this attribute should capture additional metadata about the HTML control. This attribute is helpful to identify the specific control that is being interacted with in cases where similar controls exist. Take for instance the image below. The star rating appears twice on the page. Interacting with either set of stars performs the same function. The Detail2 captures information that identifies the set of stars where the interaction occurred.

    Common Detail2 values include:

    Ultimately the syntax used here is up to the clients discretion since it will be terminology they will be filtering with in the Conversion Impact Report (CIR).