@walkeros/cli 4.8.2 → 4.8.3-next-1793115089237
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/CHANGELOG.md +59 -3
- package/README.md +2 -2
- package/dist/cli.js +1320 -1318
- package/dist/dev.d.ts +51 -3
- package/dist/dev.js +186 -0
- package/dist/dev.js.map +1 -1
- package/dist/examples/README.md +12 -1
- package/dist/examples/contracts/app.json +261 -0
- package/dist/examples/contracts/base.json +708 -0
- package/dist/examples/contracts/ecommerce.json +963 -0
- package/dist/examples/contracts/leadgen.json +240 -0
- package/dist/examples/contracts/publisher.json +372 -0
- package/dist/examples/contracts/saas.json +229 -0
- package/dist/examples/contracts/travel.json +234 -0
- package/dist/examples/customers/README.md +4 -1
- package/dist/examples/flow-complete.json +40 -25
- package/dist/examples/flow-complete.md +5 -3
- package/dist/examples/index.js +42 -27
- package/dist/examples/index.js.map +1 -1
- package/dist/examples/shared/README.md +4 -0
- package/dist/index.d.ts +41 -41
- package/dist/index.js +161 -134
- package/dist/index.js.map +1 -1
- package/dist/validate.js +264 -132
- package/dist/validate.js.map +1 -1
- package/examples/README.md +12 -1
- package/examples/contracts/app.json +261 -0
- package/examples/contracts/base.json +708 -0
- package/examples/contracts/ecommerce.json +963 -0
- package/examples/contracts/leadgen.json +240 -0
- package/examples/contracts/publisher.json +372 -0
- package/examples/contracts/saas.json +229 -0
- package/examples/contracts/travel.json +234 -0
- package/examples/customers/README.md +4 -1
- package/examples/flow-complete.json +40 -25
- package/examples/flow-complete.md +5 -3
- package/examples/shared/README.md +4 -0
- package/package.json +30 -30
- package/dist/examples/test.html +0 -43
- package/dist/examples/web-serve.js +0 -25503
- package/examples/test.html +0 -43
- package/examples/web-serve.js +0 -25503
|
@@ -0,0 +1,708 @@
|
|
|
1
|
+
{
|
|
2
|
+
"default": {
|
|
3
|
+
"description": "The core events every website shares: page views, visits, signup and login, forms, search and promotions. Its schema describes every part of a walkerOS event.",
|
|
4
|
+
"tagging": 1,
|
|
5
|
+
"schema": {
|
|
6
|
+
"title": "Every event",
|
|
7
|
+
"description": "The parts every walkerOS event has. None is required, so the schema holds for every event, custom ones included.",
|
|
8
|
+
"examples": [
|
|
9
|
+
{
|
|
10
|
+
"name": "page view",
|
|
11
|
+
"entity": "page",
|
|
12
|
+
"action": "view",
|
|
13
|
+
"data": {
|
|
14
|
+
"id": "/docs/",
|
|
15
|
+
"title": "walkerOS documentation",
|
|
16
|
+
"referrer": "https://www.walkeros.io/",
|
|
17
|
+
"domain": "www.example.com",
|
|
18
|
+
"search": "?foo=bar"
|
|
19
|
+
},
|
|
20
|
+
"context": {
|
|
21
|
+
"test": ["engagement", 0]
|
|
22
|
+
},
|
|
23
|
+
"globals": {
|
|
24
|
+
"pagegroup": "docs"
|
|
25
|
+
},
|
|
26
|
+
"user": {
|
|
27
|
+
"id": "us3r",
|
|
28
|
+
"device": "c00k13",
|
|
29
|
+
"session": "s3ss10n"
|
|
30
|
+
},
|
|
31
|
+
"consent": {
|
|
32
|
+
"functional": true
|
|
33
|
+
},
|
|
34
|
+
"id": "f0cc5f6fec3d8eeb",
|
|
35
|
+
"trigger": "load",
|
|
36
|
+
"timestamp": 1700000000000,
|
|
37
|
+
"timing": 3.14,
|
|
38
|
+
"source": {
|
|
39
|
+
"type": "browser",
|
|
40
|
+
"platform": "web",
|
|
41
|
+
"url": "https://www.example.com/docs/?foo=bar",
|
|
42
|
+
"referrer": "https://www.walkeros.io/",
|
|
43
|
+
"schema": "4",
|
|
44
|
+
"count": 1,
|
|
45
|
+
"trace": "0a1b2c3d4e5f60718293a4b5c6d7e8f9"
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
"type": "object",
|
|
50
|
+
"properties": {
|
|
51
|
+
"name": {
|
|
52
|
+
"type": "string",
|
|
53
|
+
"description": "The entity and the action, separated by one space, in lowercase.",
|
|
54
|
+
"examples": ["page view"]
|
|
55
|
+
},
|
|
56
|
+
"entity": {
|
|
57
|
+
"type": "string",
|
|
58
|
+
"description": "The entity of the event, the first word of its name.",
|
|
59
|
+
"examples": ["page"]
|
|
60
|
+
},
|
|
61
|
+
"action": {
|
|
62
|
+
"type": "string",
|
|
63
|
+
"description": "The action of the event, the second word of its name.",
|
|
64
|
+
"examples": ["view"]
|
|
65
|
+
},
|
|
66
|
+
"data": {
|
|
67
|
+
"type": "object",
|
|
68
|
+
"description": "The properties of the event's own entity. It holds no personal data."
|
|
69
|
+
},
|
|
70
|
+
"context": {
|
|
71
|
+
"type": "object",
|
|
72
|
+
"description": "Where the event happened, such as a test variant or a stage of the journey. Each entry is a pair of a value and its order, counted from 0.",
|
|
73
|
+
"additionalProperties": {
|
|
74
|
+
"type": "array",
|
|
75
|
+
"prefixItems": [
|
|
76
|
+
{
|
|
77
|
+
"description": "The value."
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"type": "number",
|
|
81
|
+
"description": "Its order."
|
|
82
|
+
}
|
|
83
|
+
]
|
|
84
|
+
},
|
|
85
|
+
"examples": [
|
|
86
|
+
{
|
|
87
|
+
"test": ["engagement", 0]
|
|
88
|
+
}
|
|
89
|
+
]
|
|
90
|
+
},
|
|
91
|
+
"globals": {
|
|
92
|
+
"type": "object",
|
|
93
|
+
"description": "Properties of the whole page, the same on every event of that page.",
|
|
94
|
+
"properties": {
|
|
95
|
+
"pagegroup": {
|
|
96
|
+
"type": "string",
|
|
97
|
+
"description": "The kind of page, such as shop, docs or homepage.",
|
|
98
|
+
"examples": ["docs"]
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
"custom": {
|
|
103
|
+
"type": "object",
|
|
104
|
+
"description": "Properties that belong in no other part of the event."
|
|
105
|
+
},
|
|
106
|
+
"user": {
|
|
107
|
+
"type": "object",
|
|
108
|
+
"description": "Who the visitor is. The ids are pseudonymous. Personal data, such as an email address, belongs here and never in data.",
|
|
109
|
+
"properties": {
|
|
110
|
+
"id": {
|
|
111
|
+
"type": "string",
|
|
112
|
+
"description": "The id of the logged-in user in your own system. Never an email address.",
|
|
113
|
+
"examples": ["us3r"]
|
|
114
|
+
},
|
|
115
|
+
"device": {
|
|
116
|
+
"type": "string",
|
|
117
|
+
"description": "The id of the browser or device.",
|
|
118
|
+
"examples": ["c00k13"]
|
|
119
|
+
},
|
|
120
|
+
"session": {
|
|
121
|
+
"type": "string",
|
|
122
|
+
"description": "The id of the visit.",
|
|
123
|
+
"examples": ["s3ss10n"]
|
|
124
|
+
},
|
|
125
|
+
"email": {
|
|
126
|
+
"type": "string",
|
|
127
|
+
"format": "email",
|
|
128
|
+
"description": "The email address of the user, unhashed.",
|
|
129
|
+
"examples": ["user@example.com"]
|
|
130
|
+
},
|
|
131
|
+
"country": {
|
|
132
|
+
"type": "string",
|
|
133
|
+
"description": "The country, as a two-letter code.",
|
|
134
|
+
"examples": ["DE"]
|
|
135
|
+
},
|
|
136
|
+
"language": {
|
|
137
|
+
"type": "string",
|
|
138
|
+
"description": "The language of the browser or device.",
|
|
139
|
+
"examples": ["de-DE"]
|
|
140
|
+
},
|
|
141
|
+
"deviceType": {
|
|
142
|
+
"type": "string",
|
|
143
|
+
"description": "The form factor of the device, such as desktop or mobile.",
|
|
144
|
+
"examples": ["desktop"]
|
|
145
|
+
},
|
|
146
|
+
"os": {
|
|
147
|
+
"type": "string",
|
|
148
|
+
"description": "The name of the operating system.",
|
|
149
|
+
"examples": ["Android"]
|
|
150
|
+
},
|
|
151
|
+
"osVersion": {
|
|
152
|
+
"type": "string",
|
|
153
|
+
"description": "The version of the operating system.",
|
|
154
|
+
"examples": ["14"]
|
|
155
|
+
},
|
|
156
|
+
"browser": {
|
|
157
|
+
"type": "string",
|
|
158
|
+
"description": "The name of the browser.",
|
|
159
|
+
"examples": ["Chrome"]
|
|
160
|
+
},
|
|
161
|
+
"browserVersion": {
|
|
162
|
+
"type": "string",
|
|
163
|
+
"description": "The version of the browser.",
|
|
164
|
+
"examples": ["136.0.7103.60"]
|
|
165
|
+
},
|
|
166
|
+
"screenSize": {
|
|
167
|
+
"type": "string",
|
|
168
|
+
"description": "The size of the screen in pixels, width x height.",
|
|
169
|
+
"examples": ["1440x900"]
|
|
170
|
+
},
|
|
171
|
+
"timezone": {
|
|
172
|
+
"type": "string",
|
|
173
|
+
"description": "The time zone of the device."
|
|
174
|
+
},
|
|
175
|
+
"userAgent": {
|
|
176
|
+
"type": "string",
|
|
177
|
+
"description": "The user agent string of the browser."
|
|
178
|
+
},
|
|
179
|
+
"ip": {
|
|
180
|
+
"type": "string",
|
|
181
|
+
"description": "The IP address of the visitor."
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
},
|
|
185
|
+
"nested": {
|
|
186
|
+
"type": "array",
|
|
187
|
+
"description": "Entities related to the event, such as the products of an order. Each has its entity name and its own data.",
|
|
188
|
+
"items": {
|
|
189
|
+
"type": "object",
|
|
190
|
+
"properties": {
|
|
191
|
+
"entity": {
|
|
192
|
+
"type": "string",
|
|
193
|
+
"description": "The name of the related entity, such as product.",
|
|
194
|
+
"examples": ["product"]
|
|
195
|
+
},
|
|
196
|
+
"data": {
|
|
197
|
+
"type": "object",
|
|
198
|
+
"description": "The properties of the related entity."
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
},
|
|
203
|
+
"consent": {
|
|
204
|
+
"type": "object",
|
|
205
|
+
"description": "The consent groups the visitor has granted, each set to true.",
|
|
206
|
+
"additionalProperties": {
|
|
207
|
+
"type": "boolean"
|
|
208
|
+
},
|
|
209
|
+
"examples": [
|
|
210
|
+
{
|
|
211
|
+
"functional": true
|
|
212
|
+
}
|
|
213
|
+
]
|
|
214
|
+
},
|
|
215
|
+
"id": {
|
|
216
|
+
"type": "string",
|
|
217
|
+
"description": "The id of the event, 16 hex characters.",
|
|
218
|
+
"examples": ["f0cc5f6fec3d8eeb"]
|
|
219
|
+
},
|
|
220
|
+
"trigger": {
|
|
221
|
+
"type": "string",
|
|
222
|
+
"description": "What fired the event, such as load, click, submit or visible.",
|
|
223
|
+
"examples": ["load"]
|
|
224
|
+
},
|
|
225
|
+
"timestamp": {
|
|
226
|
+
"type": "number",
|
|
227
|
+
"description": "When the event happened, in milliseconds since 1970.",
|
|
228
|
+
"examples": [1700000000000]
|
|
229
|
+
},
|
|
230
|
+
"timing": {
|
|
231
|
+
"type": "number",
|
|
232
|
+
"description": "Seconds from the page load, or from the last route change of a single-page app, to the event.",
|
|
233
|
+
"examples": [3.14]
|
|
234
|
+
},
|
|
235
|
+
"source": {
|
|
236
|
+
"type": "object",
|
|
237
|
+
"description": "Where the event was captured.",
|
|
238
|
+
"properties": {
|
|
239
|
+
"type": {
|
|
240
|
+
"type": "string",
|
|
241
|
+
"description": "The kind of source that captured the event, such as browser.",
|
|
242
|
+
"examples": ["browser"]
|
|
243
|
+
},
|
|
244
|
+
"platform": {
|
|
245
|
+
"type": "string",
|
|
246
|
+
"description": "Where the source runs, such as web or server.",
|
|
247
|
+
"examples": ["web"]
|
|
248
|
+
},
|
|
249
|
+
"url": {
|
|
250
|
+
"type": "string",
|
|
251
|
+
"description": "The full URL of the page.",
|
|
252
|
+
"examples": ["https://www.example.com/docs/?foo=bar"]
|
|
253
|
+
},
|
|
254
|
+
"referrer": {
|
|
255
|
+
"type": "string",
|
|
256
|
+
"description": "The referrer of the page.",
|
|
257
|
+
"examples": ["https://www.walkeros.io/"]
|
|
258
|
+
},
|
|
259
|
+
"schema": {
|
|
260
|
+
"type": "string",
|
|
261
|
+
"description": "The version of the walkerOS event model.",
|
|
262
|
+
"examples": ["4"]
|
|
263
|
+
},
|
|
264
|
+
"count": {
|
|
265
|
+
"type": "number",
|
|
266
|
+
"description": "The number of the event within its page load, counted from 1.",
|
|
267
|
+
"examples": [1]
|
|
268
|
+
},
|
|
269
|
+
"trace": {
|
|
270
|
+
"type": "string",
|
|
271
|
+
"description": "An id of 32 hex characters that the events of one page load share.",
|
|
272
|
+
"examples": ["0a1b2c3d4e5f60718293a4b5c6d7e8f9"]
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
},
|
|
278
|
+
"events": {
|
|
279
|
+
"page": {
|
|
280
|
+
"view": {
|
|
281
|
+
"title": "Page view",
|
|
282
|
+
"description": "A page was shown, when it loaded or after a route change of a single-page app. Every website needs it.",
|
|
283
|
+
"examples": [
|
|
284
|
+
{
|
|
285
|
+
"name": "page view",
|
|
286
|
+
"data": {
|
|
287
|
+
"id": "/docs/",
|
|
288
|
+
"title": "walkerOS documentation",
|
|
289
|
+
"referrer": "https://www.walkeros.io/",
|
|
290
|
+
"domain": "www.example.com",
|
|
291
|
+
"search": "?foo=bar"
|
|
292
|
+
},
|
|
293
|
+
"globals": {
|
|
294
|
+
"pagegroup": "docs"
|
|
295
|
+
},
|
|
296
|
+
"trigger": "load"
|
|
297
|
+
}
|
|
298
|
+
],
|
|
299
|
+
"required": ["data"],
|
|
300
|
+
"properties": {
|
|
301
|
+
"data": {
|
|
302
|
+
"type": "object",
|
|
303
|
+
"description": "The page.",
|
|
304
|
+
"required": ["id"],
|
|
305
|
+
"properties": {
|
|
306
|
+
"id": {
|
|
307
|
+
"type": ["string", "number"],
|
|
308
|
+
"description": "The path of the page, or the page id tagged on it.",
|
|
309
|
+
"examples": ["/docs/"]
|
|
310
|
+
},
|
|
311
|
+
"title": {
|
|
312
|
+
"type": "string",
|
|
313
|
+
"description": "The title of the page.",
|
|
314
|
+
"examples": ["walkerOS documentation"]
|
|
315
|
+
},
|
|
316
|
+
"referrer": {
|
|
317
|
+
"type": "string",
|
|
318
|
+
"description": "The URL the visitor came from. It can be empty.",
|
|
319
|
+
"examples": ["https://www.walkeros.io/"]
|
|
320
|
+
},
|
|
321
|
+
"domain": {
|
|
322
|
+
"type": "string",
|
|
323
|
+
"description": "The host name of the page.",
|
|
324
|
+
"examples": ["www.example.com"]
|
|
325
|
+
},
|
|
326
|
+
"search": {
|
|
327
|
+
"type": "string",
|
|
328
|
+
"description": "The query string of the URL, with its question mark.",
|
|
329
|
+
"examples": ["?foo=bar"]
|
|
330
|
+
},
|
|
331
|
+
"hash": {
|
|
332
|
+
"type": "string",
|
|
333
|
+
"description": "The fragment of the URL, with its hash sign."
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
},
|
|
340
|
+
"session": {
|
|
341
|
+
"start": {
|
|
342
|
+
"title": "Session start",
|
|
343
|
+
"description": "A visit began. Every website needs it. When the visit came through a campaign link, the campaign sits in data.",
|
|
344
|
+
"examples": [
|
|
345
|
+
{
|
|
346
|
+
"name": "session start",
|
|
347
|
+
"data": {
|
|
348
|
+
"id": "s3ss10n",
|
|
349
|
+
"start": 1700000000000,
|
|
350
|
+
"isNew": true,
|
|
351
|
+
"count": 1,
|
|
352
|
+
"marketing": true,
|
|
353
|
+
"source": "google",
|
|
354
|
+
"medium": "cpc",
|
|
355
|
+
"campaign": "winter-sale"
|
|
356
|
+
},
|
|
357
|
+
"user": {
|
|
358
|
+
"device": "c00k13",
|
|
359
|
+
"session": "s3ss10n"
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
],
|
|
363
|
+
"required": ["data"],
|
|
364
|
+
"properties": {
|
|
365
|
+
"data": {
|
|
366
|
+
"type": "object",
|
|
367
|
+
"description": "The visit.",
|
|
368
|
+
"required": ["id"],
|
|
369
|
+
"properties": {
|
|
370
|
+
"id": {
|
|
371
|
+
"type": "string",
|
|
372
|
+
"description": "The id of the visit, the same as user.session.",
|
|
373
|
+
"examples": ["s3ss10n"]
|
|
374
|
+
},
|
|
375
|
+
"start": {
|
|
376
|
+
"type": "number",
|
|
377
|
+
"description": "When the visit began, in milliseconds since 1970.",
|
|
378
|
+
"examples": [1700000000000]
|
|
379
|
+
},
|
|
380
|
+
"isNew": {
|
|
381
|
+
"type": "boolean",
|
|
382
|
+
"description": "True on the first visit of this device.",
|
|
383
|
+
"examples": [true]
|
|
384
|
+
},
|
|
385
|
+
"count": {
|
|
386
|
+
"type": "number",
|
|
387
|
+
"description": "How many visits this device has made, this one included.",
|
|
388
|
+
"examples": [1]
|
|
389
|
+
},
|
|
390
|
+
"marketing": {
|
|
391
|
+
"type": "boolean",
|
|
392
|
+
"description": "True when the visit came through a campaign link or an ad click.",
|
|
393
|
+
"examples": [true]
|
|
394
|
+
},
|
|
395
|
+
"source": {
|
|
396
|
+
"type": "string",
|
|
397
|
+
"description": "The campaign source, as in utm_source.",
|
|
398
|
+
"examples": ["google"]
|
|
399
|
+
},
|
|
400
|
+
"medium": {
|
|
401
|
+
"type": "string",
|
|
402
|
+
"description": "The campaign medium, as in utm_medium, such as email or cpc.",
|
|
403
|
+
"examples": ["cpc"]
|
|
404
|
+
},
|
|
405
|
+
"campaign": {
|
|
406
|
+
"type": "string",
|
|
407
|
+
"description": "The campaign name, as in utm_campaign.",
|
|
408
|
+
"examples": ["winter-sale"]
|
|
409
|
+
},
|
|
410
|
+
"clickId": {
|
|
411
|
+
"type": "string",
|
|
412
|
+
"description": "For an ad click, the name of the URL parameter that carried the click id."
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
},
|
|
419
|
+
"user": {
|
|
420
|
+
"signup": {
|
|
421
|
+
"title": "User signup",
|
|
422
|
+
"description": "A visitor created an account. Every website with accounts needs it.",
|
|
423
|
+
"examples": [
|
|
424
|
+
{
|
|
425
|
+
"name": "user signup",
|
|
426
|
+
"data": {
|
|
427
|
+
"method": "password"
|
|
428
|
+
},
|
|
429
|
+
"user": {
|
|
430
|
+
"id": "us3r",
|
|
431
|
+
"device": "c00k13",
|
|
432
|
+
"session": "s3ss10n"
|
|
433
|
+
},
|
|
434
|
+
"trigger": "submit"
|
|
435
|
+
}
|
|
436
|
+
],
|
|
437
|
+
"required": ["user"],
|
|
438
|
+
"properties": {
|
|
439
|
+
"data": {
|
|
440
|
+
"type": "object",
|
|
441
|
+
"description": "The signup.",
|
|
442
|
+
"properties": {
|
|
443
|
+
"method": {
|
|
444
|
+
"type": "string",
|
|
445
|
+
"description": "How the account was created, such as password or single sign-on.",
|
|
446
|
+
"examples": ["password"]
|
|
447
|
+
},
|
|
448
|
+
"type": {
|
|
449
|
+
"type": "string",
|
|
450
|
+
"description": "How the visitor came to sign up, such as organic or invited.",
|
|
451
|
+
"examples": ["organic"]
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
},
|
|
455
|
+
"user": {
|
|
456
|
+
"type": "object",
|
|
457
|
+
"description": "The new account.",
|
|
458
|
+
"required": ["id"],
|
|
459
|
+
"properties": {
|
|
460
|
+
"id": {
|
|
461
|
+
"type": "string",
|
|
462
|
+
"description": "The id of the new account.",
|
|
463
|
+
"examples": ["us3r"]
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
},
|
|
469
|
+
"login": {
|
|
470
|
+
"title": "User login",
|
|
471
|
+
"description": "A user logged in. Every website with accounts needs it.",
|
|
472
|
+
"examples": [
|
|
473
|
+
{
|
|
474
|
+
"name": "user login",
|
|
475
|
+
"data": {
|
|
476
|
+
"method": "password"
|
|
477
|
+
},
|
|
478
|
+
"user": {
|
|
479
|
+
"id": "us3r",
|
|
480
|
+
"device": "c00k13",
|
|
481
|
+
"session": "s3ss10n"
|
|
482
|
+
},
|
|
483
|
+
"trigger": "submit"
|
|
484
|
+
}
|
|
485
|
+
],
|
|
486
|
+
"required": ["user"],
|
|
487
|
+
"properties": {
|
|
488
|
+
"data": {
|
|
489
|
+
"type": "object",
|
|
490
|
+
"description": "The login.",
|
|
491
|
+
"properties": {
|
|
492
|
+
"method": {
|
|
493
|
+
"type": "string",
|
|
494
|
+
"description": "How the user logged in, such as password or single sign-on.",
|
|
495
|
+
"examples": ["password"]
|
|
496
|
+
}
|
|
497
|
+
}
|
|
498
|
+
},
|
|
499
|
+
"user": {
|
|
500
|
+
"type": "object",
|
|
501
|
+
"description": "The user who logged in.",
|
|
502
|
+
"required": ["id"],
|
|
503
|
+
"properties": {
|
|
504
|
+
"id": {
|
|
505
|
+
"type": "string",
|
|
506
|
+
"description": "The id of the user.",
|
|
507
|
+
"examples": ["us3r"]
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
},
|
|
514
|
+
"form": {
|
|
515
|
+
"submit": {
|
|
516
|
+
"title": "Form submit",
|
|
517
|
+
"description": "A visitor sent a form. Recommended for websites with forms. The event names the form and holds none of the values typed into it.",
|
|
518
|
+
"examples": [
|
|
519
|
+
{
|
|
520
|
+
"name": "form submit",
|
|
521
|
+
"data": {
|
|
522
|
+
"id": "contact-form",
|
|
523
|
+
"name": "contact",
|
|
524
|
+
"destination": "https://example.com/thanks"
|
|
525
|
+
},
|
|
526
|
+
"trigger": "submit"
|
|
527
|
+
}
|
|
528
|
+
],
|
|
529
|
+
"required": ["data"],
|
|
530
|
+
"properties": {
|
|
531
|
+
"data": {
|
|
532
|
+
"type": "object",
|
|
533
|
+
"description": "The form.",
|
|
534
|
+
"required": ["id"],
|
|
535
|
+
"properties": {
|
|
536
|
+
"id": {
|
|
537
|
+
"type": ["string", "number"],
|
|
538
|
+
"description": "The id of the form.",
|
|
539
|
+
"examples": ["contact-form"]
|
|
540
|
+
},
|
|
541
|
+
"name": {
|
|
542
|
+
"type": "string",
|
|
543
|
+
"description": "The name of the form.",
|
|
544
|
+
"examples": ["contact"]
|
|
545
|
+
},
|
|
546
|
+
"destination": {
|
|
547
|
+
"type": "string",
|
|
548
|
+
"description": "The URL the form sends to.",
|
|
549
|
+
"examples": ["https://example.com/thanks"]
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
}
|
|
555
|
+
},
|
|
556
|
+
"search": {
|
|
557
|
+
"submit": {
|
|
558
|
+
"title": "Search submit",
|
|
559
|
+
"description": "A visitor searched the site. Recommended for websites with a search.",
|
|
560
|
+
"examples": [
|
|
561
|
+
{
|
|
562
|
+
"name": "search submit",
|
|
563
|
+
"data": {
|
|
564
|
+
"term": "t-shirts",
|
|
565
|
+
"results": 48
|
|
566
|
+
},
|
|
567
|
+
"trigger": "submit"
|
|
568
|
+
}
|
|
569
|
+
],
|
|
570
|
+
"required": ["data"],
|
|
571
|
+
"properties": {
|
|
572
|
+
"data": {
|
|
573
|
+
"type": "object",
|
|
574
|
+
"description": "The search.",
|
|
575
|
+
"required": ["term"],
|
|
576
|
+
"properties": {
|
|
577
|
+
"term": {
|
|
578
|
+
"type": ["string", "number"],
|
|
579
|
+
"description": "What the visitor searched for.",
|
|
580
|
+
"examples": ["t-shirts"]
|
|
581
|
+
},
|
|
582
|
+
"results": {
|
|
583
|
+
"type": "number",
|
|
584
|
+
"description": "How many results the search found, 0 when none.",
|
|
585
|
+
"examples": [48]
|
|
586
|
+
}
|
|
587
|
+
}
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
}
|
|
591
|
+
},
|
|
592
|
+
"promotion": {
|
|
593
|
+
"visible": {
|
|
594
|
+
"title": "Promotion visible",
|
|
595
|
+
"description": "A promotion, such as a banner, came into view. Recommended for websites with promotions.",
|
|
596
|
+
"examples": [
|
|
597
|
+
{
|
|
598
|
+
"name": "promotion visible",
|
|
599
|
+
"data": {
|
|
600
|
+
"id": "promo_autumn26",
|
|
601
|
+
"name": "Setting up tracking easily",
|
|
602
|
+
"slot": "hero"
|
|
603
|
+
},
|
|
604
|
+
"context": {
|
|
605
|
+
"ab_test": ["engagement", 0]
|
|
606
|
+
},
|
|
607
|
+
"globals": {
|
|
608
|
+
"pagegroup": "homepage"
|
|
609
|
+
},
|
|
610
|
+
"trigger": "visible"
|
|
611
|
+
}
|
|
612
|
+
],
|
|
613
|
+
"required": ["data"],
|
|
614
|
+
"properties": {
|
|
615
|
+
"data": {
|
|
616
|
+
"type": "object",
|
|
617
|
+
"description": "The promotion.",
|
|
618
|
+
"required": ["id"],
|
|
619
|
+
"properties": {
|
|
620
|
+
"id": {
|
|
621
|
+
"type": ["string", "number"],
|
|
622
|
+
"description": "The id of the promotion.",
|
|
623
|
+
"examples": ["promo_autumn26"]
|
|
624
|
+
},
|
|
625
|
+
"name": {
|
|
626
|
+
"type": "string",
|
|
627
|
+
"description": "The name of the promotion.",
|
|
628
|
+
"examples": ["Setting up tracking easily"]
|
|
629
|
+
},
|
|
630
|
+
"creative": {
|
|
631
|
+
"type": "string",
|
|
632
|
+
"description": "The creative shown, such as the banner.",
|
|
633
|
+
"examples": ["summer_banner2"]
|
|
634
|
+
},
|
|
635
|
+
"slot": {
|
|
636
|
+
"type": ["string", "number"],
|
|
637
|
+
"description": "Where on the page the promotion sits, such as hero.",
|
|
638
|
+
"examples": ["hero"]
|
|
639
|
+
},
|
|
640
|
+
"position": {
|
|
641
|
+
"type": "number",
|
|
642
|
+
"description": "The place of the promotion among the promotions shown, counted from 1.",
|
|
643
|
+
"examples": [1]
|
|
644
|
+
}
|
|
645
|
+
}
|
|
646
|
+
}
|
|
647
|
+
}
|
|
648
|
+
},
|
|
649
|
+
"click": {
|
|
650
|
+
"title": "Promotion click",
|
|
651
|
+
"description": "A visitor clicked a promotion. Recommended for websites with promotions.",
|
|
652
|
+
"examples": [
|
|
653
|
+
{
|
|
654
|
+
"name": "promotion click",
|
|
655
|
+
"data": {
|
|
656
|
+
"id": "promo_autumn26",
|
|
657
|
+
"name": "Setting up tracking easily",
|
|
658
|
+
"slot": "hero"
|
|
659
|
+
},
|
|
660
|
+
"context": {
|
|
661
|
+
"ab_test": ["engagement", 0]
|
|
662
|
+
},
|
|
663
|
+
"globals": {
|
|
664
|
+
"pagegroup": "homepage"
|
|
665
|
+
},
|
|
666
|
+
"trigger": "click"
|
|
667
|
+
}
|
|
668
|
+
],
|
|
669
|
+
"required": ["data"],
|
|
670
|
+
"properties": {
|
|
671
|
+
"data": {
|
|
672
|
+
"type": "object",
|
|
673
|
+
"description": "The promotion.",
|
|
674
|
+
"required": ["id"],
|
|
675
|
+
"properties": {
|
|
676
|
+
"id": {
|
|
677
|
+
"type": ["string", "number"],
|
|
678
|
+
"description": "The id of the promotion.",
|
|
679
|
+
"examples": ["promo_autumn26"]
|
|
680
|
+
},
|
|
681
|
+
"name": {
|
|
682
|
+
"type": "string",
|
|
683
|
+
"description": "The name of the promotion.",
|
|
684
|
+
"examples": ["Setting up tracking easily"]
|
|
685
|
+
},
|
|
686
|
+
"creative": {
|
|
687
|
+
"type": "string",
|
|
688
|
+
"description": "The creative shown, such as the banner.",
|
|
689
|
+
"examples": ["summer_banner2"]
|
|
690
|
+
},
|
|
691
|
+
"slot": {
|
|
692
|
+
"type": ["string", "number"],
|
|
693
|
+
"description": "Where on the page the promotion sits, such as hero.",
|
|
694
|
+
"examples": ["hero"]
|
|
695
|
+
},
|
|
696
|
+
"position": {
|
|
697
|
+
"type": "number",
|
|
698
|
+
"description": "The place of the promotion among the promotions shown, counted from 1.",
|
|
699
|
+
"examples": [1]
|
|
700
|
+
}
|
|
701
|
+
}
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
}
|
|
705
|
+
}
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
}
|