@walkeros/web-destination-segment 3.3.0-next-1776098542393

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.
@@ -0,0 +1,1284 @@
1
+ {
2
+ "$meta": {
3
+ "package": "@walkeros/web-destination-segment",
4
+ "version": "3.2.0",
5
+ "type": "destination",
6
+ "platform": [
7
+ "web"
8
+ ],
9
+ "docs": "https://www.walkeros.io/docs/destinations/web/segment",
10
+ "source": "https://github.com/elbwalker/walkerOS/tree/main/packages/web/destinations/segment/src"
11
+ },
12
+ "schemas": {
13
+ "mapping": {
14
+ "$schema": "http://json-schema.org/draft-07/schema#",
15
+ "type": "object",
16
+ "properties": {
17
+ "identify": {
18
+ "description": "Per-event identity mapping. Resolves to an object with any of: userId, traits, anonymousId. Use with rule-level `skip: true` on login/identify events."
19
+ },
20
+ "group": {
21
+ "description": "Per-event group assignment. Resolves to { groupId, traits }. Use with rule-level `skip: true` on company/team events."
22
+ },
23
+ "page": {
24
+ "description": "Per-event page call configuration. Resolves to { category?, name?, properties? } for analytics.page(), or `true` for an empty analytics.page() that relies on SDK auto-collection. Use with rule-level `skip: true` on page view events."
25
+ },
26
+ "reset": {
27
+ "description": "Logout trigger. Resolves to a truthy value → analytics.reset() (clears userId, anonymousId, traits). Typically used with skip: true on a user logout rule."
28
+ }
29
+ },
30
+ "additionalProperties": false
31
+ },
32
+ "settings": {
33
+ "$schema": "http://json-schema.org/draft-07/schema#",
34
+ "type": "object",
35
+ "properties": {
36
+ "apiKey": {
37
+ "type": "string",
38
+ "minLength": 1,
39
+ "description": "Your Segment source write key. Find it in your Segment workspace under Connections, Sources, Settings, API Keys. Maps to `writeKey` in the Analytics.js `load()` call (like a1B2c3D4e5F6a1B2c3D4e5F6a1B2c3D4)."
40
+ },
41
+ "cdnURL": {
42
+ "type": "string",
43
+ "description": "Override the CDN URL used for settings fetch. Default: https://cdn.segment.com. Useful for self-hosted Segment proxies."
44
+ },
45
+ "initialPageview": {
46
+ "type": "boolean",
47
+ "description": "When true, the SDK fires an automatic initial page() call on load. Default: false — walkerOS sources handle page tracking, so this is disabled to avoid duplicate page views."
48
+ },
49
+ "disableClientPersistence": {
50
+ "type": "boolean",
51
+ "description": "When true, prevents any cookie or localStorage writes. Useful for privacy-conscious setups. Default: false."
52
+ },
53
+ "disableAutoISOConversion": {
54
+ "type": "boolean",
55
+ "description": "Disable automatic ISO string → Date conversion. Default: false."
56
+ },
57
+ "retryQueue": {
58
+ "type": "boolean",
59
+ "description": "Retry failed events. Default: true."
60
+ },
61
+ "obfuscate": {
62
+ "type": "boolean",
63
+ "description": "Obfuscate event payloads. Default: false."
64
+ },
65
+ "integrations": {
66
+ "type": "object",
67
+ "propertyNames": {
68
+ "type": "string"
69
+ },
70
+ "additionalProperties": {},
71
+ "description": "Enable/disable downstream Segment destinations. Example: { \"All\": true, \"Mixpanel\": false }."
72
+ },
73
+ "identify": {
74
+ "description": "Destination-level identity mapping. Resolves to an object with any of: userId, traits, anonymousId. Fires on the first push and re-fires when the resolved value changes."
75
+ },
76
+ "group": {
77
+ "description": "Destination-level group mapping. Resolves to an object with: groupId, traits. Fires on the first push and re-fires on change."
78
+ },
79
+ "consent": {
80
+ "type": "object",
81
+ "propertyNames": {
82
+ "type": "string"
83
+ },
84
+ "additionalProperties": {
85
+ "type": "string"
86
+ },
87
+ "description": "Mapping from walkerOS consent keys → Segment `categoryPreferences` keys. Example: { \"marketing\": \"Advertising\", \"analytics\": \"Analytics\" }. When omitted, walkerOS keys are forwarded 1:1 to Segment."
88
+ }
89
+ },
90
+ "required": [
91
+ "apiKey"
92
+ ],
93
+ "additionalProperties": false
94
+ }
95
+ },
96
+ "examples": {
97
+ "env": {
98
+ "init": {
99
+ "analytics": {
100
+ "load": {
101
+ "$code": "()=>({track:ph,identify:ph,group:ph,page:ph,alias:ph,reset:ph,setAnonymousId:ph})"
102
+ }
103
+ }
104
+ },
105
+ "push": {
106
+ "analytics": {
107
+ "load": {
108
+ "$code": "()=>({track:ph,identify:ph,group:ph,page:ph,alias:ph,reset:ph,setAnonymousId:ph})"
109
+ }
110
+ }
111
+ },
112
+ "simulation": [
113
+ "call:analytics.load",
114
+ "call:analytics.track",
115
+ "call:analytics.identify",
116
+ "call:analytics.group",
117
+ "call:analytics.page",
118
+ "call:analytics.alias",
119
+ "call:analytics.reset",
120
+ "call:analytics.setAnonymousId"
121
+ ]
122
+ },
123
+ "step": {
124
+ "companyUpdateGroup": {
125
+ "in": {
126
+ "name": "company update",
127
+ "data": {
128
+ "company_id": "comp-456",
129
+ "company_name": "Acme",
130
+ "industry": "tech",
131
+ "employees": 50,
132
+ "plan": "enterprise"
133
+ },
134
+ "context": {
135
+ "dev": [
136
+ "test",
137
+ 1
138
+ ]
139
+ },
140
+ "globals": {
141
+ "lang": "elb"
142
+ },
143
+ "custom": {
144
+ "completely": "random"
145
+ },
146
+ "user": {
147
+ "id": "us3r",
148
+ "device": "c00k13",
149
+ "session": "s3ss10n"
150
+ },
151
+ "nested": [
152
+ {
153
+ "entity": "child",
154
+ "data": {
155
+ "is": "subordinated"
156
+ },
157
+ "nested": [],
158
+ "context": {
159
+ "element": [
160
+ "child",
161
+ 0
162
+ ]
163
+ }
164
+ }
165
+ ],
166
+ "consent": {
167
+ "functional": true
168
+ },
169
+ "id": "1700000108-gr0up-1",
170
+ "trigger": "test",
171
+ "entity": "company",
172
+ "action": "update",
173
+ "timestamp": 1700000108,
174
+ "timing": 3.14,
175
+ "group": "gr0up",
176
+ "count": 1,
177
+ "version": {
178
+ "source": "3.2.0",
179
+ "tagging": 1
180
+ },
181
+ "source": {
182
+ "type": "web",
183
+ "id": "https://localhost:80",
184
+ "previous_id": "http://remotehost:9001"
185
+ }
186
+ },
187
+ "mapping": {
188
+ "skip": true,
189
+ "settings": {
190
+ "group": {
191
+ "map": {
192
+ "groupId": "data.company_id",
193
+ "traits": {
194
+ "map": {
195
+ "name": "data.company_name",
196
+ "industry": "data.industry",
197
+ "employees": "data.employees",
198
+ "plan": "data.plan"
199
+ }
200
+ }
201
+ }
202
+ }
203
+ }
204
+ },
205
+ "out": [
206
+ "analytics.group",
207
+ "comp-456",
208
+ {
209
+ "name": "Acme",
210
+ "industry": "tech",
211
+ "employees": 50,
212
+ "plan": "enterprise"
213
+ }
214
+ ]
215
+ },
216
+ "consentContextForwarded": {
217
+ "in": {
218
+ "name": "product view",
219
+ "data": {
220
+ "id": "ers",
221
+ "name": "Everyday Ruck Snack",
222
+ "color": "black",
223
+ "size": "l",
224
+ "price": 420
225
+ },
226
+ "context": {
227
+ "shopping": [
228
+ "detail",
229
+ 0
230
+ ]
231
+ },
232
+ "globals": {
233
+ "pagegroup": "shop"
234
+ },
235
+ "custom": {
236
+ "completely": "random"
237
+ },
238
+ "user": {
239
+ "id": "us3r",
240
+ "device": "c00k13",
241
+ "session": "s3ss10n"
242
+ },
243
+ "nested": [],
244
+ "consent": {
245
+ "analytics": true,
246
+ "marketing": true
247
+ },
248
+ "id": "1700000112-gr0up-1",
249
+ "trigger": "load",
250
+ "entity": "product",
251
+ "action": "view",
252
+ "timestamp": 1700000112,
253
+ "timing": 3.14,
254
+ "group": "gr0up",
255
+ "count": 1,
256
+ "version": {
257
+ "source": "3.2.0",
258
+ "tagging": 1
259
+ },
260
+ "source": {
261
+ "type": "web",
262
+ "id": "https://localhost:80",
263
+ "previous_id": "http://remotehost:9001"
264
+ }
265
+ },
266
+ "settings": {
267
+ "consent": {
268
+ "analytics": "Analytics",
269
+ "marketing": "Advertising"
270
+ }
271
+ },
272
+ "out": [
273
+ "analytics.track",
274
+ "product view",
275
+ {},
276
+ {
277
+ "context": {
278
+ "consent": {
279
+ "categoryPreferences": {
280
+ "Analytics": true,
281
+ "Advertising": true
282
+ }
283
+ }
284
+ }
285
+ }
286
+ ]
287
+ },
288
+ "consentGrantDeferredLoad": {
289
+ "command": "consent",
290
+ "in": {
291
+ "analytics": true
292
+ },
293
+ "out": [
294
+ "analytics.load",
295
+ {
296
+ "writeKey": "test-project"
297
+ },
298
+ {
299
+ "initialPageview": false
300
+ }
301
+ ]
302
+ },
303
+ "consentRevokeNoOp": {
304
+ "command": "consent",
305
+ "in": {
306
+ "analytics": false
307
+ },
308
+ "out": []
309
+ },
310
+ "defaultEventForwarding": {
311
+ "in": {
312
+ "name": "product view",
313
+ "data": {
314
+ "id": "ers",
315
+ "name": "Everyday Ruck Snack",
316
+ "color": "black",
317
+ "size": "l",
318
+ "price": 420
319
+ },
320
+ "context": {
321
+ "shopping": [
322
+ "detail",
323
+ 0
324
+ ]
325
+ },
326
+ "globals": {
327
+ "pagegroup": "shop"
328
+ },
329
+ "custom": {
330
+ "completely": "random"
331
+ },
332
+ "user": {
333
+ "id": "us3r",
334
+ "device": "c00k13",
335
+ "session": "s3ss10n"
336
+ },
337
+ "nested": [],
338
+ "consent": {
339
+ "functional": true
340
+ },
341
+ "id": "1700000100-gr0up-1",
342
+ "trigger": "load",
343
+ "entity": "product",
344
+ "action": "view",
345
+ "timestamp": 1700000100,
346
+ "timing": 3.14,
347
+ "group": "gr0up",
348
+ "count": 1,
349
+ "version": {
350
+ "source": "3.2.0",
351
+ "tagging": 1
352
+ },
353
+ "source": {
354
+ "type": "web",
355
+ "id": "https://localhost:80",
356
+ "previous_id": "http://remotehost:9001"
357
+ }
358
+ },
359
+ "out": [
360
+ "analytics.track",
361
+ "product view",
362
+ {}
363
+ ]
364
+ },
365
+ "destinationLevelIdentify": {
366
+ "in": {
367
+ "name": "page view",
368
+ "data": {
369
+ "domain": "www.example.com",
370
+ "title": "walkerOS documentation",
371
+ "referrer": "https://www.walkeros.io/",
372
+ "search": "?foo=bar",
373
+ "hash": "#hash",
374
+ "id": "/docs/"
375
+ },
376
+ "context": {
377
+ "dev": [
378
+ "test",
379
+ 1
380
+ ]
381
+ },
382
+ "globals": {
383
+ "pagegroup": "docs"
384
+ },
385
+ "custom": {
386
+ "completely": "random"
387
+ },
388
+ "user": {
389
+ "id": "us3r",
390
+ "device": "c00k13",
391
+ "session": "s3ss10n"
392
+ },
393
+ "nested": [
394
+ {
395
+ "entity": "child",
396
+ "data": {
397
+ "is": "subordinated"
398
+ },
399
+ "nested": [],
400
+ "context": {
401
+ "element": [
402
+ "child",
403
+ 0
404
+ ]
405
+ }
406
+ }
407
+ ],
408
+ "consent": {
409
+ "functional": true
410
+ },
411
+ "id": "1700000104-gr0up-1",
412
+ "trigger": "load",
413
+ "entity": "page",
414
+ "action": "view",
415
+ "timestamp": 1700000104,
416
+ "timing": 3.14,
417
+ "group": "gr0up",
418
+ "count": 1,
419
+ "version": {
420
+ "source": "3.2.0",
421
+ "tagging": 1
422
+ },
423
+ "source": {
424
+ "type": "web",
425
+ "id": "https://localhost:80",
426
+ "previous_id": "http://remotehost:9001"
427
+ }
428
+ },
429
+ "settings": {
430
+ "identify": {
431
+ "map": {
432
+ "userId": "user.id"
433
+ }
434
+ }
435
+ },
436
+ "out": [
437
+ [
438
+ "analytics.identify",
439
+ "us3r",
440
+ {}
441
+ ],
442
+ [
443
+ "analytics.track",
444
+ "page view",
445
+ {}
446
+ ]
447
+ ]
448
+ },
449
+ "destinationLevelInclude": {
450
+ "in": {
451
+ "name": "product view",
452
+ "data": {
453
+ "id": "ers",
454
+ "name": "Everyday Ruck Snack",
455
+ "color": "black",
456
+ "size": "l",
457
+ "price": 420
458
+ },
459
+ "context": {
460
+ "shopping": [
461
+ "detail",
462
+ 0
463
+ ]
464
+ },
465
+ "globals": {
466
+ "pagegroup": "shop"
467
+ },
468
+ "custom": {
469
+ "completely": "random"
470
+ },
471
+ "user": {
472
+ "id": "us3r",
473
+ "device": "c00k13",
474
+ "session": "s3ss10n"
475
+ },
476
+ "nested": [],
477
+ "consent": {
478
+ "functional": true
479
+ },
480
+ "id": "1700000102-gr0up-1",
481
+ "trigger": "load",
482
+ "entity": "product",
483
+ "action": "view",
484
+ "timestamp": 1700000102,
485
+ "timing": 3.14,
486
+ "group": "gr0up",
487
+ "count": 1,
488
+ "version": {
489
+ "source": "3.2.0",
490
+ "tagging": 1
491
+ },
492
+ "source": {
493
+ "type": "web",
494
+ "id": "https://localhost:80",
495
+ "previous_id": "http://remotehost:9001"
496
+ }
497
+ },
498
+ "configInclude": [
499
+ "data"
500
+ ],
501
+ "out": [
502
+ "analytics.track",
503
+ "product view",
504
+ {
505
+ "data_id": "ers",
506
+ "data_name": "Everyday Ruck Snack",
507
+ "data_color": "black",
508
+ "data_size": "l",
509
+ "data_price": 420
510
+ }
511
+ ]
512
+ },
513
+ "orderCompletedEcommerce": {
514
+ "in": {
515
+ "name": "order complete",
516
+ "data": {
517
+ "id": "0rd3r1d",
518
+ "currency": "EUR",
519
+ "shipping": 5.22,
520
+ "taxes": 73.76,
521
+ "total": 555
522
+ },
523
+ "context": {
524
+ "shopping": [
525
+ "complete",
526
+ 0
527
+ ]
528
+ },
529
+ "globals": {
530
+ "pagegroup": "shop"
531
+ },
532
+ "custom": {
533
+ "completely": "random"
534
+ },
535
+ "user": {
536
+ "id": "us3r",
537
+ "device": "c00k13",
538
+ "session": "s3ss10n"
539
+ },
540
+ "nested": [
541
+ {
542
+ "entity": "product",
543
+ "data": {
544
+ "id": "ers",
545
+ "name": "Everyday Ruck Snack",
546
+ "color": "black",
547
+ "size": "l",
548
+ "price": 420
549
+ },
550
+ "context": {
551
+ "shopping": [
552
+ "complete",
553
+ 0
554
+ ]
555
+ },
556
+ "nested": []
557
+ },
558
+ {
559
+ "entity": "product",
560
+ "data": {
561
+ "id": "cc",
562
+ "name": "Cool Cap",
563
+ "size": "one size",
564
+ "price": 42
565
+ },
566
+ "context": {
567
+ "shopping": [
568
+ "complete",
569
+ 0
570
+ ]
571
+ },
572
+ "nested": []
573
+ },
574
+ {
575
+ "entity": "gift",
576
+ "data": {
577
+ "name": "Surprise"
578
+ },
579
+ "context": {
580
+ "shopping": [
581
+ "complete",
582
+ 0
583
+ ]
584
+ },
585
+ "nested": []
586
+ }
587
+ ],
588
+ "consent": {
589
+ "functional": true
590
+ },
591
+ "id": "1700000111-gr0up-1",
592
+ "trigger": "load",
593
+ "entity": "order",
594
+ "action": "complete",
595
+ "timestamp": 1700000111,
596
+ "timing": 3.14,
597
+ "group": "gr0up",
598
+ "count": 1,
599
+ "version": {
600
+ "source": "3.2.0",
601
+ "tagging": 1
602
+ },
603
+ "source": {
604
+ "type": "web",
605
+ "id": "https://localhost:80",
606
+ "previous_id": "http://remotehost:9001"
607
+ }
608
+ },
609
+ "mapping": {
610
+ "name": "Order Completed",
611
+ "data": {
612
+ "map": {
613
+ "order_id": "data.id",
614
+ "currency": {
615
+ "key": "data.currency",
616
+ "value": "EUR"
617
+ },
618
+ "shipping": "data.shipping",
619
+ "tax": "data.taxes",
620
+ "total": "data.total",
621
+ "products": {
622
+ "loop": [
623
+ "nested",
624
+ {
625
+ "condition": {
626
+ "$code": "e=>{var n;return\"number\"==typeof(null==(n=null==e?void 0:e.data)?void 0:n.price)}"
627
+ },
628
+ "map": {
629
+ "product_id": "data.id",
630
+ "name": "data.name",
631
+ "price": "data.price",
632
+ "quantity": {
633
+ "key": "data.quantity",
634
+ "value": 1
635
+ },
636
+ "currency": {
637
+ "key": "data.currency",
638
+ "value": "EUR"
639
+ }
640
+ }
641
+ }
642
+ ]
643
+ }
644
+ }
645
+ }
646
+ },
647
+ "out": [
648
+ "analytics.track",
649
+ "Order Completed",
650
+ {
651
+ "order_id": "0rd3r1d",
652
+ "currency": "EUR",
653
+ "shipping": 5.22,
654
+ "tax": 73.76,
655
+ "total": 555,
656
+ "products": [
657
+ {
658
+ "product_id": "ers",
659
+ "name": "Everyday Ruck Snack",
660
+ "price": 420,
661
+ "quantity": 1,
662
+ "currency": "EUR"
663
+ },
664
+ {
665
+ "product_id": "cc",
666
+ "name": "Cool Cap",
667
+ "price": 42,
668
+ "quantity": 1,
669
+ "currency": "EUR"
670
+ }
671
+ ]
672
+ }
673
+ ]
674
+ },
675
+ "pageViewAsPage": {
676
+ "in": {
677
+ "name": "page view",
678
+ "data": {
679
+ "category": "docs",
680
+ "title": "Getting Started",
681
+ "section": "tutorials"
682
+ },
683
+ "context": {
684
+ "dev": [
685
+ "test",
686
+ 1
687
+ ]
688
+ },
689
+ "globals": {
690
+ "pagegroup": "docs"
691
+ },
692
+ "custom": {
693
+ "completely": "random"
694
+ },
695
+ "user": {
696
+ "id": "us3r",
697
+ "device": "c00k13",
698
+ "session": "s3ss10n"
699
+ },
700
+ "nested": [
701
+ {
702
+ "entity": "child",
703
+ "data": {
704
+ "is": "subordinated"
705
+ },
706
+ "nested": [],
707
+ "context": {
708
+ "element": [
709
+ "child",
710
+ 0
711
+ ]
712
+ }
713
+ }
714
+ ],
715
+ "consent": {
716
+ "functional": true
717
+ },
718
+ "id": "1700000109-gr0up-1",
719
+ "trigger": "load",
720
+ "entity": "page",
721
+ "action": "view",
722
+ "timestamp": 1700000109,
723
+ "timing": 3.14,
724
+ "group": "gr0up",
725
+ "count": 1,
726
+ "version": {
727
+ "source": "3.2.0",
728
+ "tagging": 1
729
+ },
730
+ "source": {
731
+ "type": "web",
732
+ "id": "https://localhost:80",
733
+ "previous_id": "http://remotehost:9001"
734
+ }
735
+ },
736
+ "mapping": {
737
+ "skip": true,
738
+ "settings": {
739
+ "page": {
740
+ "map": {
741
+ "category": "data.category",
742
+ "name": "data.title",
743
+ "properties": {
744
+ "map": {
745
+ "section": "data.section"
746
+ }
747
+ }
748
+ }
749
+ }
750
+ }
751
+ },
752
+ "out": [
753
+ "analytics.page",
754
+ "docs",
755
+ "Getting Started",
756
+ {
757
+ "section": "tutorials"
758
+ }
759
+ ]
760
+ },
761
+ "pageViewMinimal": {
762
+ "in": {
763
+ "name": "page view",
764
+ "data": {
765
+ "domain": "www.example.com",
766
+ "title": "walkerOS documentation",
767
+ "referrer": "https://www.walkeros.io/",
768
+ "search": "?foo=bar",
769
+ "hash": "#hash",
770
+ "id": "/docs/"
771
+ },
772
+ "context": {
773
+ "dev": [
774
+ "test",
775
+ 1
776
+ ]
777
+ },
778
+ "globals": {
779
+ "pagegroup": "docs"
780
+ },
781
+ "custom": {
782
+ "completely": "random"
783
+ },
784
+ "user": {
785
+ "id": "us3r",
786
+ "device": "c00k13",
787
+ "session": "s3ss10n"
788
+ },
789
+ "nested": [
790
+ {
791
+ "entity": "child",
792
+ "data": {
793
+ "is": "subordinated"
794
+ },
795
+ "nested": [],
796
+ "context": {
797
+ "element": [
798
+ "child",
799
+ 0
800
+ ]
801
+ }
802
+ }
803
+ ],
804
+ "consent": {
805
+ "functional": true
806
+ },
807
+ "id": "1700000110-gr0up-1",
808
+ "trigger": "load",
809
+ "entity": "page",
810
+ "action": "view",
811
+ "timestamp": 1700000110,
812
+ "timing": 3.14,
813
+ "group": "gr0up",
814
+ "count": 1,
815
+ "version": {
816
+ "source": "3.2.0",
817
+ "tagging": 1
818
+ },
819
+ "source": {
820
+ "type": "web",
821
+ "id": "https://localhost:80",
822
+ "previous_id": "http://remotehost:9001"
823
+ }
824
+ },
825
+ "mapping": {
826
+ "skip": true,
827
+ "settings": {
828
+ "page": true
829
+ }
830
+ },
831
+ "out": [
832
+ "analytics.page"
833
+ ]
834
+ },
835
+ "profileUpdateTraitsOnly": {
836
+ "in": {
837
+ "name": "profile update",
838
+ "data": {
839
+ "name": "Jane Q. Doe",
840
+ "avatar_url": "https://example.com/avatar.png",
841
+ "phone": "+1234567890"
842
+ },
843
+ "context": {
844
+ "dev": [
845
+ "test",
846
+ 1
847
+ ]
848
+ },
849
+ "globals": {
850
+ "lang": "elb"
851
+ },
852
+ "custom": {
853
+ "completely": "random"
854
+ },
855
+ "user": {
856
+ "id": "us3r",
857
+ "device": "c00k13",
858
+ "session": "s3ss10n"
859
+ },
860
+ "nested": [
861
+ {
862
+ "entity": "child",
863
+ "data": {
864
+ "is": "subordinated"
865
+ },
866
+ "nested": [],
867
+ "context": {
868
+ "element": [
869
+ "child",
870
+ 0
871
+ ]
872
+ }
873
+ }
874
+ ],
875
+ "consent": {
876
+ "functional": true
877
+ },
878
+ "id": "1700000106-gr0up-1",
879
+ "trigger": "test",
880
+ "entity": "profile",
881
+ "action": "update",
882
+ "timestamp": 1700000106,
883
+ "timing": 3.14,
884
+ "group": "gr0up",
885
+ "count": 1,
886
+ "version": {
887
+ "source": "3.2.0",
888
+ "tagging": 1
889
+ },
890
+ "source": {
891
+ "type": "web",
892
+ "id": "https://localhost:80",
893
+ "previous_id": "http://remotehost:9001"
894
+ }
895
+ },
896
+ "mapping": {
897
+ "skip": true,
898
+ "settings": {
899
+ "identify": {
900
+ "map": {
901
+ "traits": {
902
+ "map": {
903
+ "name": "data.name",
904
+ "avatar": "data.avatar_url",
905
+ "phone": "data.phone"
906
+ }
907
+ }
908
+ }
909
+ }
910
+ }
911
+ },
912
+ "out": [
913
+ "analytics.identify",
914
+ null,
915
+ {
916
+ "name": "Jane Q. Doe",
917
+ "avatar": "https://example.com/avatar.png",
918
+ "phone": "+1234567890"
919
+ }
920
+ ]
921
+ },
922
+ "ruleIncludeReplaces": {
923
+ "in": {
924
+ "name": "order complete",
925
+ "data": {
926
+ "id": "0rd3r1d",
927
+ "currency": "EUR",
928
+ "shipping": 5.22,
929
+ "taxes": 73.76,
930
+ "total": 555
931
+ },
932
+ "context": {
933
+ "shopping": [
934
+ "complete",
935
+ 0
936
+ ]
937
+ },
938
+ "globals": {
939
+ "pagegroup": "shop"
940
+ },
941
+ "custom": {
942
+ "completely": "random"
943
+ },
944
+ "user": {
945
+ "id": "us3r",
946
+ "device": "c00k13",
947
+ "session": "s3ss10n"
948
+ },
949
+ "nested": [
950
+ {
951
+ "entity": "product",
952
+ "data": {
953
+ "id": "ers",
954
+ "name": "Everyday Ruck Snack",
955
+ "color": "black",
956
+ "size": "l",
957
+ "price": 420
958
+ },
959
+ "context": {
960
+ "shopping": [
961
+ "complete",
962
+ 0
963
+ ]
964
+ },
965
+ "nested": []
966
+ },
967
+ {
968
+ "entity": "product",
969
+ "data": {
970
+ "id": "cc",
971
+ "name": "Cool Cap",
972
+ "size": "one size",
973
+ "price": 42
974
+ },
975
+ "context": {
976
+ "shopping": [
977
+ "complete",
978
+ 0
979
+ ]
980
+ },
981
+ "nested": []
982
+ },
983
+ {
984
+ "entity": "gift",
985
+ "data": {
986
+ "name": "Surprise"
987
+ },
988
+ "context": {
989
+ "shopping": [
990
+ "complete",
991
+ 0
992
+ ]
993
+ },
994
+ "nested": []
995
+ }
996
+ ],
997
+ "consent": {
998
+ "functional": true
999
+ },
1000
+ "id": "1700000103-gr0up-1",
1001
+ "trigger": "load",
1002
+ "entity": "order",
1003
+ "action": "complete",
1004
+ "timestamp": 1700000103,
1005
+ "timing": 3.14,
1006
+ "group": "gr0up",
1007
+ "count": 1,
1008
+ "version": {
1009
+ "source": "3.2.0",
1010
+ "tagging": 1
1011
+ },
1012
+ "source": {
1013
+ "type": "web",
1014
+ "id": "https://localhost:80",
1015
+ "previous_id": "http://remotehost:9001"
1016
+ }
1017
+ },
1018
+ "configInclude": [
1019
+ "data"
1020
+ ],
1021
+ "mapping": {
1022
+ "include": [
1023
+ "globals"
1024
+ ]
1025
+ },
1026
+ "out": [
1027
+ "analytics.track",
1028
+ "order complete",
1029
+ {
1030
+ "globals_pagegroup": "shop"
1031
+ }
1032
+ ]
1033
+ },
1034
+ "userLoginIdentify": {
1035
+ "in": {
1036
+ "name": "user login",
1037
+ "data": {
1038
+ "user_id": "new-user-123",
1039
+ "email": "user@acme.com",
1040
+ "name": "Jane Doe",
1041
+ "plan": "premium",
1042
+ "company_name": "Acme",
1043
+ "company_id": "comp-456"
1044
+ },
1045
+ "context": {
1046
+ "dev": [
1047
+ "test",
1048
+ 1
1049
+ ]
1050
+ },
1051
+ "globals": {
1052
+ "lang": "elb"
1053
+ },
1054
+ "custom": {
1055
+ "completely": "random"
1056
+ },
1057
+ "user": {
1058
+ "id": "us3r",
1059
+ "device": "c00k13",
1060
+ "session": "s3ss10n"
1061
+ },
1062
+ "nested": [
1063
+ {
1064
+ "entity": "child",
1065
+ "data": {
1066
+ "is": "subordinated"
1067
+ },
1068
+ "nested": [],
1069
+ "context": {
1070
+ "element": [
1071
+ "child",
1072
+ 0
1073
+ ]
1074
+ }
1075
+ }
1076
+ ],
1077
+ "consent": {
1078
+ "functional": true
1079
+ },
1080
+ "id": "1700000105-gr0up-1",
1081
+ "trigger": "test",
1082
+ "entity": "user",
1083
+ "action": "login",
1084
+ "timestamp": 1700000105,
1085
+ "timing": 3.14,
1086
+ "group": "gr0up",
1087
+ "count": 1,
1088
+ "version": {
1089
+ "source": "3.2.0",
1090
+ "tagging": 1
1091
+ },
1092
+ "source": {
1093
+ "type": "web",
1094
+ "id": "https://localhost:80",
1095
+ "previous_id": "http://remotehost:9001"
1096
+ }
1097
+ },
1098
+ "mapping": {
1099
+ "skip": true,
1100
+ "settings": {
1101
+ "identify": {
1102
+ "map": {
1103
+ "userId": "data.user_id",
1104
+ "traits": {
1105
+ "map": {
1106
+ "email": "data.email",
1107
+ "name": "data.name",
1108
+ "plan": "data.plan",
1109
+ "company": {
1110
+ "map": {
1111
+ "name": "data.company_name",
1112
+ "id": "data.company_id"
1113
+ }
1114
+ }
1115
+ }
1116
+ }
1117
+ }
1118
+ }
1119
+ }
1120
+ },
1121
+ "out": [
1122
+ "analytics.identify",
1123
+ "new-user-123",
1124
+ {
1125
+ "email": "user@acme.com",
1126
+ "name": "Jane Doe",
1127
+ "plan": "premium",
1128
+ "company": {
1129
+ "name": "Acme",
1130
+ "id": "comp-456"
1131
+ }
1132
+ }
1133
+ ]
1134
+ },
1135
+ "userLogoutReset": {
1136
+ "in": {
1137
+ "name": "user logout",
1138
+ "data": {
1139
+ "string": "foo",
1140
+ "number": 1,
1141
+ "boolean": true,
1142
+ "array": [
1143
+ 0,
1144
+ "text",
1145
+ false
1146
+ ]
1147
+ },
1148
+ "context": {
1149
+ "dev": [
1150
+ "test",
1151
+ 1
1152
+ ]
1153
+ },
1154
+ "globals": {
1155
+ "lang": "elb"
1156
+ },
1157
+ "custom": {
1158
+ "completely": "random"
1159
+ },
1160
+ "user": {
1161
+ "id": "us3r",
1162
+ "device": "c00k13",
1163
+ "session": "s3ss10n"
1164
+ },
1165
+ "nested": [
1166
+ {
1167
+ "entity": "child",
1168
+ "data": {
1169
+ "is": "subordinated"
1170
+ },
1171
+ "nested": [],
1172
+ "context": {
1173
+ "element": [
1174
+ "child",
1175
+ 0
1176
+ ]
1177
+ }
1178
+ }
1179
+ ],
1180
+ "consent": {
1181
+ "functional": true
1182
+ },
1183
+ "id": "1700000107-gr0up-1",
1184
+ "trigger": "test",
1185
+ "entity": "user",
1186
+ "action": "logout",
1187
+ "timestamp": 1700000107,
1188
+ "timing": 3.14,
1189
+ "group": "gr0up",
1190
+ "count": 1,
1191
+ "version": {
1192
+ "source": "3.2.0",
1193
+ "tagging": 1
1194
+ },
1195
+ "source": {
1196
+ "type": "web",
1197
+ "id": "https://localhost:80",
1198
+ "previous_id": "http://remotehost:9001"
1199
+ }
1200
+ },
1201
+ "mapping": {
1202
+ "skip": true,
1203
+ "settings": {
1204
+ "reset": true
1205
+ }
1206
+ },
1207
+ "out": [
1208
+ "analytics.reset"
1209
+ ]
1210
+ },
1211
+ "wildcardIgnored": {
1212
+ "in": {
1213
+ "name": "debug noise",
1214
+ "data": {
1215
+ "string": "foo",
1216
+ "number": 1,
1217
+ "boolean": true,
1218
+ "array": [
1219
+ 0,
1220
+ "text",
1221
+ false
1222
+ ]
1223
+ },
1224
+ "context": {
1225
+ "dev": [
1226
+ "test",
1227
+ 1
1228
+ ]
1229
+ },
1230
+ "globals": {
1231
+ "lang": "elb"
1232
+ },
1233
+ "custom": {
1234
+ "completely": "random"
1235
+ },
1236
+ "user": {
1237
+ "id": "us3r",
1238
+ "device": "c00k13",
1239
+ "session": "s3ss10n"
1240
+ },
1241
+ "nested": [
1242
+ {
1243
+ "entity": "child",
1244
+ "data": {
1245
+ "is": "subordinated"
1246
+ },
1247
+ "nested": [],
1248
+ "context": {
1249
+ "element": [
1250
+ "child",
1251
+ 0
1252
+ ]
1253
+ }
1254
+ }
1255
+ ],
1256
+ "consent": {
1257
+ "functional": true
1258
+ },
1259
+ "id": "1700000101-gr0up-1",
1260
+ "trigger": "test",
1261
+ "entity": "debug",
1262
+ "action": "noise",
1263
+ "timestamp": 1700000101,
1264
+ "timing": 3.14,
1265
+ "group": "gr0up",
1266
+ "count": 1,
1267
+ "version": {
1268
+ "source": "3.2.0",
1269
+ "tagging": 1
1270
+ },
1271
+ "source": {
1272
+ "type": "web",
1273
+ "id": "https://localhost:80",
1274
+ "previous_id": "http://remotehost:9001"
1275
+ }
1276
+ },
1277
+ "mapping": {
1278
+ "ignore": true
1279
+ },
1280
+ "out": []
1281
+ }
1282
+ }
1283
+ }
1284
+ }