@blotoutio/providers-google-analytics-4-sdk 0.12.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +75 -4
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -36,16 +36,31 @@ var ProvidersGoogleAnalytics4Sdk = (function () {
|
|
|
36
36
|
const getItems = (contents = []) => {
|
|
37
37
|
return contents.map((content) => {
|
|
38
38
|
const data = {
|
|
39
|
-
item_id: content.id,
|
|
40
|
-
item_name: content.title,
|
|
39
|
+
item_id: content.id.toString(),
|
|
41
40
|
quantity: content.quantity || 1,
|
|
42
41
|
};
|
|
42
|
+
if (content.title) {
|
|
43
|
+
data['item_name'] = content.title;
|
|
44
|
+
}
|
|
43
45
|
if (content.category) {
|
|
44
|
-
|
|
46
|
+
const categories = content.category.split(',');
|
|
47
|
+
data['item_category'] = categories[0];
|
|
48
|
+
for (let i = 1; i < Math.min(categories.length, 5); i++) {
|
|
49
|
+
if (categories[i].trim()) {
|
|
50
|
+
data[`item_category${i + 1}`] =
|
|
51
|
+
categories[i].trim();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
45
54
|
}
|
|
46
55
|
if (content.item_price) {
|
|
47
56
|
data['price'] = content.item_price;
|
|
48
57
|
}
|
|
58
|
+
if (content.brand) {
|
|
59
|
+
data['item_brand'] = content.brand;
|
|
60
|
+
}
|
|
61
|
+
if (content.variantId) {
|
|
62
|
+
data['item_variant'] = content.variantId.toString();
|
|
63
|
+
}
|
|
49
64
|
return data;
|
|
50
65
|
});
|
|
51
66
|
};
|
|
@@ -67,6 +82,62 @@ var ProvidersGoogleAnalytics4Sdk = (function () {
|
|
|
67
82
|
},
|
|
68
83
|
};
|
|
69
84
|
}
|
|
85
|
+
case 'ViewCart': {
|
|
86
|
+
return {
|
|
87
|
+
event: 'view_cart',
|
|
88
|
+
eventData: {
|
|
89
|
+
currency: data['currency'],
|
|
90
|
+
value: data['value'],
|
|
91
|
+
items: getItems(data['contents']),
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
case 'RemoveFromCart': {
|
|
96
|
+
return {
|
|
97
|
+
event: 'remove_from_cart',
|
|
98
|
+
eventData: {
|
|
99
|
+
currency: data['currency'],
|
|
100
|
+
value: data['value'],
|
|
101
|
+
items: getItems(data['contents']),
|
|
102
|
+
},
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
case 'AddToWishlist': {
|
|
106
|
+
return {
|
|
107
|
+
event: 'add_to_wishlist',
|
|
108
|
+
eventData: {
|
|
109
|
+
currency: data['currency'],
|
|
110
|
+
value: data['value'],
|
|
111
|
+
items: getItems(data['contents']),
|
|
112
|
+
},
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
case 'ViewList': {
|
|
116
|
+
return {
|
|
117
|
+
event: 'view_item_list',
|
|
118
|
+
eventData: {
|
|
119
|
+
item_list_name: data['listName'],
|
|
120
|
+
item_list_id: data['listId'],
|
|
121
|
+
items: getItems(data['contents']),
|
|
122
|
+
},
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
case 'Login': {
|
|
126
|
+
return {
|
|
127
|
+
event: 'login',
|
|
128
|
+
eventData: {
|
|
129
|
+
method: data['method'],
|
|
130
|
+
},
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
case 'SignUp': {
|
|
134
|
+
return {
|
|
135
|
+
event: 'sign_up',
|
|
136
|
+
eventData: {
|
|
137
|
+
method: data['method'],
|
|
138
|
+
},
|
|
139
|
+
};
|
|
140
|
+
}
|
|
70
141
|
case 'AddToCart': {
|
|
71
142
|
return {
|
|
72
143
|
event: 'add_to_cart',
|
|
@@ -185,7 +256,7 @@ var ProvidersGoogleAnalytics4Sdk = (function () {
|
|
|
185
256
|
}
|
|
186
257
|
return {
|
|
187
258
|
loaded: isLoaded,
|
|
188
|
-
sdkVersion: "0.
|
|
259
|
+
sdkVersion: "0.14.0" ,
|
|
189
260
|
};
|
|
190
261
|
};
|
|
191
262
|
|