@shware/analytics 0.1.17 → 0.2.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 (80) hide show
  1. package/dist/index.cjs.map +1 -1
  2. package/dist/index.d.cts +3 -1
  3. package/dist/index.d.ts +3 -1
  4. package/dist/index.mjs.map +1 -1
  5. package/dist/next/index.cjs +109 -5
  6. package/dist/next/index.cjs.map +1 -1
  7. package/dist/next/index.d.cts +21 -2
  8. package/dist/next/index.d.ts +21 -2
  9. package/dist/next/index.mjs +96 -4
  10. package/dist/next/index.mjs.map +1 -1
  11. package/dist/react-router/index.cjs +98 -4
  12. package/dist/react-router/index.cjs.map +1 -1
  13. package/dist/react-router/index.d.cts +21 -2
  14. package/dist/react-router/index.d.ts +21 -2
  15. package/dist/react-router/index.mjs +95 -3
  16. package/dist/react-router/index.mjs.map +1 -1
  17. package/dist/schema/index.cjs +1 -0
  18. package/dist/schema/index.cjs.map +1 -1
  19. package/dist/schema/index.d.cts +17 -12
  20. package/dist/schema/index.d.ts +17 -12
  21. package/dist/schema/index.mjs +1 -0
  22. package/dist/schema/index.mjs.map +1 -1
  23. package/dist/server/conversions-api.cjs +246 -0
  24. package/dist/server/conversions-api.cjs.map +1 -0
  25. package/dist/server/conversions-api.d.cts +15 -0
  26. package/dist/server/conversions-api.d.ts +15 -0
  27. package/dist/server/conversions-api.mjs +227 -0
  28. package/dist/server/conversions-api.mjs.map +1 -0
  29. package/dist/setup/index.cjs.map +1 -1
  30. package/dist/setup/index.d.cts +3 -1
  31. package/dist/setup/index.d.ts +3 -1
  32. package/dist/setup/index.mjs.map +1 -1
  33. package/dist/track/fbq.cjs +142 -0
  34. package/dist/track/fbq.cjs.map +1 -0
  35. package/dist/track/fbq.d.cts +279 -0
  36. package/dist/track/fbq.d.ts +279 -0
  37. package/dist/track/fbq.mjs +115 -0
  38. package/dist/track/fbq.mjs.map +1 -0
  39. package/dist/track/{ga.cjs → gtag.cjs} +38 -51
  40. package/dist/track/gtag.cjs.map +1 -0
  41. package/dist/track/gtag.d.cts +525 -0
  42. package/dist/track/gtag.d.ts +525 -0
  43. package/dist/track/gtag.mjs +64 -0
  44. package/dist/track/gtag.mjs.map +1 -0
  45. package/dist/track/index.cjs.map +1 -1
  46. package/dist/track/index.d.cts +3 -2
  47. package/dist/track/index.d.ts +3 -2
  48. package/dist/track/index.mjs.map +1 -1
  49. package/dist/{types/index.cjs → track/types.cjs} +2 -2
  50. package/dist/track/types.cjs.map +1 -0
  51. package/dist/track/types.d.cts +116 -0
  52. package/dist/track/types.d.ts +116 -0
  53. package/dist/track/types.mjs +1 -0
  54. package/dist/visitor/index.cjs.map +1 -1
  55. package/dist/visitor/index.d.cts +1 -1
  56. package/dist/visitor/index.d.ts +1 -1
  57. package/dist/visitor/index.mjs.map +1 -1
  58. package/dist/visitor/types.cjs +19 -0
  59. package/dist/visitor/types.cjs.map +1 -0
  60. package/dist/visitor/types.d.cts +16 -0
  61. package/dist/visitor/types.d.ts +16 -0
  62. package/dist/visitor/types.mjs +1 -0
  63. package/dist/visitor/types.mjs.map +1 -0
  64. package/dist/web/index.cjs +4 -0
  65. package/dist/web/index.cjs.map +1 -1
  66. package/dist/web/index.d.cts +2 -1
  67. package/dist/web/index.d.ts +2 -1
  68. package/dist/web/index.mjs +4 -0
  69. package/dist/web/index.mjs.map +1 -1
  70. package/package.json +11 -1
  71. package/dist/track/ga.cjs.map +0 -1
  72. package/dist/track/ga.d.cts +0 -4
  73. package/dist/track/ga.d.ts +0 -4
  74. package/dist/track/ga.mjs +0 -76
  75. package/dist/track/ga.mjs.map +0 -1
  76. package/dist/types/index.cjs.map +0 -1
  77. package/dist/types/index.d.cts +0 -327
  78. package/dist/types/index.d.ts +0 -327
  79. package/dist/types/index.mjs +0 -1
  80. /package/dist/{types/index.mjs.map → track/types.mjs.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/types/index.ts"],"sourcesContent":["export interface Item {\n item_brand?: string;\n item_id?: string;\n item_name?: string;\n item_category?: string;\n item_category2?: string;\n item_category3?: string;\n item_category4?: string;\n item_category5?: string;\n item_list_id?: string;\n item_list_name?: string;\n item_location_id?: string;\n item_variant?: string;\n quantity?: number;\n price?: number;\n}\n\n/**\n * ref: https://developers.google.com/analytics/devguides/collection/ga4/reference/events?client_type=gtag\n * ref: https://firebase.google.com/docs/reference/android/com/google/firebase/analytics/FirebaseAnalytics.Event\n * */\nexport type StandardEventProperties = {\n // Google Analytics 4 Recommended Events\n add_payment_info: {\n items?: Item[];\n currency?: string;\n value?: number;\n coupon?: string;\n payment_type?: string;\n };\n add_shipping_info: {\n items?: Item[];\n currency?: string;\n value?: number;\n coupon?: string;\n shipping_tier?: string;\n };\n add_to_cart: {\n items?: Item[];\n currency?: string;\n value?: number;\n };\n add_to_wishlist: {\n items?: Item[];\n currency?: string;\n value?: number;\n };\n begin_checkout: {\n currency?: string;\n value?: number;\n coupon?: string;\n items?: Item[];\n [key: string]: any;\n };\n close_convert_lead: { currency: string; value: number };\n close_unconvert_lead: { currency: string; value: number; unconvert_lead_reason?: string };\n disqualify_lead: { currency: string; value: number; disqualified_lead_reason?: string };\n earn_virtual_currency: { virtual_currency_name: string; value: number };\n generate_lead: { currency?: string; value?: number };\n join_group: { group_id: string };\n level_end: { level: number; success?: string };\n level_start: { level: number };\n level_up: { level: number; character?: string };\n login: { method: string };\n post_score: { score: number; level?: number; character?: string };\n purchase: {\n affiliation?: string;\n coupon?: string;\n currency?: string;\n items?: Item[];\n shipping?: number;\n tax?: number;\n value?: number;\n transaction_id?: string;\n [key: string]: any;\n };\n qualify_lead: { currency: string; value: number };\n refund: {\n affiliation?: string;\n coupon?: string;\n currency?: string;\n items?: Item[];\n shipping?: number;\n tax?: number;\n value?: number;\n transaction_id?: string;\n };\n remove_from_cart: { items?: Item[]; value?: number; currency?: string };\n search: {\n search_term: string;\n number_of_nights?: number;\n number_of_rooms?: number;\n number_of_passengers?: number;\n origin?: string;\n destination?: string;\n start_date?: string;\n end_date?: string;\n travel_class?: string;\n };\n select_content: { content_type: string; item_id: string };\n select_item: {\n items?: Item[];\n content_type: string;\n item_list_id: string;\n item_list_name: string;\n };\n select_promotion: {\n creative_name: string;\n creative_slot: string;\n items?: Item[];\n location_id: string;\n promotion_id: string;\n promotion_name: string;\n };\n share: {\n content_type: string;\n item_id: string;\n method: string;\n activity_type?: string | null;\n post_id?: string;\n };\n sign_up: { method: string };\n spend_virtual_currency: { item_name: string; virtual_currency_name: string; value: number };\n tutorial_begin: undefined;\n tutorial_complete: undefined;\n unlock_achievement: { achievement_id: string };\n view_cart: { items?: Item[]; currency?: string; value?: number };\n view_item: { items?: Item[]; currency?: string; value?: number };\n view_item_list: { items?: Item[]; item_list_id?: string; item_list_name?: string };\n view_promotion: {\n items?: Item[];\n location_id?: string;\n creative_name?: string;\n creative_slot?: string;\n promotion_id?: string;\n promotion_name?: string;\n };\n working_lead: { currency: string; value: number; lead_status?: string };\n\n // Firebase Analytics events, event_name 40 characters limit, 25 parameters limit\n ad_impression: {\n value?: number;\n currency?: string;\n ad_format?: string;\n ad_platform?: string;\n ad_source?: string;\n ad_unit_name?: string;\n };\n app_open: undefined;\n campaign_details: {\n source: string;\n medium: string;\n campaign: string;\n term?: string;\n content?: string;\n aclid?: string;\n cp1?: string;\n };\n screen_view: { screen_name?: string; screen_class?: string };\n view_search_results: { search_term: string };\n};\n\nexport type AllowedPropertyValues = string | number | boolean | null;\nexport type EventName = Lowercase<string>;\nexport type CustomEventProperties = Record<Lowercase<string>, AllowedPropertyValues>;\n\nexport type TrackProperties<T extends EventName = EventName> =\n T extends keyof StandardEventProperties ? StandardEventProperties[T] : CustomEventProperties;\n\nexport interface UserData {\n userId: string;\n email?: string;\n firstName?: string;\n lastName?: string;\n phone?: string;\n dateOfBirth?: string;\n gender?: string;\n city?: string;\n state?: string;\n postal?: string;\n country?: string;\n}\n\nexport type ThirdPartyTracker = <T extends EventName = EventName>(\n name: T,\n properties?: TrackProperties<T>,\n event_id?: string\n) => void;\n\nexport interface PlatformInfo {\n os?: string;\n os_name?: string;\n os_version?: string;\n browser?: string;\n browser_name?: string;\n browser_version?: string;\n platform?: 'ios' | 'android' | 'web' | 'macos' | 'windows' | 'linux' | 'unknown';\n}\n\nexport interface DeviceInfo {\n device?: string;\n device_id?: string;\n device_type?: string;\n device_vendor?: string;\n device_pixel_ratio?: string;\n screen_resolution?: `${number}x${number}`;\n}\n\nexport interface EnvironmentInfo {\n release?: string;\n language?: string;\n timezone?: string;\n environment?: 'development' | 'production';\n}\n\nexport interface SourceInfo {\n source_url?: string;\n source?: 'app' | 'web' | 'offline';\n}\n\nexport interface ThirdPartyFields {\n /**\n * Meta pixel fields\n * ref: https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/customer-information-parameters#fbc\n * Stored in the _fbc/_fbp browser cookie under your domain\n */\n fbc?: string;\n fbp?: string;\n /**\n * Google Analytics fields\n */\n gclid?: string;\n}\n\nexport interface UTMParams {\n utm_source?: string;\n utm_medium?: string;\n utm_campaign?: string;\n utm_term?: string;\n utm_content?: string;\n}\n\nexport interface TrackTags\n extends PlatformInfo,\n DeviceInfo,\n EnvironmentInfo,\n SourceInfo,\n ThirdPartyFields,\n UTMParams {\n [key: string]: string | undefined;\n}\n\nexport interface CreateTrackEventDTO<T extends EventName = EventName> {\n name: string;\n tags: TrackTags;\n visitor_id: string;\n properties?: TrackProperties<T>;\n timestamp: string;\n}\n\nexport interface TrackEventResponse {\n /**\n * track event id\n * some tracking system will use event_id and event_name for deduplication\n * */\n id: string;\n}\n\nexport type VisitorProperties = Record<Lowercase<string>, AllowedPropertyValues>;\n\nexport interface Visitor {\n id: string;\n device_id: string;\n properties: VisitorProperties;\n}\n\nexport interface CreateVisitorDTO {\n device_id: string;\n properties?: VisitorProperties;\n}\n\nexport interface UpdateVisitorDTO {\n properties: VisitorProperties;\n}\n\nexport type ThirdPartyUserSetter = (properties: VisitorProperties) => void;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -1,327 +0,0 @@
1
- interface Item {
2
- item_brand?: string;
3
- item_id?: string;
4
- item_name?: string;
5
- item_category?: string;
6
- item_category2?: string;
7
- item_category3?: string;
8
- item_category4?: string;
9
- item_category5?: string;
10
- item_list_id?: string;
11
- item_list_name?: string;
12
- item_location_id?: string;
13
- item_variant?: string;
14
- quantity?: number;
15
- price?: number;
16
- }
17
- /**
18
- * ref: https://developers.google.com/analytics/devguides/collection/ga4/reference/events?client_type=gtag
19
- * ref: https://firebase.google.com/docs/reference/android/com/google/firebase/analytics/FirebaseAnalytics.Event
20
- * */
21
- type StandardEventProperties = {
22
- add_payment_info: {
23
- items?: Item[];
24
- currency?: string;
25
- value?: number;
26
- coupon?: string;
27
- payment_type?: string;
28
- };
29
- add_shipping_info: {
30
- items?: Item[];
31
- currency?: string;
32
- value?: number;
33
- coupon?: string;
34
- shipping_tier?: string;
35
- };
36
- add_to_cart: {
37
- items?: Item[];
38
- currency?: string;
39
- value?: number;
40
- };
41
- add_to_wishlist: {
42
- items?: Item[];
43
- currency?: string;
44
- value?: number;
45
- };
46
- begin_checkout: {
47
- currency?: string;
48
- value?: number;
49
- coupon?: string;
50
- items?: Item[];
51
- [key: string]: any;
52
- };
53
- close_convert_lead: {
54
- currency: string;
55
- value: number;
56
- };
57
- close_unconvert_lead: {
58
- currency: string;
59
- value: number;
60
- unconvert_lead_reason?: string;
61
- };
62
- disqualify_lead: {
63
- currency: string;
64
- value: number;
65
- disqualified_lead_reason?: string;
66
- };
67
- earn_virtual_currency: {
68
- virtual_currency_name: string;
69
- value: number;
70
- };
71
- generate_lead: {
72
- currency?: string;
73
- value?: number;
74
- };
75
- join_group: {
76
- group_id: string;
77
- };
78
- level_end: {
79
- level: number;
80
- success?: string;
81
- };
82
- level_start: {
83
- level: number;
84
- };
85
- level_up: {
86
- level: number;
87
- character?: string;
88
- };
89
- login: {
90
- method: string;
91
- };
92
- post_score: {
93
- score: number;
94
- level?: number;
95
- character?: string;
96
- };
97
- purchase: {
98
- affiliation?: string;
99
- coupon?: string;
100
- currency?: string;
101
- items?: Item[];
102
- shipping?: number;
103
- tax?: number;
104
- value?: number;
105
- transaction_id?: string;
106
- [key: string]: any;
107
- };
108
- qualify_lead: {
109
- currency: string;
110
- value: number;
111
- };
112
- refund: {
113
- affiliation?: string;
114
- coupon?: string;
115
- currency?: string;
116
- items?: Item[];
117
- shipping?: number;
118
- tax?: number;
119
- value?: number;
120
- transaction_id?: string;
121
- };
122
- remove_from_cart: {
123
- items?: Item[];
124
- value?: number;
125
- currency?: string;
126
- };
127
- search: {
128
- search_term: string;
129
- number_of_nights?: number;
130
- number_of_rooms?: number;
131
- number_of_passengers?: number;
132
- origin?: string;
133
- destination?: string;
134
- start_date?: string;
135
- end_date?: string;
136
- travel_class?: string;
137
- };
138
- select_content: {
139
- content_type: string;
140
- item_id: string;
141
- };
142
- select_item: {
143
- items?: Item[];
144
- content_type: string;
145
- item_list_id: string;
146
- item_list_name: string;
147
- };
148
- select_promotion: {
149
- creative_name: string;
150
- creative_slot: string;
151
- items?: Item[];
152
- location_id: string;
153
- promotion_id: string;
154
- promotion_name: string;
155
- };
156
- share: {
157
- content_type: string;
158
- item_id: string;
159
- method: string;
160
- activity_type?: string | null;
161
- post_id?: string;
162
- };
163
- sign_up: {
164
- method: string;
165
- };
166
- spend_virtual_currency: {
167
- item_name: string;
168
- virtual_currency_name: string;
169
- value: number;
170
- };
171
- tutorial_begin: undefined;
172
- tutorial_complete: undefined;
173
- unlock_achievement: {
174
- achievement_id: string;
175
- };
176
- view_cart: {
177
- items?: Item[];
178
- currency?: string;
179
- value?: number;
180
- };
181
- view_item: {
182
- items?: Item[];
183
- currency?: string;
184
- value?: number;
185
- };
186
- view_item_list: {
187
- items?: Item[];
188
- item_list_id?: string;
189
- item_list_name?: string;
190
- };
191
- view_promotion: {
192
- items?: Item[];
193
- location_id?: string;
194
- creative_name?: string;
195
- creative_slot?: string;
196
- promotion_id?: string;
197
- promotion_name?: string;
198
- };
199
- working_lead: {
200
- currency: string;
201
- value: number;
202
- lead_status?: string;
203
- };
204
- ad_impression: {
205
- value?: number;
206
- currency?: string;
207
- ad_format?: string;
208
- ad_platform?: string;
209
- ad_source?: string;
210
- ad_unit_name?: string;
211
- };
212
- app_open: undefined;
213
- campaign_details: {
214
- source: string;
215
- medium: string;
216
- campaign: string;
217
- term?: string;
218
- content?: string;
219
- aclid?: string;
220
- cp1?: string;
221
- };
222
- screen_view: {
223
- screen_name?: string;
224
- screen_class?: string;
225
- };
226
- view_search_results: {
227
- search_term: string;
228
- };
229
- };
230
- type AllowedPropertyValues = string | number | boolean | null;
231
- type EventName = Lowercase<string>;
232
- type CustomEventProperties = Record<Lowercase<string>, AllowedPropertyValues>;
233
- type TrackProperties<T extends EventName = EventName> = T extends keyof StandardEventProperties ? StandardEventProperties[T] : CustomEventProperties;
234
- interface UserData {
235
- userId: string;
236
- email?: string;
237
- firstName?: string;
238
- lastName?: string;
239
- phone?: string;
240
- dateOfBirth?: string;
241
- gender?: string;
242
- city?: string;
243
- state?: string;
244
- postal?: string;
245
- country?: string;
246
- }
247
- type ThirdPartyTracker = <T extends EventName = EventName>(name: T, properties?: TrackProperties<T>, event_id?: string) => void;
248
- interface PlatformInfo {
249
- os?: string;
250
- os_name?: string;
251
- os_version?: string;
252
- browser?: string;
253
- browser_name?: string;
254
- browser_version?: string;
255
- platform?: 'ios' | 'android' | 'web' | 'macos' | 'windows' | 'linux' | 'unknown';
256
- }
257
- interface DeviceInfo {
258
- device?: string;
259
- device_id?: string;
260
- device_type?: string;
261
- device_vendor?: string;
262
- device_pixel_ratio?: string;
263
- screen_resolution?: `${number}x${number}`;
264
- }
265
- interface EnvironmentInfo {
266
- release?: string;
267
- language?: string;
268
- timezone?: string;
269
- environment?: 'development' | 'production';
270
- }
271
- interface SourceInfo {
272
- source_url?: string;
273
- source?: 'app' | 'web' | 'offline';
274
- }
275
- interface ThirdPartyFields {
276
- /**
277
- * Meta pixel fields
278
- * ref: https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/customer-information-parameters#fbc
279
- * Stored in the _fbc/_fbp browser cookie under your domain
280
- */
281
- fbc?: string;
282
- fbp?: string;
283
- /**
284
- * Google Analytics fields
285
- */
286
- gclid?: string;
287
- }
288
- interface UTMParams {
289
- utm_source?: string;
290
- utm_medium?: string;
291
- utm_campaign?: string;
292
- utm_term?: string;
293
- utm_content?: string;
294
- }
295
- interface TrackTags extends PlatformInfo, DeviceInfo, EnvironmentInfo, SourceInfo, ThirdPartyFields, UTMParams {
296
- [key: string]: string | undefined;
297
- }
298
- interface CreateTrackEventDTO<T extends EventName = EventName> {
299
- name: string;
300
- tags: TrackTags;
301
- visitor_id: string;
302
- properties?: TrackProperties<T>;
303
- timestamp: string;
304
- }
305
- interface TrackEventResponse {
306
- /**
307
- * track event id
308
- * some tracking system will use event_id and event_name for deduplication
309
- * */
310
- id: string;
311
- }
312
- type VisitorProperties = Record<Lowercase<string>, AllowedPropertyValues>;
313
- interface Visitor {
314
- id: string;
315
- device_id: string;
316
- properties: VisitorProperties;
317
- }
318
- interface CreateVisitorDTO {
319
- device_id: string;
320
- properties?: VisitorProperties;
321
- }
322
- interface UpdateVisitorDTO {
323
- properties: VisitorProperties;
324
- }
325
- type ThirdPartyUserSetter = (properties: VisitorProperties) => void;
326
-
327
- export type { AllowedPropertyValues, CreateTrackEventDTO, CreateVisitorDTO, CustomEventProperties, DeviceInfo, EnvironmentInfo, EventName, Item, PlatformInfo, SourceInfo, StandardEventProperties, ThirdPartyFields, ThirdPartyTracker, ThirdPartyUserSetter, TrackEventResponse, TrackProperties, TrackTags, UTMParams, UpdateVisitorDTO, UserData, Visitor, VisitorProperties };
@@ -1,327 +0,0 @@
1
- interface Item {
2
- item_brand?: string;
3
- item_id?: string;
4
- item_name?: string;
5
- item_category?: string;
6
- item_category2?: string;
7
- item_category3?: string;
8
- item_category4?: string;
9
- item_category5?: string;
10
- item_list_id?: string;
11
- item_list_name?: string;
12
- item_location_id?: string;
13
- item_variant?: string;
14
- quantity?: number;
15
- price?: number;
16
- }
17
- /**
18
- * ref: https://developers.google.com/analytics/devguides/collection/ga4/reference/events?client_type=gtag
19
- * ref: https://firebase.google.com/docs/reference/android/com/google/firebase/analytics/FirebaseAnalytics.Event
20
- * */
21
- type StandardEventProperties = {
22
- add_payment_info: {
23
- items?: Item[];
24
- currency?: string;
25
- value?: number;
26
- coupon?: string;
27
- payment_type?: string;
28
- };
29
- add_shipping_info: {
30
- items?: Item[];
31
- currency?: string;
32
- value?: number;
33
- coupon?: string;
34
- shipping_tier?: string;
35
- };
36
- add_to_cart: {
37
- items?: Item[];
38
- currency?: string;
39
- value?: number;
40
- };
41
- add_to_wishlist: {
42
- items?: Item[];
43
- currency?: string;
44
- value?: number;
45
- };
46
- begin_checkout: {
47
- currency?: string;
48
- value?: number;
49
- coupon?: string;
50
- items?: Item[];
51
- [key: string]: any;
52
- };
53
- close_convert_lead: {
54
- currency: string;
55
- value: number;
56
- };
57
- close_unconvert_lead: {
58
- currency: string;
59
- value: number;
60
- unconvert_lead_reason?: string;
61
- };
62
- disqualify_lead: {
63
- currency: string;
64
- value: number;
65
- disqualified_lead_reason?: string;
66
- };
67
- earn_virtual_currency: {
68
- virtual_currency_name: string;
69
- value: number;
70
- };
71
- generate_lead: {
72
- currency?: string;
73
- value?: number;
74
- };
75
- join_group: {
76
- group_id: string;
77
- };
78
- level_end: {
79
- level: number;
80
- success?: string;
81
- };
82
- level_start: {
83
- level: number;
84
- };
85
- level_up: {
86
- level: number;
87
- character?: string;
88
- };
89
- login: {
90
- method: string;
91
- };
92
- post_score: {
93
- score: number;
94
- level?: number;
95
- character?: string;
96
- };
97
- purchase: {
98
- affiliation?: string;
99
- coupon?: string;
100
- currency?: string;
101
- items?: Item[];
102
- shipping?: number;
103
- tax?: number;
104
- value?: number;
105
- transaction_id?: string;
106
- [key: string]: any;
107
- };
108
- qualify_lead: {
109
- currency: string;
110
- value: number;
111
- };
112
- refund: {
113
- affiliation?: string;
114
- coupon?: string;
115
- currency?: string;
116
- items?: Item[];
117
- shipping?: number;
118
- tax?: number;
119
- value?: number;
120
- transaction_id?: string;
121
- };
122
- remove_from_cart: {
123
- items?: Item[];
124
- value?: number;
125
- currency?: string;
126
- };
127
- search: {
128
- search_term: string;
129
- number_of_nights?: number;
130
- number_of_rooms?: number;
131
- number_of_passengers?: number;
132
- origin?: string;
133
- destination?: string;
134
- start_date?: string;
135
- end_date?: string;
136
- travel_class?: string;
137
- };
138
- select_content: {
139
- content_type: string;
140
- item_id: string;
141
- };
142
- select_item: {
143
- items?: Item[];
144
- content_type: string;
145
- item_list_id: string;
146
- item_list_name: string;
147
- };
148
- select_promotion: {
149
- creative_name: string;
150
- creative_slot: string;
151
- items?: Item[];
152
- location_id: string;
153
- promotion_id: string;
154
- promotion_name: string;
155
- };
156
- share: {
157
- content_type: string;
158
- item_id: string;
159
- method: string;
160
- activity_type?: string | null;
161
- post_id?: string;
162
- };
163
- sign_up: {
164
- method: string;
165
- };
166
- spend_virtual_currency: {
167
- item_name: string;
168
- virtual_currency_name: string;
169
- value: number;
170
- };
171
- tutorial_begin: undefined;
172
- tutorial_complete: undefined;
173
- unlock_achievement: {
174
- achievement_id: string;
175
- };
176
- view_cart: {
177
- items?: Item[];
178
- currency?: string;
179
- value?: number;
180
- };
181
- view_item: {
182
- items?: Item[];
183
- currency?: string;
184
- value?: number;
185
- };
186
- view_item_list: {
187
- items?: Item[];
188
- item_list_id?: string;
189
- item_list_name?: string;
190
- };
191
- view_promotion: {
192
- items?: Item[];
193
- location_id?: string;
194
- creative_name?: string;
195
- creative_slot?: string;
196
- promotion_id?: string;
197
- promotion_name?: string;
198
- };
199
- working_lead: {
200
- currency: string;
201
- value: number;
202
- lead_status?: string;
203
- };
204
- ad_impression: {
205
- value?: number;
206
- currency?: string;
207
- ad_format?: string;
208
- ad_platform?: string;
209
- ad_source?: string;
210
- ad_unit_name?: string;
211
- };
212
- app_open: undefined;
213
- campaign_details: {
214
- source: string;
215
- medium: string;
216
- campaign: string;
217
- term?: string;
218
- content?: string;
219
- aclid?: string;
220
- cp1?: string;
221
- };
222
- screen_view: {
223
- screen_name?: string;
224
- screen_class?: string;
225
- };
226
- view_search_results: {
227
- search_term: string;
228
- };
229
- };
230
- type AllowedPropertyValues = string | number | boolean | null;
231
- type EventName = Lowercase<string>;
232
- type CustomEventProperties = Record<Lowercase<string>, AllowedPropertyValues>;
233
- type TrackProperties<T extends EventName = EventName> = T extends keyof StandardEventProperties ? StandardEventProperties[T] : CustomEventProperties;
234
- interface UserData {
235
- userId: string;
236
- email?: string;
237
- firstName?: string;
238
- lastName?: string;
239
- phone?: string;
240
- dateOfBirth?: string;
241
- gender?: string;
242
- city?: string;
243
- state?: string;
244
- postal?: string;
245
- country?: string;
246
- }
247
- type ThirdPartyTracker = <T extends EventName = EventName>(name: T, properties?: TrackProperties<T>, event_id?: string) => void;
248
- interface PlatformInfo {
249
- os?: string;
250
- os_name?: string;
251
- os_version?: string;
252
- browser?: string;
253
- browser_name?: string;
254
- browser_version?: string;
255
- platform?: 'ios' | 'android' | 'web' | 'macos' | 'windows' | 'linux' | 'unknown';
256
- }
257
- interface DeviceInfo {
258
- device?: string;
259
- device_id?: string;
260
- device_type?: string;
261
- device_vendor?: string;
262
- device_pixel_ratio?: string;
263
- screen_resolution?: `${number}x${number}`;
264
- }
265
- interface EnvironmentInfo {
266
- release?: string;
267
- language?: string;
268
- timezone?: string;
269
- environment?: 'development' | 'production';
270
- }
271
- interface SourceInfo {
272
- source_url?: string;
273
- source?: 'app' | 'web' | 'offline';
274
- }
275
- interface ThirdPartyFields {
276
- /**
277
- * Meta pixel fields
278
- * ref: https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/customer-information-parameters#fbc
279
- * Stored in the _fbc/_fbp browser cookie under your domain
280
- */
281
- fbc?: string;
282
- fbp?: string;
283
- /**
284
- * Google Analytics fields
285
- */
286
- gclid?: string;
287
- }
288
- interface UTMParams {
289
- utm_source?: string;
290
- utm_medium?: string;
291
- utm_campaign?: string;
292
- utm_term?: string;
293
- utm_content?: string;
294
- }
295
- interface TrackTags extends PlatformInfo, DeviceInfo, EnvironmentInfo, SourceInfo, ThirdPartyFields, UTMParams {
296
- [key: string]: string | undefined;
297
- }
298
- interface CreateTrackEventDTO<T extends EventName = EventName> {
299
- name: string;
300
- tags: TrackTags;
301
- visitor_id: string;
302
- properties?: TrackProperties<T>;
303
- timestamp: string;
304
- }
305
- interface TrackEventResponse {
306
- /**
307
- * track event id
308
- * some tracking system will use event_id and event_name for deduplication
309
- * */
310
- id: string;
311
- }
312
- type VisitorProperties = Record<Lowercase<string>, AllowedPropertyValues>;
313
- interface Visitor {
314
- id: string;
315
- device_id: string;
316
- properties: VisitorProperties;
317
- }
318
- interface CreateVisitorDTO {
319
- device_id: string;
320
- properties?: VisitorProperties;
321
- }
322
- interface UpdateVisitorDTO {
323
- properties: VisitorProperties;
324
- }
325
- type ThirdPartyUserSetter = (properties: VisitorProperties) => void;
326
-
327
- export type { AllowedPropertyValues, CreateTrackEventDTO, CreateVisitorDTO, CustomEventProperties, DeviceInfo, EnvironmentInfo, EventName, Item, PlatformInfo, SourceInfo, StandardEventProperties, ThirdPartyFields, ThirdPartyTracker, ThirdPartyUserSetter, TrackEventResponse, TrackProperties, TrackTags, UTMParams, UpdateVisitorDTO, UserData, Visitor, VisitorProperties };
@@ -1 +0,0 @@
1
- //# sourceMappingURL=index.mjs.map