@@ -683,7 +683,7 @@ GA.prototype.checkoutStepViewedEnhanced = function(track) {
683
683
684
684
each ( products , function ( product ) {
685
685
var productTrack = createProductTrack ( track , product ) ;
686
- enhancedEcommerceTrackProduct ( productTrack , self . _trackerName ) ;
686
+ enhancedEcommerceTrackProduct ( productTrack , self . _trackerName , opts ) ;
687
687
} ) ;
688
688
window . ga ( self . _trackerName + 'ec:setAction' , 'checkout' , {
689
689
step : props . step || 1 ,
@@ -744,7 +744,7 @@ GA.prototype.orderCompletedEnhanced = function(track) {
744
744
745
745
each ( products , function ( product ) {
746
746
var productTrack = createProductTrack ( track , product ) ;
747
- enhancedEcommerceTrackProduct ( productTrack , self . _trackerName ) ;
747
+ enhancedEcommerceTrackProduct ( productTrack , self . _trackerName , opts ) ;
748
748
} ) ;
749
749
750
750
window . ga ( self . _trackerName + 'ec:setAction' , 'purchase' , {
@@ -809,7 +809,7 @@ GA.prototype.productAddedEnhanced = function(track) {
809
809
var opts = this . options ;
810
810
811
811
this . loadEnhancedEcommerce ( track ) ;
812
- enhancedEcommerceProductAction ( track , 'add' , null , self . _trackerName ) ;
812
+ enhancedEcommerceProductAction ( track , 'add' , null , self . _trackerName , opts ) ;
813
813
this . pushEnhancedEcommerce ( track , opts , self . _trackerName ) ;
814
814
} ;
815
815
@@ -827,7 +827,7 @@ GA.prototype.productRemovedEnhanced = function(track) {
827
827
var opts = this . options ;
828
828
829
829
this . loadEnhancedEcommerce ( track ) ;
830
- enhancedEcommerceProductAction ( track , 'remove' , null , self . _trackerName ) ;
830
+ enhancedEcommerceProductAction ( track , 'remove' , null , self . _trackerName , opts ) ;
831
831
this . pushEnhancedEcommerce ( track , opts , self . _trackerName ) ;
832
832
} ;
833
833
@@ -849,7 +849,7 @@ GA.prototype.productViewedEnhanced = function(track) {
849
849
this . loadEnhancedEcommerce ( track ) ;
850
850
// list property is optional
851
851
if ( props . list ) data . list = props . list ;
852
- enhancedEcommerceProductAction ( track , 'detail' , data , self . _trackerName ) ;
852
+ enhancedEcommerceProductAction ( track , 'detail' , data , self . _trackerName , opts ) ;
853
853
this . pushEnhancedEcommerce ( track , opts , self . _trackerName ) ;
854
854
} ;
855
855
@@ -871,7 +871,7 @@ GA.prototype.productClickedEnhanced = function(track) {
871
871
this . loadEnhancedEcommerce ( track ) ;
872
872
// list property is optional
873
873
if ( props . list ) data . list = props . list ;
874
- enhancedEcommerceProductAction ( track , 'click' , data , self . _trackerName ) ;
874
+ enhancedEcommerceProductAction ( track , 'click' , data , self . _trackerName , opts ) ;
875
875
this . pushEnhancedEcommerce ( track , opts , self . _trackerName ) ;
876
876
} ;
877
877
@@ -1017,7 +1017,7 @@ GA.prototype.productListFilteredEnhanced = function(track) {
1017
1017
* @param {Track } track
1018
1018
*/
1019
1019
1020
- function enhancedEcommerceTrackProduct ( track , trackerName ) {
1020
+ function enhancedEcommerceTrackProduct ( track , trackerName , opts ) {
1021
1021
var props = track . properties ( ) ;
1022
1022
var product = {
1023
1023
id : track . productId ( ) || track . id ( ) || track . sku ( ) ,
@@ -1034,6 +1034,8 @@ function enhancedEcommerceTrackProduct(track, trackerName) {
1034
1034
// https://developers.google.com/analytics/devguides/collection/analyticsjs/enhanced-ecommerce#measuring-transactions
1035
1035
var coupon = track . proxy ( 'properties.coupon' ) ;
1036
1036
if ( coupon ) product . coupon = coupon ;
1037
+
1038
+ product = extend ( product , metrics ( props , opts ) ) ;
1037
1039
window . ga ( trackerName + 'ec:addProduct' , product ) ;
1038
1040
}
1039
1041
@@ -1046,8 +1048,8 @@ function enhancedEcommerceTrackProduct(track, trackerName) {
1046
1048
* @param {Object } data
1047
1049
*/
1048
1050
1049
- function enhancedEcommerceProductAction ( track , action , data , trackerName ) {
1050
- enhancedEcommerceTrackProduct ( track , trackerName ) ;
1051
+ function enhancedEcommerceProductAction ( track , action , data , trackerName , opts ) {
1052
+ enhancedEcommerceTrackProduct ( track , trackerName , opts ) ;
1051
1053
window . ga ( trackerName + 'ec:setAction' , action , data || { } ) ;
1052
1054
}
1053
1055
0 commit comments