@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.
Files changed (2) hide show
  1. package/index.js +75 -4
  2. 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
- data['item_category'] = content.category;
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.12.0" ,
259
+ sdkVersion: "0.14.0" ,
189
260
  };
190
261
  };
191
262
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blotoutio/providers-google-analytics-4-sdk",
3
- "version": "0.12.0",
3
+ "version": "0.14.0",
4
4
  "description": "Google Analytics 4 Browser SDK for EdgeTag",
5
5
  "author": "Blotout",
6
6
  "license": "MIT",