Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for review events #32

Open
1 of 3 tasks
tyssejc opened this issue Aug 3, 2023 · 1 comment
Open
1 of 3 tasks

Support for review events #32

tyssejc opened this issue Aug 3, 2023 · 1 comment

Comments

@tyssejc
Copy link
Contributor

tyssejc commented Aug 3, 2023

We don't currently have events spec'd out for reviews — we're anticipating that Bazaarvoice will be the vendor selected to provide ratings & reviews functionality.

Bazaarvoice docs aren't super clear about how to send R&R events to dataLayer, but here are some trailheads we need to explore before we can add events to the spec:

Tasks

  • Review Bazaarvoice docs
  • Understand what level of support Bazaarvoice offers for custom events if needed
  • Add R&R events to spec
@tyssejc
Copy link
Contributor Author

tyssejc commented Aug 10, 2023

@StevenJRowe123 @jcottriel-sdi — I reviewed the BV docs. In summary, next step is to have a call with a BV solution architect. It would be best to bring a draft spec of e.g. a view_review event with all required params and ask them how we would implement against it. If they can't accommodate it, we can dig in and insist, or we can see if one of their one-size-fits-all options would satisfy business requirements related to reviews.

Background

BV has invested heavily into building out its own reporting functionality, and strongly encourages customers to use it. BV as a company doesn't seem to care much if a customer's business users want to see BV reporting in GA4.

Option 1: Use BV's one-size-fits-all solution (i.e. no customization)

BV offers its own tracking tag, but also pushes its own GTM dataLayer events directly to the host site's dataLayer, not to support clients' needs, but to support BV's proprietary GA integration. Per this support page:

For Galleries, we push four events to Google Analytics if Google Analytics is enabled for your Galleries:

  • bvsc.reel.impression - This event will be triggered when the Gallery is loaded on the webpage.
  • bvsc.item.click - This will be triggered when any Gallery media is selected.
  • bvsc.item.hover - When "bvsc.item.click" is triggered, this will also be triggered to record the hover.
  • bvsc.item.shop - When "bvsc.item.click" is triggered, this event will also be triggered.

For GA4, we use two parameters to send additional information to events:

  • bvsc_event_data - Holds values like the Gallery's Unique Metric ID, Item ID, and display type.
  • bvsc_event_data_2 - Holds the product ID information when the product is selected.

This is an example of a Gallery event:

dataLayer.push({
  event: `bvsc.reel.impression`,
  bvsc_event_data: habiliment|v1:rid=3d5508f6-7cd7-4e14-bc9e-42c6ef843d7f&dt=Homepage,
  bvsc_event_data_2: ,
  event_action:reel.impression,
  event_label: v1:rid=3d5508f6-7cd7-4e14-bc9e-42c6ef843d7f&dt=Homepage,
  event_category:curalate.fanreel.habiliment
});

(Note that the code sample provided wouldn't work — it doesn't wrap any of the string values in quotes, although it does wrap the event in backticks.)

This support page tells us to set up a Custom Event trigger to fire whenever a custom event matching the string bvsc is dispatched by the BV library. It then tells us to set up a GA4 Event tag to capture the two parameters it sends (bvsc_event_data and bvsc_event_data_2). Finally, they would have us set up custom dimensions in GA4 properties with names like "Bazaarvoice Social Commerce Variable", which site owners would struggle with.

The implication is that you cannot bring your own spec—BV likely doesn't want to devote resources to supporting clients' bespoke requirements. However, if the information provided in these events is sufficient to satisfy Kenvue business requirements, then we needn't look any further.

Option 2: Limited customization (possibly)

The only mention of customization seems to be at the very bottom of this docs page for its GA (Universal) integration.

In order to use it, the GA integration has to be enabled, and a function name must be registered somewhere in the BV console. In theory, site developers could add callbacks to pages with BV components on them to send data layer events that conform to a spec that conforms to Kenvue requirements, as long as they could be met by whatever data is passed in via a series of pre-configured parameters.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant