in src/web-ui/src/analytics/AnalyticsHandler.js [581:669]
productViewed(user, product, feature, experimentCorrelationId, discount) {
if (user) {
AmplifyAnalytics.record({
name: 'ProductViewed',
attributes: {
userId: user.id,
productId: product.id,
name: product.name,
category: product.category,
image: product.image,
feature: feature,
experimentCorrelationId: experimentCorrelationId
},
metrics: {
price: +product.price.toFixed(2)
}
})
}
if (this.personalizeEventTrackerEnabled()) {
AmplifyAnalytics.record({
eventType: 'ProductViewed',
userId: user ? user.id : AmplifyStore.state.provisionalUserID,
properties: {
itemId: product.id,
discount: discount?"Yes":"No"
}
}, 'AmazonPersonalize');
AmplifyStore.commit('incrementSessionEventsRecorded');
}
if (experimentCorrelationId) {
RecommendationsRepository.recordExperimentOutcome(experimentCorrelationId)
}
let eventProperties = {
productId: product.id,
name: product.name,
category: product.category,
image: product.image,
feature: feature,
experimentCorrelationId: experimentCorrelationId,
price: +product.price.toFixed(2)
};
if (this.segmentEnabled()) {
window.analytics.track('ProductViewed', eventProperties);
}
if (this.mParticleEnabled()) {
let productDetails = window.mParticle.eCommerce.createProduct(
product.name,
product.id,
parseFloat(product.price.toFixed(2)),
1
);
window.mParticle.eCommerce.logProductAction(window.mParticle.ProductActionType.ViewDetail, productDetails,{mpid: window.mParticle.Identity.getCurrentUser().getMPID()},{},{});
}
if (this.amplitudeEnabled()) {
Amplitude.getInstance().logEvent('ProductViewed', eventProperties);
}
if (user && this.optimizelyEnabled()) {
const optimizelyClientInstance = this.optimizelyClientInstance();
const expectedRevisionNumber = optimizelyClientInstance.configObj.revision;
if (this.isOptimizelyDatafileSynced(expectedRevisionNumber)) {
const userId = user.id.toString();
optimizelyClientInstance.track('ProductViewed', userId);
}
}
if (this.googleAnalyticsEnabled()) {
Vue.prototype.$gtag.event('view_item', {
"currency": "USD",
"value": +product.price.toFixed(2),
"items": [
{
"item_id": product.id,
"item_name": product.name,
"item_category": product.category,
"quantity": 1,
"currency": "USD",
"price": +product.price.toFixed(2)
}
]
});
}
},