@lessly/sdk-app 78.0.0 → 80.0.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/dist/_types/gen/client.gen.d.ts +4 -1
- package/dist/_types/gen/support/index.d.ts +1 -1
- package/dist/_types/gen/support/queryOptions.gen.d.ts +13 -1
- package/dist/_types/gen/types.gen.d.ts +1959 -41
- package/dist/{chunk-LUFP6XK2.js → chunk-RUEYSS2X.js} +41 -2
- package/dist/chunk-RUEYSS2X.js.map +1 -0
- package/dist/index.cjs +59 -25
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +21 -26
- package/dist/index.js.map +1 -1
- package/dist/playground/index.cjs.map +1 -1
- package/dist/playground/index.js +1 -1
- package/dist/support/index.cjs +15 -0
- package/dist/support/index.cjs.map +1 -1
- package/dist/support/index.js +13 -1
- package/dist/support/index.js.map +1 -1
- package/package.json +2 -2
- package/src/gen/bindings.gen.ts +39 -0
- package/src/gen/client.gen.ts +9 -0
- package/src/gen/manifest.gen.ts +20 -25
- package/src/gen/support/index.ts +1 -1
- package/src/gen/support/queryOptions.gen.ts +21 -0
- package/src/gen/types.gen.ts +1947 -23
- package/dist/chunk-LUFP6XK2.js.map +0 -1
|
@@ -97404,6 +97404,30 @@ export interface SupportLabelCreateOutput {
|
|
|
97404
97404
|
*/
|
|
97405
97405
|
createdAt: string;
|
|
97406
97406
|
}
|
|
97407
|
+
export interface SupportLabelGetInput {
|
|
97408
|
+
/**
|
|
97409
|
+
* Label id
|
|
97410
|
+
*/
|
|
97411
|
+
id: string;
|
|
97412
|
+
}
|
|
97413
|
+
export interface SupportLabelGetOutput {
|
|
97414
|
+
/**
|
|
97415
|
+
* Label id
|
|
97416
|
+
*/
|
|
97417
|
+
id: string;
|
|
97418
|
+
/**
|
|
97419
|
+
* Label name, unique within the product
|
|
97420
|
+
*/
|
|
97421
|
+
name: string;
|
|
97422
|
+
/**
|
|
97423
|
+
* Display colour as a hex string, or null if uncoloured
|
|
97424
|
+
*/
|
|
97425
|
+
color: (string | null);
|
|
97426
|
+
/**
|
|
97427
|
+
* ISO-8601 creation timestamp
|
|
97428
|
+
*/
|
|
97429
|
+
createdAt: string;
|
|
97430
|
+
}
|
|
97407
97431
|
export interface SupportLabelListInput {
|
|
97408
97432
|
}
|
|
97409
97433
|
export interface SupportLabelListOutput {
|
|
@@ -97515,10 +97539,95 @@ export interface SupportMessageCreateOutput {
|
|
|
97515
97539
|
*/
|
|
97516
97540
|
downloadUrl: string;
|
|
97517
97541
|
}[];
|
|
97542
|
+
/**
|
|
97543
|
+
* The same files as a flat list of ids, in the order attachments[] has them. This is the value support_message_create takes back; attachments.0.id names only the first file
|
|
97544
|
+
*/
|
|
97545
|
+
attachmentIds: string[];
|
|
97546
|
+
/**
|
|
97547
|
+
* The agent author, or null when the external end user wrote the message
|
|
97548
|
+
*/
|
|
97549
|
+
authorAgentId: (string | null);
|
|
97550
|
+
/**
|
|
97551
|
+
* How many files this message carries, 0 when it carries none. A dot-path has no length, so this is the only way a step can branch on whether there are files at all — and a message may carry a file and no body, so it is what tells those two messages apart
|
|
97552
|
+
*/
|
|
97553
|
+
attachmentCount: number;
|
|
97554
|
+
/**
|
|
97555
|
+
* The external author, or null when an agent wrote the message
|
|
97556
|
+
*/
|
|
97557
|
+
authorExternalId: (string | null);
|
|
97558
|
+
}
|
|
97559
|
+
export interface SupportMessageGetInput {
|
|
97560
|
+
/**
|
|
97561
|
+
* Message id
|
|
97562
|
+
*/
|
|
97563
|
+
id: string;
|
|
97564
|
+
}
|
|
97565
|
+
export interface SupportMessageGetOutput {
|
|
97566
|
+
/**
|
|
97567
|
+
* Message id
|
|
97568
|
+
*/
|
|
97569
|
+
id: string;
|
|
97570
|
+
/**
|
|
97571
|
+
* The message text, byte-identical to what was stored
|
|
97572
|
+
*/
|
|
97573
|
+
body: string;
|
|
97574
|
+
/**
|
|
97575
|
+
* Thread this message belongs to
|
|
97576
|
+
*/
|
|
97577
|
+
threadId: string;
|
|
97578
|
+
/**
|
|
97579
|
+
* ISO-8601 creation timestamp
|
|
97580
|
+
*/
|
|
97581
|
+
createdAt: string;
|
|
97582
|
+
/**
|
|
97583
|
+
* inbound: written by the external end user. outbound: written by support, going out to them
|
|
97584
|
+
*/
|
|
97585
|
+
direction: ("inbound" | "outbound");
|
|
97586
|
+
/**
|
|
97587
|
+
* public: part of the conversation the external end user sees. internal: a note between agents that never leaves the support contour
|
|
97588
|
+
*/
|
|
97589
|
+
visibility: ("public" | "internal");
|
|
97590
|
+
/**
|
|
97591
|
+
* Files this message carries, each with a freshly signed download URL. Empty when there are none. Attachments whose upload was never confirmed are never listed here
|
|
97592
|
+
*/
|
|
97593
|
+
attachments: {
|
|
97594
|
+
/**
|
|
97595
|
+
* Attachment id
|
|
97596
|
+
*/
|
|
97597
|
+
id: string;
|
|
97598
|
+
/**
|
|
97599
|
+
* Display name of the file
|
|
97600
|
+
*/
|
|
97601
|
+
fileName: string;
|
|
97602
|
+
/**
|
|
97603
|
+
* ISO-8601 timestamp of when the attachment was created
|
|
97604
|
+
*/
|
|
97605
|
+
createdAt: string;
|
|
97606
|
+
/**
|
|
97607
|
+
* Size in bytes as reported by storage
|
|
97608
|
+
*/
|
|
97609
|
+
sizeBytes: number;
|
|
97610
|
+
/**
|
|
97611
|
+
* MIME type of the file
|
|
97612
|
+
*/
|
|
97613
|
+
contentType: string;
|
|
97614
|
+
/**
|
|
97615
|
+
* Short-lived signed URL to read the file. Re-read the message to get a fresh one
|
|
97616
|
+
*/
|
|
97617
|
+
downloadUrl: string;
|
|
97618
|
+
}[];
|
|
97619
|
+
/**
|
|
97620
|
+
* The same files as a flat list of ids, in the order attachments[] has them. This is the value support_message_create takes back; attachments.0.id names only the first file
|
|
97621
|
+
*/
|
|
97622
|
+
attachmentIds: string[];
|
|
97518
97623
|
/**
|
|
97519
97624
|
* The agent author, or null when the external end user wrote the message
|
|
97520
97625
|
*/
|
|
97521
97626
|
authorAgentId: (string | null);
|
|
97627
|
+
/**
|
|
97628
|
+
* How many files this message carries, 0 when it carries none. A dot-path has no length, so this is the only way a step can branch on whether there are files at all — and a message may carry a file and no body, so it is what tells those two messages apart
|
|
97629
|
+
*/
|
|
97630
|
+
attachmentCount: number;
|
|
97522
97631
|
/**
|
|
97523
97632
|
* The external author, or null when an agent wrote the message
|
|
97524
97633
|
*/
|
|
@@ -97620,10 +97729,18 @@ export interface SupportMessageListOutput {
|
|
|
97620
97729
|
*/
|
|
97621
97730
|
downloadUrl: string;
|
|
97622
97731
|
}[];
|
|
97732
|
+
/**
|
|
97733
|
+
* The same files as a flat list of ids, in the order attachments[] has them. This is the value support_message_create takes back; attachments.0.id names only the first file
|
|
97734
|
+
*/
|
|
97735
|
+
attachmentIds: string[];
|
|
97623
97736
|
/**
|
|
97624
97737
|
* The agent author, or null when the external end user wrote the message
|
|
97625
97738
|
*/
|
|
97626
97739
|
authorAgentId: (string | null);
|
|
97740
|
+
/**
|
|
97741
|
+
* How many files this message carries, 0 when it carries none. A dot-path has no length, so this is the only way a step can branch on whether there are files at all — and a message may carry a file and no body, so it is what tells those two messages apart
|
|
97742
|
+
*/
|
|
97743
|
+
attachmentCount: number;
|
|
97627
97744
|
/**
|
|
97628
97745
|
* The external author, or null when an agent wrote the message
|
|
97629
97746
|
*/
|
|
@@ -97711,6 +97828,10 @@ export interface SupportResponseEscalateOutput {
|
|
|
97711
97828
|
*/
|
|
97712
97829
|
category: ("open" | "pending" | "resolved" | "closed");
|
|
97713
97830
|
};
|
|
97831
|
+
/**
|
|
97832
|
+
* The same labels as a flat list of ids, in the order labels[] has them. This is the value support_thread_update takes back: a dot-path can name this whole set, while labels.0.id names only the first element
|
|
97833
|
+
*/
|
|
97834
|
+
labelIds: string[];
|
|
97714
97835
|
/**
|
|
97715
97836
|
* Free-form client-owned JSON
|
|
97716
97837
|
*/
|
|
@@ -97733,6 +97854,10 @@ export interface SupportResponseEscalateOutput {
|
|
|
97733
97854
|
* ISO-8601 last-modification timestamp
|
|
97734
97855
|
*/
|
|
97735
97856
|
updatedAt: string;
|
|
97857
|
+
/**
|
|
97858
|
+
* The same labels as a flat list of names, in the order labels[] has them
|
|
97859
|
+
*/
|
|
97860
|
+
labelNames: string[];
|
|
97736
97861
|
/**
|
|
97737
97862
|
* ISO-8601 timestamp of the last reply, or null while there are none
|
|
97738
97863
|
*/
|
|
@@ -97958,14 +98083,23 @@ export interface SupportRuleCreateInput {
|
|
|
97958
98083
|
* When to show the survey once the page matches
|
|
97959
98084
|
*/
|
|
97960
98085
|
trigger: ({
|
|
98086
|
+
/**
|
|
98087
|
+
* An immediate trigger, with nothing else to set
|
|
98088
|
+
*/
|
|
97961
98089
|
kind: "immediate";
|
|
97962
98090
|
} | {
|
|
98091
|
+
/**
|
|
98092
|
+
* A delayed trigger, which needs seconds
|
|
98093
|
+
*/
|
|
97963
98094
|
kind: "delay";
|
|
97964
98095
|
/**
|
|
97965
98096
|
* How long to wait after the page matched, in seconds (at most a day)
|
|
97966
98097
|
*/
|
|
97967
98098
|
seconds: number;
|
|
97968
98099
|
} | {
|
|
98100
|
+
/**
|
|
98101
|
+
* An event trigger, which needs the event name
|
|
98102
|
+
*/
|
|
97969
98103
|
kind: "event";
|
|
97970
98104
|
/**
|
|
97971
98105
|
* An event in the client’s own runtime. This toolkit never sees it
|
|
@@ -100969,6 +101103,9 @@ export interface SupportRuleCreateInput {
|
|
|
100969
101103
|
}
|
|
100970
101104
|
];
|
|
100971
101105
|
}
|
|
101106
|
+
/**
|
|
101107
|
+
* One delivery rule: which pages get which survey, when, how often, and to whom
|
|
101108
|
+
*/
|
|
100972
101109
|
export interface SupportRuleCreateOutput {
|
|
100973
101110
|
/**
|
|
100974
101111
|
* Rule id
|
|
@@ -100982,6 +101119,9 @@ export interface SupportRuleCreateOutput {
|
|
|
100982
101119
|
* Whether the rule is live
|
|
100983
101120
|
*/
|
|
100984
101121
|
enabled: boolean;
|
|
101122
|
+
/**
|
|
101123
|
+
* When the client’s runtime shows the survey once the page matches: immediately, after a delay, or on an event of its own
|
|
101124
|
+
*/
|
|
100985
101125
|
trigger: {
|
|
100986
101126
|
/**
|
|
100987
101127
|
* Which kind of trigger this is
|
|
@@ -101008,13 +101148,22 @@ export interface SupportRuleCreateOutput {
|
|
|
101008
101148
|
* exact: the whole URL, character for character. prefix: the URL starts with the value. contains: the value appears anywhere in the URL. regex: a JavaScript regular expression, applied unanchored — write ^ yourself if you mean the start
|
|
101009
101149
|
*/
|
|
101010
101150
|
kind: ("exact" | "prefix" | "contains" | "regex");
|
|
101151
|
+
/**
|
|
101152
|
+
* What the URL is compared against, read according to kind
|
|
101153
|
+
*/
|
|
101011
101154
|
value: string;
|
|
101012
101155
|
};
|
|
101013
101156
|
/**
|
|
101014
101157
|
* ISO-8601 creation timestamp
|
|
101015
101158
|
*/
|
|
101016
101159
|
createdAt: string;
|
|
101160
|
+
/**
|
|
101161
|
+
* How often the same person may see this survey. The client’s runtime enforces it — this toolkit never sees the end user
|
|
101162
|
+
*/
|
|
101017
101163
|
frequency: {
|
|
101164
|
+
/**
|
|
101165
|
+
* once: show it a single time, ever. until_answered: keep showing it until they respond. always: show it every time the rule matches
|
|
101166
|
+
*/
|
|
101018
101167
|
kind: ("once" | "until_answered" | "always");
|
|
101019
101168
|
/**
|
|
101020
101169
|
* Days between showings, when set
|
|
@@ -104014,6 +104163,9 @@ export interface SupportRuleGetInput {
|
|
|
104014
104163
|
*/
|
|
104015
104164
|
id: string;
|
|
104016
104165
|
}
|
|
104166
|
+
/**
|
|
104167
|
+
* One delivery rule: which pages get which survey, when, how often, and to whom
|
|
104168
|
+
*/
|
|
104017
104169
|
export interface SupportRuleGetOutput {
|
|
104018
104170
|
/**
|
|
104019
104171
|
* Rule id
|
|
@@ -104027,6 +104179,9 @@ export interface SupportRuleGetOutput {
|
|
|
104027
104179
|
* Whether the rule is live
|
|
104028
104180
|
*/
|
|
104029
104181
|
enabled: boolean;
|
|
104182
|
+
/**
|
|
104183
|
+
* When the client’s runtime shows the survey once the page matches: immediately, after a delay, or on an event of its own
|
|
104184
|
+
*/
|
|
104030
104185
|
trigger: {
|
|
104031
104186
|
/**
|
|
104032
104187
|
* Which kind of trigger this is
|
|
@@ -104053,13 +104208,22 @@ export interface SupportRuleGetOutput {
|
|
|
104053
104208
|
* exact: the whole URL, character for character. prefix: the URL starts with the value. contains: the value appears anywhere in the URL. regex: a JavaScript regular expression, applied unanchored — write ^ yourself if you mean the start
|
|
104054
104209
|
*/
|
|
104055
104210
|
kind: ("exact" | "prefix" | "contains" | "regex");
|
|
104211
|
+
/**
|
|
104212
|
+
* What the URL is compared against, read according to kind
|
|
104213
|
+
*/
|
|
104056
104214
|
value: string;
|
|
104057
104215
|
};
|
|
104058
104216
|
/**
|
|
104059
104217
|
* ISO-8601 creation timestamp
|
|
104060
104218
|
*/
|
|
104061
104219
|
createdAt: string;
|
|
104220
|
+
/**
|
|
104221
|
+
* How often the same person may see this survey. The client’s runtime enforces it — this toolkit never sees the end user
|
|
104222
|
+
*/
|
|
104062
104223
|
frequency: {
|
|
104224
|
+
/**
|
|
104225
|
+
* once: show it a single time, ever. until_answered: keep showing it until they respond. always: show it every time the rule matches
|
|
104226
|
+
*/
|
|
104063
104227
|
kind: ("once" | "until_answered" | "always");
|
|
104064
104228
|
/**
|
|
104065
104229
|
* Days between showings, when set
|
|
@@ -107084,6 +107248,9 @@ export interface SupportRuleListOutput {
|
|
|
107084
107248
|
* Whether the rule is live
|
|
107085
107249
|
*/
|
|
107086
107250
|
enabled: boolean;
|
|
107251
|
+
/**
|
|
107252
|
+
* When the client’s runtime shows the survey once the page matches: immediately, after a delay, or on an event of its own
|
|
107253
|
+
*/
|
|
107087
107254
|
trigger: {
|
|
107088
107255
|
/**
|
|
107089
107256
|
* Which kind of trigger this is
|
|
@@ -107110,13 +107277,22 @@ export interface SupportRuleListOutput {
|
|
|
107110
107277
|
* exact: the whole URL, character for character. prefix: the URL starts with the value. contains: the value appears anywhere in the URL. regex: a JavaScript regular expression, applied unanchored — write ^ yourself if you mean the start
|
|
107111
107278
|
*/
|
|
107112
107279
|
kind: ("exact" | "prefix" | "contains" | "regex");
|
|
107280
|
+
/**
|
|
107281
|
+
* What the URL is compared against, read according to kind
|
|
107282
|
+
*/
|
|
107113
107283
|
value: string;
|
|
107114
107284
|
};
|
|
107115
107285
|
/**
|
|
107116
107286
|
* ISO-8601 creation timestamp
|
|
107117
107287
|
*/
|
|
107118
107288
|
createdAt: string;
|
|
107289
|
+
/**
|
|
107290
|
+
* How often the same person may see this survey. The client’s runtime enforces it — this toolkit never sees the end user
|
|
107291
|
+
*/
|
|
107119
107292
|
frequency: {
|
|
107293
|
+
/**
|
|
107294
|
+
* once: show it a single time, ever. until_answered: keep showing it until they respond. always: show it every time the rule matches
|
|
107295
|
+
*/
|
|
107120
107296
|
kind: ("once" | "until_answered" | "always");
|
|
107121
107297
|
/**
|
|
107122
107298
|
* Days between showings, when set
|
|
@@ -110116,14 +110292,23 @@ export interface SupportRuleUpdateInput {
|
|
|
110116
110292
|
* The new trigger, replacing the old one
|
|
110117
110293
|
*/
|
|
110118
110294
|
trigger?: ({
|
|
110295
|
+
/**
|
|
110296
|
+
* An immediate trigger, with nothing else to set
|
|
110297
|
+
*/
|
|
110119
110298
|
kind: "immediate";
|
|
110120
110299
|
} | {
|
|
110300
|
+
/**
|
|
110301
|
+
* A delayed trigger, which needs seconds
|
|
110302
|
+
*/
|
|
110121
110303
|
kind: "delay";
|
|
110122
110304
|
/**
|
|
110123
110305
|
* How long to wait after the page matched, in seconds (at most a day)
|
|
110124
110306
|
*/
|
|
110125
110307
|
seconds: number;
|
|
110126
110308
|
} | {
|
|
110309
|
+
/**
|
|
110310
|
+
* An event trigger, which needs the event name
|
|
110311
|
+
*/
|
|
110127
110312
|
kind: "event";
|
|
110128
110313
|
/**
|
|
110129
110314
|
* An event in the client’s own runtime. This toolkit never sees it
|
|
@@ -113123,6 +113308,9 @@ export interface SupportRuleUpdateInput {
|
|
|
113123
113308
|
}
|
|
113124
113309
|
];
|
|
113125
113310
|
}
|
|
113311
|
+
/**
|
|
113312
|
+
* One delivery rule: which pages get which survey, when, how often, and to whom
|
|
113313
|
+
*/
|
|
113126
113314
|
export interface SupportRuleUpdateOutput {
|
|
113127
113315
|
/**
|
|
113128
113316
|
* Rule id
|
|
@@ -113136,6 +113324,9 @@ export interface SupportRuleUpdateOutput {
|
|
|
113136
113324
|
* Whether the rule is live
|
|
113137
113325
|
*/
|
|
113138
113326
|
enabled: boolean;
|
|
113327
|
+
/**
|
|
113328
|
+
* When the client’s runtime shows the survey once the page matches: immediately, after a delay, or on an event of its own
|
|
113329
|
+
*/
|
|
113139
113330
|
trigger: {
|
|
113140
113331
|
/**
|
|
113141
113332
|
* Which kind of trigger this is
|
|
@@ -113162,13 +113353,22 @@ export interface SupportRuleUpdateOutput {
|
|
|
113162
113353
|
* exact: the whole URL, character for character. prefix: the URL starts with the value. contains: the value appears anywhere in the URL. regex: a JavaScript regular expression, applied unanchored — write ^ yourself if you mean the start
|
|
113163
113354
|
*/
|
|
113164
113355
|
kind: ("exact" | "prefix" | "contains" | "regex");
|
|
113356
|
+
/**
|
|
113357
|
+
* What the URL is compared against, read according to kind
|
|
113358
|
+
*/
|
|
113165
113359
|
value: string;
|
|
113166
113360
|
};
|
|
113167
113361
|
/**
|
|
113168
113362
|
* ISO-8601 creation timestamp
|
|
113169
113363
|
*/
|
|
113170
113364
|
createdAt: string;
|
|
113365
|
+
/**
|
|
113366
|
+
* How often the same person may see this survey. The client’s runtime enforces it — this toolkit never sees the end user
|
|
113367
|
+
*/
|
|
113171
113368
|
frequency: {
|
|
113369
|
+
/**
|
|
113370
|
+
* once: show it a single time, ever. until_answered: keep showing it until they respond. always: show it every time the rule matches
|
|
113371
|
+
*/
|
|
113172
113372
|
kind: ("once" | "until_answered" | "always");
|
|
113173
113373
|
/**
|
|
113174
113374
|
* Days between showings, when set
|
|
@@ -116226,6 +116426,38 @@ export interface SupportStatusCreateOutput {
|
|
|
116226
116426
|
*/
|
|
116227
116427
|
category: ("open" | "pending" | "resolved" | "closed");
|
|
116228
116428
|
}
|
|
116429
|
+
export interface SupportStatusGetInput {
|
|
116430
|
+
/**
|
|
116431
|
+
* Status id
|
|
116432
|
+
*/
|
|
116433
|
+
id: string;
|
|
116434
|
+
}
|
|
116435
|
+
export interface SupportStatusGetOutput {
|
|
116436
|
+
/**
|
|
116437
|
+
* Status id
|
|
116438
|
+
*/
|
|
116439
|
+
id: string;
|
|
116440
|
+
/**
|
|
116441
|
+
* Status name, unique within the product
|
|
116442
|
+
*/
|
|
116443
|
+
name: string;
|
|
116444
|
+
/**
|
|
116445
|
+
* Display colour as a hex string
|
|
116446
|
+
*/
|
|
116447
|
+
color: string;
|
|
116448
|
+
/**
|
|
116449
|
+
* Sort order within the status dictionary
|
|
116450
|
+
*/
|
|
116451
|
+
order: number;
|
|
116452
|
+
/**
|
|
116453
|
+
* Archived statuses stay readable but are not offered as targets
|
|
116454
|
+
*/
|
|
116455
|
+
archived: boolean;
|
|
116456
|
+
/**
|
|
116457
|
+
* Lifecycle bucket the status belongs to
|
|
116458
|
+
*/
|
|
116459
|
+
category: ("open" | "pending" | "resolved" | "closed");
|
|
116460
|
+
}
|
|
116229
116461
|
export interface SupportStatusListInput {
|
|
116230
116462
|
/**
|
|
116231
116463
|
* Also return archived statuses (default false)
|
|
@@ -116406,6 +116638,14 @@ export interface SupportSurveyArchiveOutput {
|
|
|
116406
116638
|
* ISO-8601 last-modification timestamp
|
|
116407
116639
|
*/
|
|
116408
116640
|
updatedAt: string;
|
|
116641
|
+
/**
|
|
116642
|
+
* The same questions as a flat list of ids, in the order they are asked
|
|
116643
|
+
*/
|
|
116644
|
+
questionIds: string[];
|
|
116645
|
+
/**
|
|
116646
|
+
* How many questions this survey asks — the same field support/survey.published carries, so a workflow built from the trigger and one built from a get-step bind one shape
|
|
116647
|
+
*/
|
|
116648
|
+
questionCount: number;
|
|
116409
116649
|
}
|
|
116410
116650
|
export interface SupportSurveyCreateInput {
|
|
116411
116651
|
/**
|
|
@@ -116572,6 +116812,14 @@ export interface SupportSurveyCreateOutput {
|
|
|
116572
116812
|
* ISO-8601 last-modification timestamp
|
|
116573
116813
|
*/
|
|
116574
116814
|
updatedAt: string;
|
|
116815
|
+
/**
|
|
116816
|
+
* The same questions as a flat list of ids, in the order they are asked
|
|
116817
|
+
*/
|
|
116818
|
+
questionIds: string[];
|
|
116819
|
+
/**
|
|
116820
|
+
* How many questions this survey asks — the same field support/survey.published carries, so a workflow built from the trigger and one built from a get-step bind one shape
|
|
116821
|
+
*/
|
|
116822
|
+
questionCount: number;
|
|
116575
116823
|
}
|
|
116576
116824
|
export interface SupportSurveyGetInput {
|
|
116577
116825
|
/**
|
|
@@ -116668,6 +116916,14 @@ export interface SupportSurveyGetOutput {
|
|
|
116668
116916
|
* ISO-8601 last-modification timestamp
|
|
116669
116917
|
*/
|
|
116670
116918
|
updatedAt: string;
|
|
116919
|
+
/**
|
|
116920
|
+
* The same questions as a flat list of ids, in the order they are asked
|
|
116921
|
+
*/
|
|
116922
|
+
questionIds: string[];
|
|
116923
|
+
/**
|
|
116924
|
+
* How many questions this survey asks — the same field support/survey.published carries, so a workflow built from the trigger and one built from a get-step bind one shape
|
|
116925
|
+
*/
|
|
116926
|
+
questionCount: number;
|
|
116671
116927
|
}
|
|
116672
116928
|
export interface SupportSurveyListInput {
|
|
116673
116929
|
/**
|
|
@@ -116784,6 +117040,14 @@ export interface SupportSurveyListOutput {
|
|
|
116784
117040
|
* ISO-8601 last-modification timestamp
|
|
116785
117041
|
*/
|
|
116786
117042
|
updatedAt: string;
|
|
117043
|
+
/**
|
|
117044
|
+
* The same questions as a flat list of ids, in the order they are asked
|
|
117045
|
+
*/
|
|
117046
|
+
questionIds: string[];
|
|
117047
|
+
/**
|
|
117048
|
+
* How many questions this survey asks — the same field support/survey.published carries, so a workflow built from the trigger and one built from a get-step bind one shape
|
|
117049
|
+
*/
|
|
117050
|
+
questionCount: number;
|
|
116787
117051
|
}[];
|
|
116788
117052
|
}
|
|
116789
117053
|
export interface SupportSurveyPublishInput {
|
|
@@ -116881,6 +117145,14 @@ export interface SupportSurveyPublishOutput {
|
|
|
116881
117145
|
* ISO-8601 last-modification timestamp
|
|
116882
117146
|
*/
|
|
116883
117147
|
updatedAt: string;
|
|
117148
|
+
/**
|
|
117149
|
+
* The same questions as a flat list of ids, in the order they are asked
|
|
117150
|
+
*/
|
|
117151
|
+
questionIds: string[];
|
|
117152
|
+
/**
|
|
117153
|
+
* How many questions this survey asks — the same field support/survey.published carries, so a workflow built from the trigger and one built from a get-step bind one shape
|
|
117154
|
+
*/
|
|
117155
|
+
questionCount: number;
|
|
116884
117156
|
}
|
|
116885
117157
|
export interface SupportSurveyStatsInput {
|
|
116886
117158
|
/**
|
|
@@ -117102,6 +117374,14 @@ export interface SupportSurveyUnpublishOutput {
|
|
|
117102
117374
|
* ISO-8601 last-modification timestamp
|
|
117103
117375
|
*/
|
|
117104
117376
|
updatedAt: string;
|
|
117377
|
+
/**
|
|
117378
|
+
* The same questions as a flat list of ids, in the order they are asked
|
|
117379
|
+
*/
|
|
117380
|
+
questionIds: string[];
|
|
117381
|
+
/**
|
|
117382
|
+
* How many questions this survey asks — the same field support/survey.published carries, so a workflow built from the trigger and one built from a get-step bind one shape
|
|
117383
|
+
*/
|
|
117384
|
+
questionCount: number;
|
|
117105
117385
|
}
|
|
117106
117386
|
export interface SupportSurveyUpdateInput {
|
|
117107
117387
|
/**
|
|
@@ -117272,6 +117552,14 @@ export interface SupportSurveyUpdateOutput {
|
|
|
117272
117552
|
* ISO-8601 last-modification timestamp
|
|
117273
117553
|
*/
|
|
117274
117554
|
updatedAt: string;
|
|
117555
|
+
/**
|
|
117556
|
+
* The same questions as a flat list of ids, in the order they are asked
|
|
117557
|
+
*/
|
|
117558
|
+
questionIds: string[];
|
|
117559
|
+
/**
|
|
117560
|
+
* How many questions this survey asks — the same field support/survey.published carries, so a workflow built from the trigger and one built from a get-step bind one shape
|
|
117561
|
+
*/
|
|
117562
|
+
questionCount: number;
|
|
117275
117563
|
}
|
|
117276
117564
|
export interface SupportThreadAssignInput {
|
|
117277
117565
|
/**
|
|
@@ -117350,6 +117638,10 @@ export interface SupportThreadAssignOutput {
|
|
|
117350
117638
|
*/
|
|
117351
117639
|
category: ("open" | "pending" | "resolved" | "closed");
|
|
117352
117640
|
};
|
|
117641
|
+
/**
|
|
117642
|
+
* The same labels as a flat list of ids, in the order labels[] has them. This is the value support_thread_update takes back: a dot-path can name this whole set, while labels.0.id names only the first element
|
|
117643
|
+
*/
|
|
117644
|
+
labelIds: string[];
|
|
117353
117645
|
/**
|
|
117354
117646
|
* Free-form client-owned JSON
|
|
117355
117647
|
*/
|
|
@@ -117372,6 +117664,10 @@ export interface SupportThreadAssignOutput {
|
|
|
117372
117664
|
* ISO-8601 last-modification timestamp
|
|
117373
117665
|
*/
|
|
117374
117666
|
updatedAt: string;
|
|
117667
|
+
/**
|
|
117668
|
+
* The same labels as a flat list of names, in the order labels[] has them
|
|
117669
|
+
*/
|
|
117670
|
+
labelNames: string[];
|
|
117375
117671
|
/**
|
|
117376
117672
|
* ISO-8601 timestamp of the last reply, or null while there are none
|
|
117377
117673
|
*/
|
|
@@ -117490,6 +117786,10 @@ export interface SupportThreadCreateOutput {
|
|
|
117490
117786
|
*/
|
|
117491
117787
|
category: ("open" | "pending" | "resolved" | "closed");
|
|
117492
117788
|
};
|
|
117789
|
+
/**
|
|
117790
|
+
* The same labels as a flat list of ids, in the order labels[] has them. This is the value support_thread_update takes back: a dot-path can name this whole set, while labels.0.id names only the first element
|
|
117791
|
+
*/
|
|
117792
|
+
labelIds: string[];
|
|
117493
117793
|
/**
|
|
117494
117794
|
* Free-form client-owned JSON
|
|
117495
117795
|
*/
|
|
@@ -117512,6 +117812,10 @@ export interface SupportThreadCreateOutput {
|
|
|
117512
117812
|
* ISO-8601 last-modification timestamp
|
|
117513
117813
|
*/
|
|
117514
117814
|
updatedAt: string;
|
|
117815
|
+
/**
|
|
117816
|
+
* The same labels as a flat list of names, in the order labels[] has them
|
|
117817
|
+
*/
|
|
117818
|
+
labelNames: string[];
|
|
117515
117819
|
/**
|
|
117516
117820
|
* ISO-8601 timestamp of the last reply, or null while there are none
|
|
117517
117821
|
*/
|
|
@@ -117602,6 +117906,10 @@ export interface SupportThreadGetOutput {
|
|
|
117602
117906
|
*/
|
|
117603
117907
|
category: ("open" | "pending" | "resolved" | "closed");
|
|
117604
117908
|
};
|
|
117909
|
+
/**
|
|
117910
|
+
* The same labels as a flat list of ids, in the order labels[] has them. This is the value support_thread_update takes back: a dot-path can name this whole set, while labels.0.id names only the first element
|
|
117911
|
+
*/
|
|
117912
|
+
labelIds: string[];
|
|
117605
117913
|
/**
|
|
117606
117914
|
* Free-form client-owned JSON
|
|
117607
117915
|
*/
|
|
@@ -117624,6 +117932,10 @@ export interface SupportThreadGetOutput {
|
|
|
117624
117932
|
* ISO-8601 last-modification timestamp
|
|
117625
117933
|
*/
|
|
117626
117934
|
updatedAt: string;
|
|
117935
|
+
/**
|
|
117936
|
+
* The same labels as a flat list of names, in the order labels[] has them
|
|
117937
|
+
*/
|
|
117938
|
+
labelNames: string[];
|
|
117627
117939
|
/**
|
|
117628
117940
|
* ISO-8601 timestamp of the last reply, or null while there are none
|
|
117629
117941
|
*/
|
|
@@ -117774,6 +118086,10 @@ export interface SupportThreadListOutput {
|
|
|
117774
118086
|
*/
|
|
117775
118087
|
category: ("open" | "pending" | "resolved" | "closed");
|
|
117776
118088
|
};
|
|
118089
|
+
/**
|
|
118090
|
+
* The same labels as a flat list of ids, in the order labels[] has them. This is the value support_thread_update takes back: a dot-path can name this whole set, while labels.0.id names only the first element
|
|
118091
|
+
*/
|
|
118092
|
+
labelIds: string[];
|
|
117777
118093
|
/**
|
|
117778
118094
|
* Free-form client-owned JSON
|
|
117779
118095
|
*/
|
|
@@ -117796,6 +118112,10 @@ export interface SupportThreadListOutput {
|
|
|
117796
118112
|
* ISO-8601 last-modification timestamp
|
|
117797
118113
|
*/
|
|
117798
118114
|
updatedAt: string;
|
|
118115
|
+
/**
|
|
118116
|
+
* The same labels as a flat list of names, in the order labels[] has them
|
|
118117
|
+
*/
|
|
118118
|
+
labelNames: string[];
|
|
117799
118119
|
/**
|
|
117800
118120
|
* ISO-8601 timestamp of the last reply, or null while there are none
|
|
117801
118121
|
*/
|
|
@@ -117891,6 +118211,10 @@ export interface SupportThreadStatusSetOutput {
|
|
|
117891
118211
|
*/
|
|
117892
118212
|
category: ("open" | "pending" | "resolved" | "closed");
|
|
117893
118213
|
};
|
|
118214
|
+
/**
|
|
118215
|
+
* The same labels as a flat list of ids, in the order labels[] has them. This is the value support_thread_update takes back: a dot-path can name this whole set, while labels.0.id names only the first element
|
|
118216
|
+
*/
|
|
118217
|
+
labelIds: string[];
|
|
117894
118218
|
/**
|
|
117895
118219
|
* Free-form client-owned JSON
|
|
117896
118220
|
*/
|
|
@@ -117913,6 +118237,10 @@ export interface SupportThreadStatusSetOutput {
|
|
|
117913
118237
|
* ISO-8601 last-modification timestamp
|
|
117914
118238
|
*/
|
|
117915
118239
|
updatedAt: string;
|
|
118240
|
+
/**
|
|
118241
|
+
* The same labels as a flat list of names, in the order labels[] has them
|
|
118242
|
+
*/
|
|
118243
|
+
labelNames: string[];
|
|
117916
118244
|
/**
|
|
117917
118245
|
* ISO-8601 timestamp of the last reply, or null while there are none
|
|
117918
118246
|
*/
|
|
@@ -118023,6 +118351,10 @@ export interface SupportThreadUpdateOutput {
|
|
|
118023
118351
|
*/
|
|
118024
118352
|
category: ("open" | "pending" | "resolved" | "closed");
|
|
118025
118353
|
};
|
|
118354
|
+
/**
|
|
118355
|
+
* The same labels as a flat list of ids, in the order labels[] has them. This is the value support_thread_update takes back: a dot-path can name this whole set, while labels.0.id names only the first element
|
|
118356
|
+
*/
|
|
118357
|
+
labelIds: string[];
|
|
118026
118358
|
/**
|
|
118027
118359
|
* Free-form client-owned JSON
|
|
118028
118360
|
*/
|
|
@@ -118045,6 +118377,10 @@ export interface SupportThreadUpdateOutput {
|
|
|
118045
118377
|
* ISO-8601 last-modification timestamp
|
|
118046
118378
|
*/
|
|
118047
118379
|
updatedAt: string;
|
|
118380
|
+
/**
|
|
118381
|
+
* The same labels as a flat list of names, in the order labels[] has them
|
|
118382
|
+
*/
|
|
118383
|
+
labelNames: string[];
|
|
118048
118384
|
/**
|
|
118049
118385
|
* ISO-8601 timestamp of the last reply, or null while there are none
|
|
118050
118386
|
*/
|
|
@@ -118474,87 +118810,267 @@ export interface SupportWebhookUpdateOutput {
|
|
|
118474
118810
|
secretPrefix: string;
|
|
118475
118811
|
}
|
|
118476
118812
|
export interface TrackingDomainsCreateInput {
|
|
118813
|
+
/**
|
|
118814
|
+
* Bare hostname to serve tracking from, which must sit under the chosen domain (e.g. analytics.example.com); a suggestion is used when omitted
|
|
118815
|
+
*/
|
|
118477
118816
|
host?: string;
|
|
118817
|
+
/**
|
|
118818
|
+
* DNS records to request instead of the default CNAME to the tracking edge; leave unset unless the domain needs custom records
|
|
118819
|
+
*/
|
|
118478
118820
|
records?: {
|
|
118821
|
+
/**
|
|
118822
|
+
* Time-to-live in seconds the record should be published with; the platform picks one when omitted
|
|
118823
|
+
*/
|
|
118479
118824
|
ttl?: number;
|
|
118825
|
+
/**
|
|
118826
|
+
* Fully-qualified host the record is published at; defaults to the claimed tracking host
|
|
118827
|
+
*/
|
|
118480
118828
|
name?: string;
|
|
118829
|
+
/**
|
|
118830
|
+
* Value the record points at — the edge hostname for a CNAME, the proof string for a TXT
|
|
118831
|
+
*/
|
|
118481
118832
|
target: string;
|
|
118833
|
+
/**
|
|
118834
|
+
* DNS record type to publish, e.g. CNAME or TXT
|
|
118835
|
+
*/
|
|
118482
118836
|
recordType: string;
|
|
118483
118837
|
}[];
|
|
118484
|
-
|
|
118838
|
+
/**
|
|
118839
|
+
* Product domain to claim the tracking host under, as listed in `domains[].domainId` by tracking_domains_list
|
|
118840
|
+
*/
|
|
118841
|
+
domainId: string;
|
|
118485
118842
|
}
|
|
118486
118843
|
export interface TrackingDomainsCreateOutput {
|
|
118844
|
+
/**
|
|
118845
|
+
* The binding as just claimed; it starts `pending` and goes `active` once the DNS is observed live
|
|
118846
|
+
*/
|
|
118487
118847
|
binding: {
|
|
118848
|
+
/**
|
|
118849
|
+
* Fully-qualified tracking host this binding serves, e.g. analytics.example.com
|
|
118850
|
+
*/
|
|
118488
118851
|
host: string;
|
|
118852
|
+
/**
|
|
118853
|
+
* Where the claim stands: `pending` while DNS has not been observed live, `active` once it serves, `failed` when the check gave up
|
|
118854
|
+
*/
|
|
118489
118855
|
status: ("pending" | "active" | "failed");
|
|
118856
|
+
/**
|
|
118857
|
+
* DNS records the platform expects to see published for this host, as returned when the binding was claimed
|
|
118858
|
+
*/
|
|
118490
118859
|
records: unknown[];
|
|
118860
|
+
/**
|
|
118861
|
+
* Product domain this tracking host sits under
|
|
118862
|
+
*/
|
|
118491
118863
|
domainId: string;
|
|
118864
|
+
/**
|
|
118865
|
+
* Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
|
|
118866
|
+
*/
|
|
118492
118867
|
bindingId: string;
|
|
118868
|
+
/**
|
|
118869
|
+
* When the binding was claimed
|
|
118870
|
+
*/
|
|
118493
118871
|
createdAt: string;
|
|
118872
|
+
/**
|
|
118873
|
+
* Product the binding belongs to
|
|
118874
|
+
*/
|
|
118494
118875
|
productId: string;
|
|
118876
|
+
/**
|
|
118877
|
+
* When the binding last changed status or records
|
|
118878
|
+
*/
|
|
118495
118879
|
updatedAt: string;
|
|
118880
|
+
/**
|
|
118881
|
+
* Human-readable reason behind the current status, such as the DNS error that made it fail; null while there is nothing to report
|
|
118882
|
+
*/
|
|
118496
118883
|
statusDetail: (string | null);
|
|
118884
|
+
/**
|
|
118885
|
+
* Extension that claimed the binding; tracking bindings are owned by this toolkit
|
|
118886
|
+
*/
|
|
118497
118887
|
ownerExtension: string;
|
|
118498
118888
|
};
|
|
118889
|
+
/**
|
|
118890
|
+
* Ordered, human-readable steps for publishing the DNS the claim needs; empty when the platform manages the domain itself
|
|
118891
|
+
*/
|
|
118499
118892
|
instructions: string[];
|
|
118500
118893
|
}
|
|
118501
118894
|
export interface TrackingDomainsDeleteInput {
|
|
118895
|
+
/**
|
|
118896
|
+
* Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
|
|
118897
|
+
*/
|
|
118502
118898
|
bindingId: string;
|
|
118503
118899
|
}
|
|
118504
118900
|
export interface TrackingDomainsDeleteOutput {
|
|
118901
|
+
/**
|
|
118902
|
+
* Always true — the release succeeded; a failure arrives as an error, not as false
|
|
118903
|
+
*/
|
|
118505
118904
|
ok: true;
|
|
118506
118905
|
}
|
|
118507
118906
|
export interface TrackingDomainsGetInput {
|
|
118907
|
+
/**
|
|
118908
|
+
* Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
|
|
118909
|
+
*/
|
|
118508
118910
|
bindingId: string;
|
|
118509
118911
|
}
|
|
118510
118912
|
export interface TrackingDomainsGetOutput {
|
|
118913
|
+
/**
|
|
118914
|
+
* Fully-qualified tracking host this binding serves, e.g. analytics.example.com
|
|
118915
|
+
*/
|
|
118511
118916
|
host: string;
|
|
118917
|
+
/**
|
|
118918
|
+
* Where the claim stands: `pending` while DNS has not been observed live, `active` once it serves, `failed` when the check gave up
|
|
118919
|
+
*/
|
|
118512
118920
|
status: ("pending" | "active" | "failed");
|
|
118921
|
+
/**
|
|
118922
|
+
* DNS records the platform expects to see published for this host, as returned when the binding was claimed
|
|
118923
|
+
*/
|
|
118513
118924
|
records: unknown[];
|
|
118925
|
+
/**
|
|
118926
|
+
* Product domain this tracking host sits under
|
|
118927
|
+
*/
|
|
118514
118928
|
domainId: string;
|
|
118929
|
+
/**
|
|
118930
|
+
* Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
|
|
118931
|
+
*/
|
|
118515
118932
|
bindingId: string;
|
|
118933
|
+
/**
|
|
118934
|
+
* When the binding was claimed
|
|
118935
|
+
*/
|
|
118516
118936
|
createdAt: string;
|
|
118937
|
+
/**
|
|
118938
|
+
* Product the binding belongs to
|
|
118939
|
+
*/
|
|
118517
118940
|
productId: string;
|
|
118941
|
+
/**
|
|
118942
|
+
* When the binding last changed status or records
|
|
118943
|
+
*/
|
|
118518
118944
|
updatedAt: string;
|
|
118945
|
+
/**
|
|
118946
|
+
* Human-readable reason behind the current status, such as the DNS error that made it fail; null while there is nothing to report
|
|
118947
|
+
*/
|
|
118519
118948
|
statusDetail: (string | null);
|
|
118949
|
+
/**
|
|
118950
|
+
* Extension that claimed the binding; tracking bindings are owned by this toolkit
|
|
118951
|
+
*/
|
|
118520
118952
|
ownerExtension: string;
|
|
118521
118953
|
}
|
|
118522
118954
|
export interface TrackingDomainsListInput {
|
|
118523
118955
|
}
|
|
118524
118956
|
export interface TrackingDomainsListOutput {
|
|
118957
|
+
/**
|
|
118958
|
+
* The product's domains as the platform vouches for them — the set a new tracking host may be claimed under
|
|
118959
|
+
*/
|
|
118525
118960
|
domains: {
|
|
118961
|
+
/**
|
|
118962
|
+
* Who runs the DNS: `managed` means the platform publishes records for you, `external` means you publish them yourself
|
|
118963
|
+
*/
|
|
118526
118964
|
mode: ("external" | "managed");
|
|
118965
|
+
/**
|
|
118966
|
+
* Apex domain name the product owns, e.g. example.com
|
|
118967
|
+
*/
|
|
118527
118968
|
domain: string;
|
|
118969
|
+
/**
|
|
118970
|
+
* Stable platform id of the product domain, and what a claim takes as its `domainId`
|
|
118971
|
+
*/
|
|
118528
118972
|
domainId: string;
|
|
118973
|
+
/**
|
|
118974
|
+
* ISO-8601 timestamp of when the domain was added to the product
|
|
118975
|
+
*/
|
|
118529
118976
|
createdAt: string;
|
|
118977
|
+
/**
|
|
118978
|
+
* How many extensions currently hold a host binding under this domain
|
|
118979
|
+
*/
|
|
118530
118980
|
extensionCount: number;
|
|
118531
118981
|
}[];
|
|
118982
|
+
/**
|
|
118983
|
+
* Tracking-host bindings this toolkit currently holds across those domains
|
|
118984
|
+
*/
|
|
118532
118985
|
bindings: {
|
|
118986
|
+
/**
|
|
118987
|
+
* Fully-qualified tracking host this binding serves, e.g. analytics.example.com
|
|
118988
|
+
*/
|
|
118533
118989
|
host: string;
|
|
118990
|
+
/**
|
|
118991
|
+
* Where the claim stands: `pending` while DNS has not been observed live, `active` once it serves, `failed` when the check gave up
|
|
118992
|
+
*/
|
|
118534
118993
|
status: ("pending" | "active" | "failed");
|
|
118994
|
+
/**
|
|
118995
|
+
* DNS records the platform expects to see published for this host, as returned when the binding was claimed
|
|
118996
|
+
*/
|
|
118535
118997
|
records: unknown[];
|
|
118998
|
+
/**
|
|
118999
|
+
* Product domain this tracking host sits under
|
|
119000
|
+
*/
|
|
118536
119001
|
domainId: string;
|
|
119002
|
+
/**
|
|
119003
|
+
* Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
|
|
119004
|
+
*/
|
|
118537
119005
|
bindingId: string;
|
|
119006
|
+
/**
|
|
119007
|
+
* When the binding was claimed
|
|
119008
|
+
*/
|
|
118538
119009
|
createdAt: string;
|
|
119010
|
+
/**
|
|
119011
|
+
* Product the binding belongs to
|
|
119012
|
+
*/
|
|
118539
119013
|
productId: string;
|
|
119014
|
+
/**
|
|
119015
|
+
* When the binding last changed status or records
|
|
119016
|
+
*/
|
|
118540
119017
|
updatedAt: string;
|
|
119018
|
+
/**
|
|
119019
|
+
* Human-readable reason behind the current status, such as the DNS error that made it fail; null while there is nothing to report
|
|
119020
|
+
*/
|
|
118541
119021
|
statusDetail: (string | null);
|
|
119022
|
+
/**
|
|
119023
|
+
* Extension that claimed the binding; tracking bindings are owned by this toolkit
|
|
119024
|
+
*/
|
|
118542
119025
|
ownerExtension: string;
|
|
118543
119026
|
}[];
|
|
118544
119027
|
}
|
|
118545
119028
|
export interface TrackingDomainsVerifyInput {
|
|
119029
|
+
/**
|
|
119030
|
+
* Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
|
|
119031
|
+
*/
|
|
118546
119032
|
bindingId: string;
|
|
118547
119033
|
}
|
|
118548
119034
|
export interface TrackingDomainsVerifyOutput {
|
|
119035
|
+
/**
|
|
119036
|
+
* Fully-qualified tracking host this binding serves, e.g. analytics.example.com
|
|
119037
|
+
*/
|
|
118549
119038
|
host: string;
|
|
119039
|
+
/**
|
|
119040
|
+
* Where the claim stands: `pending` while DNS has not been observed live, `active` once it serves, `failed` when the check gave up
|
|
119041
|
+
*/
|
|
118550
119042
|
status: ("pending" | "active" | "failed");
|
|
119043
|
+
/**
|
|
119044
|
+
* DNS records the platform expects to see published for this host, as returned when the binding was claimed
|
|
119045
|
+
*/
|
|
118551
119046
|
records: unknown[];
|
|
119047
|
+
/**
|
|
119048
|
+
* Product domain this tracking host sits under
|
|
119049
|
+
*/
|
|
118552
119050
|
domainId: string;
|
|
119051
|
+
/**
|
|
119052
|
+
* Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
|
|
119053
|
+
*/
|
|
118553
119054
|
bindingId: string;
|
|
119055
|
+
/**
|
|
119056
|
+
* When the binding was claimed
|
|
119057
|
+
*/
|
|
118554
119058
|
createdAt: string;
|
|
119059
|
+
/**
|
|
119060
|
+
* Product the binding belongs to
|
|
119061
|
+
*/
|
|
118555
119062
|
productId: string;
|
|
119063
|
+
/**
|
|
119064
|
+
* When the binding last changed status or records
|
|
119065
|
+
*/
|
|
118556
119066
|
updatedAt: string;
|
|
119067
|
+
/**
|
|
119068
|
+
* Human-readable reason behind the current status, such as the DNS error that made it fail; null while there is nothing to report
|
|
119069
|
+
*/
|
|
118557
119070
|
statusDetail: (string | null);
|
|
119071
|
+
/**
|
|
119072
|
+
* Extension that claimed the binding; tracking bindings are owned by this toolkit
|
|
119073
|
+
*/
|
|
118558
119074
|
ownerExtension: string;
|
|
118559
119075
|
}
|
|
118560
119076
|
export interface TrackingEventNamesArchiveInput {
|
|
@@ -118564,7 +119080,13 @@ export interface TrackingEventNamesArchiveInput {
|
|
|
118564
119080
|
name: string;
|
|
118565
119081
|
}
|
|
118566
119082
|
export interface TrackingEventNamesArchiveOutput {
|
|
119083
|
+
/**
|
|
119084
|
+
* Event name whose status was changed
|
|
119085
|
+
*/
|
|
118567
119086
|
name: string;
|
|
119087
|
+
/**
|
|
119088
|
+
* The status as it now stands: `archived` hides the name from pickers and reports, `active` restores it
|
|
119089
|
+
*/
|
|
118568
119090
|
status: ("active" | "archived");
|
|
118569
119091
|
}
|
|
118570
119092
|
export interface TrackingEventNamesListInput {
|
|
@@ -118586,13 +119108,37 @@ export interface TrackingEventNamesListInput {
|
|
|
118586
119108
|
status?: ("active" | "archived");
|
|
118587
119109
|
}
|
|
118588
119110
|
export interface TrackingEventNamesListOutput {
|
|
119111
|
+
/**
|
|
119112
|
+
* The matching catalogue entries, ordered by the requested sort
|
|
119113
|
+
*/
|
|
118589
119114
|
names: {
|
|
119115
|
+
/**
|
|
119116
|
+
* Event name exactly as the tracking script sends it — the string other tools take as their `event`
|
|
119117
|
+
*/
|
|
118590
119118
|
name: string;
|
|
119119
|
+
/**
|
|
119120
|
+
* How many events with this name have been received in total
|
|
119121
|
+
*/
|
|
118591
119122
|
count: number;
|
|
119123
|
+
/**
|
|
119124
|
+
* `active` for a name in use, `archived` for one hidden from pickers and reports
|
|
119125
|
+
*/
|
|
118592
119126
|
status: string;
|
|
119127
|
+
/**
|
|
119128
|
+
* ISO-8601 timestamp of the most recent event received under this name
|
|
119129
|
+
*/
|
|
118593
119130
|
lastSeen: string;
|
|
119131
|
+
/**
|
|
119132
|
+
* ISO-8601 timestamp of the first event ever received under this name
|
|
119133
|
+
*/
|
|
118594
119134
|
firstSeen: string;
|
|
119135
|
+
/**
|
|
119136
|
+
* Property keys sampled from recent events with this name, so you can see what the payload carries
|
|
119137
|
+
*/
|
|
118595
119138
|
propsKeys: string[];
|
|
119139
|
+
/**
|
|
119140
|
+
* Whether this name is marked a conversion, which is what makes it available as a workflow trigger
|
|
119141
|
+
*/
|
|
118596
119142
|
isConversion: boolean;
|
|
118597
119143
|
}[];
|
|
118598
119144
|
}
|
|
@@ -118607,7 +119153,13 @@ export interface TrackingEventNamesSetConversionInput {
|
|
|
118607
119153
|
isConversion: boolean;
|
|
118608
119154
|
}
|
|
118609
119155
|
export interface TrackingEventNamesSetConversionOutput {
|
|
119156
|
+
/**
|
|
119157
|
+
* Event name the conversion flag was applied to
|
|
119158
|
+
*/
|
|
118610
119159
|
name: string;
|
|
119160
|
+
/**
|
|
119161
|
+
* The flag as it now stands after the change
|
|
119162
|
+
*/
|
|
118611
119163
|
isConversion: boolean;
|
|
118612
119164
|
}
|
|
118613
119165
|
export interface TrackingEventNamesUnarchiveInput {
|
|
@@ -118617,20 +119169,44 @@ export interface TrackingEventNamesUnarchiveInput {
|
|
|
118617
119169
|
name: string;
|
|
118618
119170
|
}
|
|
118619
119171
|
export interface TrackingEventNamesUnarchiveOutput {
|
|
119172
|
+
/**
|
|
119173
|
+
* Event name whose status was changed
|
|
119174
|
+
*/
|
|
118620
119175
|
name: string;
|
|
119176
|
+
/**
|
|
119177
|
+
* The status as it now stands: `archived` hides the name from pickers and reports, `active` restores it
|
|
119178
|
+
*/
|
|
118621
119179
|
status: ("active" | "archived");
|
|
118622
119180
|
}
|
|
118623
119181
|
export interface TrackingGoogleadsConnectionStatusInput {
|
|
118624
119182
|
}
|
|
118625
119183
|
export type TrackingGoogleadsConnectionStatusOutput = ({
|
|
119184
|
+
/**
|
|
119185
|
+
* Where the Google Ads connection stands: connected means an account is chosen and its credential works, so the other tools will run.
|
|
119186
|
+
*/
|
|
118626
119187
|
state: "connected";
|
|
119188
|
+
/**
|
|
119189
|
+
* The Google Ads account the data is read from and conversions are written to, as a customer id. Only present while connected.
|
|
119190
|
+
*/
|
|
118627
119191
|
customerId: string;
|
|
119192
|
+
/**
|
|
119193
|
+
* The manager account the connection authenticates through, as a Google customer id. Same as customerId when the account is not managed. Only present while connected.
|
|
119194
|
+
*/
|
|
118628
119195
|
loginCustomerId: string;
|
|
118629
119196
|
} | {
|
|
119197
|
+
/**
|
|
119198
|
+
* Google is authorised but nobody has picked which Google Ads account to use yet, so nothing can run until someone does.
|
|
119199
|
+
*/
|
|
118630
119200
|
state: "pending_account_selection";
|
|
118631
119201
|
} | {
|
|
119202
|
+
/**
|
|
119203
|
+
* The Google authorisation expired or was revoked and has to be granted again before anything can run.
|
|
119204
|
+
*/
|
|
118632
119205
|
state: "reauth_required";
|
|
118633
119206
|
} | {
|
|
119207
|
+
/**
|
|
119208
|
+
* No Google Ads connection has been set up for this product at all.
|
|
119209
|
+
*/
|
|
118634
119210
|
state: "not_connected";
|
|
118635
119211
|
});
|
|
118636
119212
|
export interface TrackingGoogleadsConversionActionsInput {
|
|
@@ -118645,26 +119221,77 @@ export type TrackingGoogleadsConversionActionsOutput = {
|
|
|
118645
119221
|
export interface TrackingGoogleadsFeedbackConfigGetInput {
|
|
118646
119222
|
}
|
|
118647
119223
|
export interface TrackingGoogleadsFeedbackConfigGetOutput {
|
|
119224
|
+
/**
|
|
119225
|
+
* How the uploads coexist with the account's own tag: existing_pixel means the Google tag also records these conversions, so send only to actions the tag does not already cover; fresh_pixel means these uploads are the only source.
|
|
119226
|
+
*/
|
|
118648
119227
|
mode: ("existing_pixel" | "fresh_pixel");
|
|
119228
|
+
/**
|
|
119229
|
+
* Which tracked events become which Google Ads conversion action, and where each one takes its money value from. Disabled rules stay listed.
|
|
119230
|
+
*/
|
|
118649
119231
|
rules: {
|
|
119232
|
+
/**
|
|
119233
|
+
* Tracked event-name this rule uploads, as listed by tracking_event-names_list
|
|
119234
|
+
*/
|
|
118650
119235
|
event: string;
|
|
119236
|
+
/**
|
|
119237
|
+
* What monetary value is reported to Google for each conversion this rule uploads
|
|
119238
|
+
*/
|
|
118651
119239
|
value: ({
|
|
119240
|
+
/**
|
|
119241
|
+
* Where the conversion value comes from: `revenue` uses the net revenue of the subscription, `dynamic` reads the amount carried by the occurrence itself, `fixed` always sends the same amount
|
|
119242
|
+
*/
|
|
118652
119243
|
source: "revenue";
|
|
118653
119244
|
} | {
|
|
119245
|
+
/**
|
|
119246
|
+
* Where the conversion value comes from: `revenue` uses the net revenue of the subscription, `dynamic` reads the amount carried by the occurrence itself, `fixed` always sends the same amount
|
|
119247
|
+
*/
|
|
118654
119248
|
source: "dynamic";
|
|
118655
119249
|
} | {
|
|
119250
|
+
/**
|
|
119251
|
+
* Where the conversion value comes from: `revenue` uses the net revenue of the subscription, `dynamic` reads the amount carried by the occurrence itself, `fixed` always sends the same amount
|
|
119252
|
+
*/
|
|
118656
119253
|
source: "fixed";
|
|
119254
|
+
/**
|
|
119255
|
+
* ISO-4217 currency the fixed amount is denominated in, e.g. USD
|
|
119256
|
+
*/
|
|
118657
119257
|
currency: string;
|
|
119258
|
+
/**
|
|
119259
|
+
* The fixed value in minor units (e.g. cents); 0 means a value-less lead conversion
|
|
119260
|
+
*/
|
|
118658
119261
|
amountMinor: number;
|
|
118659
119262
|
});
|
|
119263
|
+
/**
|
|
119264
|
+
* Whether this single mapping is live; a disabled rule is kept but uploads nothing
|
|
119265
|
+
*/
|
|
118660
119266
|
enabled: boolean;
|
|
119267
|
+
/**
|
|
119268
|
+
* Google conversion action the event is reported as, in the form customers/<cid>/conversionActions/<id>
|
|
119269
|
+
*/
|
|
118661
119270
|
conversionAction: string;
|
|
118662
119271
|
}[];
|
|
119272
|
+
/**
|
|
119273
|
+
* Whether conversions are being sent to Google Ads at all. False leaves every rule below in place but uploads nothing.
|
|
119274
|
+
*/
|
|
118663
119275
|
enabled: boolean;
|
|
119276
|
+
/**
|
|
119277
|
+
* The tenant this configuration belongs to. Never supplied by a caller — it comes from the authenticated identity.
|
|
119278
|
+
*/
|
|
118664
119279
|
productId: string;
|
|
119280
|
+
/**
|
|
119281
|
+
* How many days back each pass looks for conversions to send, and how far back a click may be matched. Google rejects clicks older than about 90 days.
|
|
119282
|
+
*/
|
|
118665
119283
|
lookbackDays: number;
|
|
119284
|
+
/**
|
|
119285
|
+
* Currency of the connected Google Ads account, as a three-letter ISO 4217 code such as EUR. Null when the account could not be read.
|
|
119286
|
+
*/
|
|
118666
119287
|
accountCurrency: (string | null);
|
|
119288
|
+
/**
|
|
119289
|
+
* The event names that may use the Dynamic value source, because revenue is known for them. Any other event needs a fixed amount.
|
|
119290
|
+
*/
|
|
118667
119291
|
dynamicValueEvents: string[];
|
|
119292
|
+
/**
|
|
119293
|
+
* Whether a stored email or phone number is sent alongside the click, so Google can match conversions the click id alone would miss.
|
|
119294
|
+
*/
|
|
118668
119295
|
enhancedConversions: boolean;
|
|
118669
119296
|
}
|
|
118670
119297
|
export interface TrackingGoogleadsFeedbackConfigSetInput {
|
|
@@ -118680,11 +119307,23 @@ export interface TrackingGoogleadsFeedbackConfigSetInput {
|
|
|
118680
119307
|
* Any tracked event-name for this product (validated against the event-name catalog)
|
|
118681
119308
|
*/
|
|
118682
119309
|
event: string;
|
|
119310
|
+
/**
|
|
119311
|
+
* What monetary value to report to Google for each conversion this rule uploads
|
|
119312
|
+
*/
|
|
118683
119313
|
value: ({
|
|
119314
|
+
/**
|
|
119315
|
+
* Where the conversion value comes from: `revenue` uses the net revenue of the subscription, `dynamic` reads the amount carried by the occurrence itself, `fixed` always sends the same amount
|
|
119316
|
+
*/
|
|
118684
119317
|
source: "revenue";
|
|
118685
119318
|
} | {
|
|
119319
|
+
/**
|
|
119320
|
+
* Where the conversion value comes from: `revenue` uses the net revenue of the subscription, `dynamic` reads the amount carried by the occurrence itself, `fixed` always sends the same amount
|
|
119321
|
+
*/
|
|
118686
119322
|
source: "dynamic";
|
|
118687
119323
|
} | {
|
|
119324
|
+
/**
|
|
119325
|
+
* Where the conversion value comes from: `revenue` uses the net revenue of the subscription, `dynamic` reads the amount carried by the occurrence itself, `fixed` always sends the same amount
|
|
119326
|
+
*/
|
|
118688
119327
|
source: "fixed";
|
|
118689
119328
|
/**
|
|
118690
119329
|
* ISO-4217 currency code, e.g. USD
|
|
@@ -118695,6 +119334,9 @@ export interface TrackingGoogleadsFeedbackConfigSetInput {
|
|
|
118695
119334
|
*/
|
|
118696
119335
|
amountMinor?: number;
|
|
118697
119336
|
});
|
|
119337
|
+
/**
|
|
119338
|
+
* Whether this single mapping is live; a disabled rule is kept but uploads nothing
|
|
119339
|
+
*/
|
|
118698
119340
|
enabled: boolean;
|
|
118699
119341
|
/**
|
|
118700
119342
|
* Google conversion action resource: customers/<cid>/conversionActions/<id>
|
|
@@ -118715,65 +119357,209 @@ export interface TrackingGoogleadsFeedbackConfigSetInput {
|
|
|
118715
119357
|
enhancedConversions?: boolean;
|
|
118716
119358
|
}
|
|
118717
119359
|
export interface TrackingGoogleadsFeedbackConfigSetOutput {
|
|
119360
|
+
/**
|
|
119361
|
+
* The config as it now stands after the write, with server-side normalisation applied
|
|
119362
|
+
*/
|
|
118718
119363
|
config: {
|
|
119364
|
+
/**
|
|
119365
|
+
* How our uploads sit beside your own tag: `existing_pixel` only fills gaps it left, `fresh_pixel` reports our data alone
|
|
119366
|
+
*/
|
|
118719
119367
|
mode: ("existing_pixel" | "fresh_pixel");
|
|
119368
|
+
/**
|
|
119369
|
+
* The event-to-conversion-action mappings, each with its own value source
|
|
119370
|
+
*/
|
|
118720
119371
|
rules: {
|
|
119372
|
+
/**
|
|
119373
|
+
* Tracked event-name this rule uploads, as listed by tracking_event-names_list
|
|
119374
|
+
*/
|
|
118721
119375
|
event: string;
|
|
119376
|
+
/**
|
|
119377
|
+
* What monetary value is reported to Google for each conversion this rule uploads
|
|
119378
|
+
*/
|
|
118722
119379
|
value: ({
|
|
119380
|
+
/**
|
|
119381
|
+
* Where the conversion value comes from: `revenue` uses the net revenue of the subscription, `dynamic` reads the amount carried by the occurrence itself, `fixed` always sends the same amount
|
|
119382
|
+
*/
|
|
118723
119383
|
source: "revenue";
|
|
118724
119384
|
} | {
|
|
119385
|
+
/**
|
|
119386
|
+
* Where the conversion value comes from: `revenue` uses the net revenue of the subscription, `dynamic` reads the amount carried by the occurrence itself, `fixed` always sends the same amount
|
|
119387
|
+
*/
|
|
118725
119388
|
source: "dynamic";
|
|
118726
119389
|
} | {
|
|
119390
|
+
/**
|
|
119391
|
+
* Where the conversion value comes from: `revenue` uses the net revenue of the subscription, `dynamic` reads the amount carried by the occurrence itself, `fixed` always sends the same amount
|
|
119392
|
+
*/
|
|
118727
119393
|
source: "fixed";
|
|
119394
|
+
/**
|
|
119395
|
+
* ISO-4217 currency the fixed amount is denominated in, e.g. USD
|
|
119396
|
+
*/
|
|
118728
119397
|
currency: string;
|
|
119398
|
+
/**
|
|
119399
|
+
* The fixed value in minor units (e.g. cents); 0 means a value-less lead conversion
|
|
119400
|
+
*/
|
|
118729
119401
|
amountMinor: number;
|
|
118730
119402
|
});
|
|
119403
|
+
/**
|
|
119404
|
+
* Whether this single mapping is live; a disabled rule is kept but uploads nothing
|
|
119405
|
+
*/
|
|
118731
119406
|
enabled: boolean;
|
|
119407
|
+
/**
|
|
119408
|
+
* Google conversion action the event is reported as, in the form customers/<cid>/conversionActions/<id>
|
|
119409
|
+
*/
|
|
118732
119410
|
conversionAction: string;
|
|
118733
119411
|
}[];
|
|
119412
|
+
/**
|
|
119413
|
+
* Master switch: with it off no rule uploads anything, however the individual rules are set
|
|
119414
|
+
*/
|
|
118734
119415
|
enabled: boolean;
|
|
119416
|
+
/**
|
|
119417
|
+
* Product this conversion-feedback config belongs to
|
|
119418
|
+
*/
|
|
118735
119419
|
productId: string;
|
|
119420
|
+
/**
|
|
119421
|
+
* How many days back a click may have happened and still be matched to a conversion (max 90)
|
|
119422
|
+
*/
|
|
118736
119423
|
lookbackDays: number;
|
|
119424
|
+
/**
|
|
119425
|
+
* The connected Google Ads account's currency, best-effort; null or absent when it could not be read
|
|
119426
|
+
*/
|
|
118737
119427
|
accountCurrency?: (string | null);
|
|
119428
|
+
/**
|
|
119429
|
+
* Whether hashed email and phone are sent alongside gclid as additional match keys, which raises match rates
|
|
119430
|
+
*/
|
|
118738
119431
|
enhancedConversions: boolean;
|
|
118739
119432
|
};
|
|
119433
|
+
/**
|
|
119434
|
+
* Plain-language safety notes about what this combination of mode and match keys will do to the connected account
|
|
119435
|
+
*/
|
|
118740
119436
|
guidance: string[];
|
|
118741
119437
|
}
|
|
118742
119438
|
export interface TrackingGoogleadsFeedbackRunInput {
|
|
118743
119439
|
}
|
|
118744
119440
|
export interface TrackingGoogleadsFeedbackRunOutput {
|
|
119441
|
+
/**
|
|
119442
|
+
* This one upload pass. Match the completion event back to this step on it, not on productId: the daily cron pass and a manual run on the same day are two passes of the same product.
|
|
119443
|
+
*/
|
|
119444
|
+
runId: string;
|
|
119445
|
+
/**
|
|
119446
|
+
* Rows Google rejected in this pass.
|
|
119447
|
+
*/
|
|
118745
119448
|
failed: number;
|
|
119449
|
+
/**
|
|
119450
|
+
* Of those, the ones that had a usable click id and a value, so a payload was actually built for them.
|
|
119451
|
+
*/
|
|
118746
119452
|
matched: number;
|
|
119453
|
+
/**
|
|
119454
|
+
* Conversions dropped because no Google click could be tied to the person. A high count here is a tagging problem, not a Google one.
|
|
119455
|
+
*/
|
|
118747
119456
|
noGclid: number;
|
|
119457
|
+
/**
|
|
119458
|
+
* Present only when the pass did no work, and says why: feedback is switched off, no rule is enabled, or no Google Ads account is connected. Absent on a pass that ran.
|
|
119459
|
+
*/
|
|
118748
119460
|
skipped?: ("disabled" | "no_rules" | "not_connected");
|
|
119461
|
+
/**
|
|
119462
|
+
* Conversions in the lookback window that an enabled rule applied to.
|
|
119463
|
+
*/
|
|
118749
119464
|
selected: number;
|
|
119465
|
+
/**
|
|
119466
|
+
* Rows Google accepted in this pass.
|
|
119467
|
+
*/
|
|
118750
119468
|
uploaded: number;
|
|
119469
|
+
/**
|
|
119470
|
+
* The tenant whose conversions this pass uploaded.
|
|
119471
|
+
*/
|
|
118751
119472
|
productId: string;
|
|
119473
|
+
/**
|
|
119474
|
+
* Conversions held back because their money value had not landed yet. They are retried on a later pass.
|
|
119475
|
+
*/
|
|
118752
119476
|
zeroValue: number;
|
|
118753
|
-
|
|
119477
|
+
/**
|
|
119478
|
+
* Google's own rejection detail, passed through unchanged, when it refused part of the batch. Absent when it accepted everything.
|
|
119479
|
+
*/
|
|
119480
|
+
partialFailureError?: {
|
|
119481
|
+
[k: string]: unknown;
|
|
119482
|
+
};
|
|
118754
119483
|
}
|
|
118755
119484
|
export interface TrackingGoogleadsFeedbackStatusInput {
|
|
118756
119485
|
}
|
|
118757
119486
|
export interface TrackingGoogleadsFeedbackStatusOutput {
|
|
119487
|
+
/**
|
|
119488
|
+
* How the uploads coexist with the account's own tag: existing_pixel means the Google tag also records these conversions; fresh_pixel means these uploads are the only source.
|
|
119489
|
+
*/
|
|
118758
119490
|
mode: ("existing_pixel" | "fresh_pixel");
|
|
119491
|
+
/**
|
|
119492
|
+
* Rows Google has rejected since this product was connected, across every pass.
|
|
119493
|
+
*/
|
|
118759
119494
|
failed: number;
|
|
119495
|
+
/**
|
|
119496
|
+
* Whether conversions are being sent to Google Ads at all.
|
|
119497
|
+
*/
|
|
118760
119498
|
enabled: boolean;
|
|
119499
|
+
/**
|
|
119500
|
+
* Coverage of the most recent pass. Null when no pass has run for this product yet.
|
|
119501
|
+
*/
|
|
118761
119502
|
lastRun: ({
|
|
119503
|
+
/**
|
|
119504
|
+
* When the last pass finished. Null when the stored summary predates this field.
|
|
119505
|
+
*/
|
|
118762
119506
|
ranAt: (string | null);
|
|
119507
|
+
/**
|
|
119508
|
+
* Rows Google rejected. Anything above zero is what makes the status partial.
|
|
119509
|
+
*/
|
|
118763
119510
|
failed: number;
|
|
119511
|
+
/**
|
|
119512
|
+
* How the pass ended: ok is a clean pass, partial means Google rejected some rows and accepted others, not_connected means no Google Ads account was reachable and nothing was sent.
|
|
119513
|
+
*/
|
|
118764
119514
|
status: ("ok" | "partial" | "not_connected");
|
|
119515
|
+
/**
|
|
119516
|
+
* Of those, the ones that had a usable click id and a value, so a payload was actually built for them.
|
|
119517
|
+
*/
|
|
118765
119518
|
matched: number;
|
|
119519
|
+
/**
|
|
119520
|
+
* Conversions dropped because no Google click could be tied to the person. A high count here is a tagging problem, not a Google one.
|
|
119521
|
+
*/
|
|
118766
119522
|
noGclid: number;
|
|
119523
|
+
/**
|
|
119524
|
+
* Conversions in the lookback window that an enabled rule applied to.
|
|
119525
|
+
*/
|
|
118767
119526
|
selected: number;
|
|
119527
|
+
/**
|
|
119528
|
+
* Rows Google accepted.
|
|
119529
|
+
*/
|
|
118768
119530
|
uploaded: number;
|
|
119531
|
+
/**
|
|
119532
|
+
* Conversions held back because their money value had not landed yet. They are retried on a later pass.
|
|
119533
|
+
*/
|
|
118769
119534
|
zeroValue: number;
|
|
118770
119535
|
} | null);
|
|
119536
|
+
/**
|
|
119537
|
+
* Plain-language warnings about the current setup, such as double counting when the Google tag already records the same conversion. Empty when nothing needs saying.
|
|
119538
|
+
*/
|
|
118771
119539
|
guidance: string[];
|
|
119540
|
+
/**
|
|
119541
|
+
* Rows Google has accepted since this product was connected, across every pass.
|
|
119542
|
+
*/
|
|
118772
119543
|
uploaded: number;
|
|
119544
|
+
/**
|
|
119545
|
+
* How many event-to-conversion-action rules are configured, enabled or not.
|
|
119546
|
+
*/
|
|
118773
119547
|
ruleCount: number;
|
|
119548
|
+
/**
|
|
119549
|
+
* How many days back each pass looks for conversions to send, and how far back a click may be matched.
|
|
119550
|
+
*/
|
|
118774
119551
|
lookbackDays: number;
|
|
119552
|
+
/**
|
|
119553
|
+
* Currency of the connected Google Ads account, as a three-letter ISO 4217 code such as EUR. Null when the account could not be read.
|
|
119554
|
+
*/
|
|
118775
119555
|
accountCurrency: (string | null);
|
|
119556
|
+
/**
|
|
119557
|
+
* The event names that may use the Dynamic value source, because revenue is known for them.
|
|
119558
|
+
*/
|
|
118776
119559
|
dynamicValueEvents: string[];
|
|
119560
|
+
/**
|
|
119561
|
+
* Whether a stored email or phone number is sent alongside the click, so Google can match conversions the click id alone would miss.
|
|
119562
|
+
*/
|
|
118777
119563
|
enhancedConversions: boolean;
|
|
118778
119564
|
}
|
|
118779
119565
|
export interface TrackingGoogleadsFeedbackUploadsInput {
|
|
@@ -118792,84 +119578,293 @@ export type TrackingGoogleadsFeedbackUploadsOutput = {
|
|
|
118792
119578
|
conversionDatetime: string;
|
|
118793
119579
|
}[];
|
|
118794
119580
|
export interface TrackingGoogleadsRoasReportInput {
|
|
118795
|
-
|
|
118796
|
-
|
|
119581
|
+
/**
|
|
119582
|
+
* End of the reporting window, inclusive. ISO-8601 date or timestamp; a date-only value covers that whole day, so revenue after midnight is not cut off. Omit to end now.
|
|
119583
|
+
*/
|
|
119584
|
+
to?: string;
|
|
119585
|
+
/**
|
|
119586
|
+
* Start of the reporting window, inclusive. ISO-8601 date or timestamp, e.g. 2026-01-01. Omit to start 30 days before the end of the window.
|
|
119587
|
+
*/
|
|
119588
|
+
from?: string;
|
|
119589
|
+
/**
|
|
119590
|
+
* Which touchpoint gets the credit for a conversion: the last paid click before it, or the first. Defaults to last_click.
|
|
119591
|
+
*/
|
|
118797
119592
|
model?: ("last_click" | "first_click");
|
|
119593
|
+
/**
|
|
119594
|
+
* Restrict to conversions tracked on this installed site, e.g. acme.com. Omit to cover every domain of the product.
|
|
119595
|
+
*/
|
|
118798
119596
|
domain?: string;
|
|
119597
|
+
/**
|
|
119598
|
+
* Restrict to one Google Ads account, by its customer id without dashes. Omit to cover every connected account.
|
|
119599
|
+
*/
|
|
118799
119600
|
customerId?: string;
|
|
119601
|
+
/**
|
|
119602
|
+
* How far back before a conversion a paid click may sit and still earn the credit, in days. 1-365, silently clamped into that range; defaults to 30.
|
|
119603
|
+
*/
|
|
118800
119604
|
lookbackDays?: number;
|
|
118801
119605
|
}
|
|
118802
119606
|
export interface TrackingGoogleadsRoasReportOutput {
|
|
119607
|
+
/**
|
|
119608
|
+
* End of the window this report covers, echoed back as an ISO-8601 UTC timestamp.
|
|
119609
|
+
*/
|
|
118803
119610
|
to: string;
|
|
119611
|
+
/**
|
|
119612
|
+
* Start of the window this report covers, echoed back as an ISO-8601 UTC timestamp.
|
|
119613
|
+
*/
|
|
118804
119614
|
from: string;
|
|
119615
|
+
/**
|
|
119616
|
+
* Which touchpoint earned the credit in these numbers: the last paid click before the conversion, or the first.
|
|
119617
|
+
*/
|
|
118805
119618
|
model: ("last_click" | "first_click");
|
|
119619
|
+
/**
|
|
119620
|
+
* True when any account below is running on cost older than the freshness threshold, or on no cost at all — read this before acting on the numbers.
|
|
119621
|
+
*/
|
|
119622
|
+
stale: boolean;
|
|
119623
|
+
/**
|
|
119624
|
+
* The installed site this report was restricted to; null when it covers every domain of the product.
|
|
119625
|
+
*/
|
|
118806
119626
|
domain: (string | null);
|
|
119627
|
+
/**
|
|
119628
|
+
* One entry per Google Ads account and currency. Kept apart on purpose: amounts in different currencies are never added together.
|
|
119629
|
+
*/
|
|
118807
119630
|
accounts: {
|
|
119631
|
+
/**
|
|
119632
|
+
* True when this account's cost is older than the freshness threshold, or was never pulled — the ROAS below is then built on outdated spend.
|
|
119633
|
+
*/
|
|
118808
119634
|
stale: boolean;
|
|
119635
|
+
/**
|
|
119636
|
+
* ISO-4217 code every amount under this account is expressed in, e.g. USD. One account appears once per currency its cost was booked in.
|
|
119637
|
+
*/
|
|
118809
119638
|
currency: string;
|
|
119639
|
+
/**
|
|
119640
|
+
* This account's campaigns, each with its ad groups and ads nested underneath.
|
|
119641
|
+
*/
|
|
118810
119642
|
campaigns: TrackingGoogleadsRoasReportOutputItems[];
|
|
119643
|
+
/**
|
|
119644
|
+
* Google Ads account these campaigns belong to, by customer id without dashes.
|
|
119645
|
+
*/
|
|
118811
119646
|
customerId: string;
|
|
119647
|
+
/**
|
|
119648
|
+
* When cost was last pulled from Google Ads for this account (ISO-8601 UTC); null when it has never been pulled.
|
|
119649
|
+
*/
|
|
118812
119650
|
costLastSyncedAt: (string | null);
|
|
118813
119651
|
}[];
|
|
119652
|
+
/**
|
|
119653
|
+
* ISO-4217 code every amount in this report is expressed in, when all accounts share one; null when the report spans several currencies.
|
|
119654
|
+
*/
|
|
119655
|
+
currency: (string | null);
|
|
119656
|
+
/**
|
|
119657
|
+
* When this report was calculated (ISO-8601 UTC). The figures are a snapshot at this moment, not live.
|
|
119658
|
+
*/
|
|
118814
119659
|
computedAt: string;
|
|
119660
|
+
/**
|
|
119661
|
+
* Google Ads account this whole report covers, when it covers exactly one; null when it spans several accounts.
|
|
119662
|
+
*/
|
|
119663
|
+
customerId: (string | null);
|
|
119664
|
+
/**
|
|
119665
|
+
* How far back before a conversion a paid click was allowed to sit and still earn the credit, in days.
|
|
119666
|
+
*/
|
|
118815
119667
|
lookbackDays: number;
|
|
119668
|
+
/**
|
|
119669
|
+
* Oldest moment cost was pulled from Google Ads across the accounts below (ISO-8601 UTC); null when any account has never synced.
|
|
119670
|
+
*/
|
|
119671
|
+
costLastSyncedAt: (string | null);
|
|
119672
|
+
/**
|
|
119673
|
+
* Revenue we tracked but could not tie to any Google Ads campaign, grouped by the utm_campaign we saw. A long list here means the ad tagging needs fixing, not that the ads failed.
|
|
119674
|
+
*/
|
|
118816
119675
|
unmatchedAttributed: {
|
|
119676
|
+
/**
|
|
119677
|
+
* Revenue that stayed outside every campaign, one row per currency. Never cross-summed.
|
|
119678
|
+
*/
|
|
118817
119679
|
revenue: TrackingGoogleadsRoasReportOutputItems1[];
|
|
119680
|
+
/**
|
|
119681
|
+
* How many distinct customers paid but could not be traced to any Google Ads campaign.
|
|
119682
|
+
*/
|
|
118818
119683
|
conversions: number;
|
|
119684
|
+
/**
|
|
119685
|
+
* The utm_campaign value we saw on the visit, which matched no Google Ads campaign; null when the visit carried none. This is the diagnostic: fix the tagging and the revenue moves into a campaign.
|
|
119686
|
+
*/
|
|
118819
119687
|
utmCampaign: (string | null);
|
|
118820
119688
|
}[];
|
|
118821
119689
|
}
|
|
118822
119690
|
export interface TrackingGoogleadsRoasReportOutputItems {
|
|
119691
|
+
/**
|
|
119692
|
+
* What one attributed customer cost: cost divided by attributed conversions, in minor units of the account currency. null when there were no attributed conversions.
|
|
119693
|
+
*/
|
|
118823
119694
|
cpa: (number | null);
|
|
119695
|
+
/**
|
|
119696
|
+
* Google Ads ad this node is, by its numeric id; null on a campaign or ad group node.
|
|
119697
|
+
*/
|
|
118824
119698
|
adId: (string | null);
|
|
119699
|
+
/**
|
|
119700
|
+
* What Google charged and what Google itself counted for this node over the window.
|
|
119701
|
+
*/
|
|
118825
119702
|
cost: {
|
|
119703
|
+
/**
|
|
119704
|
+
* How many times someone clicked through from Google over the window.
|
|
119705
|
+
*/
|
|
118826
119706
|
clicks: number;
|
|
119707
|
+
/**
|
|
119708
|
+
* ISO-4217 code of the Google Ads account these numbers come from, e.g. USD. Fixed per account.
|
|
119709
|
+
*/
|
|
118827
119710
|
currency: string;
|
|
119711
|
+
/**
|
|
119712
|
+
* What Google charged for this campaign, ad group or ad over the window, in minor units (1250 = 12.50).
|
|
119713
|
+
*/
|
|
118828
119714
|
costMinor: number;
|
|
119715
|
+
/**
|
|
119716
|
+
* How many times Google showed this ad over the window.
|
|
119717
|
+
*/
|
|
118829
119718
|
impressions: number;
|
|
119719
|
+
/**
|
|
119720
|
+
* Conversions GOOGLE counted for this node — its own attribution, not ours. May be fractional, because Google splits credit across touchpoints.
|
|
119721
|
+
*/
|
|
118830
119722
|
platformConversions: number;
|
|
119723
|
+
/**
|
|
119724
|
+
* Conversion value GOOGLE reports for this node, in minor units of the account currency. Compare it with our attributed revenue; the two rarely agree.
|
|
119725
|
+
*/
|
|
118831
119726
|
platformConversionsValueMinor: number;
|
|
118832
119727
|
};
|
|
119728
|
+
/**
|
|
119729
|
+
* What this campaign, ad group or ad is called in Google Ads; null when the name has not been synced.
|
|
119730
|
+
*/
|
|
118833
119731
|
name: (string | null);
|
|
119732
|
+
/**
|
|
119733
|
+
* Return on ad spend: our net attributed revenue divided by cost, both in the account currency. A plain ratio, not a percentage — 2.4 means 2.40 back per 1.00 spent. null when cost is 0 or nothing was attributed.
|
|
119734
|
+
*/
|
|
118834
119735
|
roas: (number | null);
|
|
119736
|
+
/**
|
|
119737
|
+
* How deep in the Google Ads hierarchy this node sits. Attributed revenue, ROAS and CPA exist at campaign level only; cost exists at all three.
|
|
119738
|
+
*/
|
|
118835
119739
|
level: ("campaign" | "ad_group" | "ad");
|
|
119740
|
+
/**
|
|
119741
|
+
* Google Ads campaign state, passed through raw: ENABLED, PAUSED, REMOVED. Present on campaign nodes only — the key is absent below.
|
|
119742
|
+
*/
|
|
118836
119743
|
status?: string;
|
|
119744
|
+
/**
|
|
119745
|
+
* The level below this one: ad groups under a campaign, ads under an ad group, empty on an ad.
|
|
119746
|
+
*/
|
|
118837
119747
|
children: TrackingGoogleadsRoasReportOutputItems[];
|
|
119748
|
+
/**
|
|
119749
|
+
* Google Ads ad group this node belongs to, by its numeric id; null on a campaign node.
|
|
119750
|
+
*/
|
|
118838
119751
|
adGroupId: (string | null);
|
|
119752
|
+
/**
|
|
119753
|
+
* What WE traced back to this node from our own tracking. null below campaign level, and null on a campaign nothing was traced to.
|
|
119754
|
+
*/
|
|
118839
119755
|
attributed: ({
|
|
119756
|
+
/**
|
|
119757
|
+
* What WE traced back to this campaign, one row per currency the customers paid in. Never cross-summed — use accountCurrencyNetMinor for a single figure.
|
|
119758
|
+
*/
|
|
118840
119759
|
revenue: TrackingGoogleadsRoasReportOutputItems1[];
|
|
118841
|
-
|
|
119760
|
+
/**
|
|
119761
|
+
* Which key actually joined this revenue to the Google campaign, strongest first: lt_campaign_id (the id our own tracking template stamps on the landing URL), campaign_id (the id inside utm_campaign), campaign_name (the campaign name inside utm_campaign, a guess), gclid (the click id). null means the join key is unknown; treat campaign_name as the weakest evidence.
|
|
119762
|
+
*/
|
|
119763
|
+
matchedBy: (("lt_campaign_id" | "campaign_id" | "campaign_name" | "gclid") | null);
|
|
119764
|
+
/**
|
|
119765
|
+
* How many distinct customers we traced back to this campaign over the window. Whole numbers: we give a conversion to one campaign, we never split it.
|
|
119766
|
+
*/
|
|
118842
119767
|
conversions: number;
|
|
119768
|
+
/**
|
|
119769
|
+
* Our net attributed revenue in the account currency alone, in minor units. 0 when nobody paid in that currency. This is the ROAS numerator, and the single-value answer beside the revenue list.
|
|
119770
|
+
*/
|
|
118843
119771
|
accountCurrencyNetMinor: number;
|
|
118844
119772
|
} | null);
|
|
119773
|
+
/**
|
|
119774
|
+
* Google Ads campaign this node belongs to, by its numeric id. Set at every level.
|
|
119775
|
+
*/
|
|
118845
119776
|
campaignId: string;
|
|
119777
|
+
/**
|
|
119778
|
+
* Google Ads account this node belongs to, by customer id without dashes.
|
|
119779
|
+
*/
|
|
118846
119780
|
customerId: string;
|
|
119781
|
+
/**
|
|
119782
|
+
* Where Google ran the campaign, passed through raw: SEARCH, DISPLAY, VIDEO, PERFORMANCE_MAX and so on. Present on campaign nodes only, and may be null there.
|
|
119783
|
+
*/
|
|
118847
119784
|
channelType?: (string | null);
|
|
118848
119785
|
}
|
|
118849
119786
|
export interface TrackingGoogleadsRoasReportOutputItems1 {
|
|
119787
|
+
/**
|
|
119788
|
+
* ISO-4217 code the three amounts on this row are denominated in, e.g. USD. One row per currency; rows are never added together.
|
|
119789
|
+
*/
|
|
118850
119790
|
currency: string;
|
|
119791
|
+
/**
|
|
119792
|
+
* Money kept after refunds (gross minus refunded), in minor units of this row's currency. This is what ROAS is calculated from.
|
|
119793
|
+
*/
|
|
118851
119794
|
netMinor: number;
|
|
119795
|
+
/**
|
|
119796
|
+
* Money taken before refunds, in minor units of this row's currency (1250 = 12.50).
|
|
119797
|
+
*/
|
|
118852
119798
|
grossMinor: number;
|
|
119799
|
+
/**
|
|
119800
|
+
* Money given back within the window, in minor units of this row's currency; already subtracted from netMinor.
|
|
119801
|
+
*/
|
|
118853
119802
|
refundedMinor: number;
|
|
118854
119803
|
}
|
|
118855
119804
|
export interface TrackingGoogleadsSyncNowInput {
|
|
118856
119805
|
}
|
|
118857
119806
|
export interface TrackingGoogleadsSyncNowOutput {
|
|
119807
|
+
/**
|
|
119808
|
+
* How much this sweep wrote, split by what it wrote. Re-running the same window updates rows in place rather than adding, so these are rows touched, not rows gained. All zero when the status is skipped.
|
|
119809
|
+
*/
|
|
118858
119810
|
rows: {
|
|
119811
|
+
/**
|
|
119812
|
+
* Ads written.
|
|
119813
|
+
*/
|
|
118859
119814
|
ads: number;
|
|
119815
|
+
/**
|
|
119816
|
+
* Day-by-day ad spend and metric rows written.
|
|
119817
|
+
*/
|
|
118860
119818
|
adDaily: number;
|
|
119819
|
+
/**
|
|
119820
|
+
* Ad groups written.
|
|
119821
|
+
*/
|
|
118861
119822
|
adGroups: number;
|
|
119823
|
+
/**
|
|
119824
|
+
* Campaigns written, names and status included.
|
|
119825
|
+
*/
|
|
118862
119826
|
campaigns: number;
|
|
119827
|
+
/**
|
|
119828
|
+
* Day-by-day ad-group spend and metric rows written.
|
|
119829
|
+
*/
|
|
118863
119830
|
adGroupDaily: number;
|
|
119831
|
+
/**
|
|
119832
|
+
* Day-by-day campaign spend and metric rows written.
|
|
119833
|
+
*/
|
|
118864
119834
|
campaignDaily: number;
|
|
118865
119835
|
};
|
|
119836
|
+
/**
|
|
119837
|
+
* This one sync run. Match the completion event back to this step on it, not on productId: a product syncs many times, and the daily cron run and a manual one are different runs.
|
|
119838
|
+
*/
|
|
119839
|
+
runId: string;
|
|
119840
|
+
/**
|
|
119841
|
+
* Why nothing was written, when the status is skipped: the account is not chosen yet, the authorisation expired, or Google was unavailable. Absent on a sweep that ran.
|
|
119842
|
+
*/
|
|
118866
119843
|
reason?: string;
|
|
119844
|
+
/**
|
|
119845
|
+
* Whether the sweep ran. skipped means the Google Ads account could not be reached and nothing at all was written.
|
|
119846
|
+
*/
|
|
118867
119847
|
status: ("ok" | "skipped");
|
|
119848
|
+
/**
|
|
119849
|
+
* The range of days this sweep read spend and metrics for.
|
|
119850
|
+
*/
|
|
118868
119851
|
window: {
|
|
119852
|
+
/**
|
|
119853
|
+
* Last day covered, inclusive, as YYYY-MM-DD.
|
|
119854
|
+
*/
|
|
118869
119855
|
end: string;
|
|
119856
|
+
/**
|
|
119857
|
+
* First day covered, inclusive, as YYYY-MM-DD.
|
|
119858
|
+
*/
|
|
118870
119859
|
start: string;
|
|
118871
119860
|
};
|
|
119861
|
+
/**
|
|
119862
|
+
* The tenant whose Google Ads account was swept.
|
|
119863
|
+
*/
|
|
118872
119864
|
productId: string;
|
|
119865
|
+
/**
|
|
119866
|
+
* When the sweep finished. Null when nothing was written.
|
|
119867
|
+
*/
|
|
118873
119868
|
lastSyncedAt: (string | null);
|
|
118874
119869
|
}
|
|
118875
119870
|
export interface TrackingGoogleadsTrackingHealthInput {
|
|
@@ -118883,61 +119878,212 @@ export interface TrackingGoogleadsTrackingHealthInput {
|
|
|
118883
119878
|
from?: string;
|
|
118884
119879
|
}
|
|
118885
119880
|
export interface TrackingGoogleadsTrackingHealthOutput {
|
|
119881
|
+
/**
|
|
119882
|
+
* End of the range these figures cover, as an instant.
|
|
119883
|
+
*/
|
|
118886
119884
|
to: string;
|
|
119885
|
+
/**
|
|
119886
|
+
* Start of the range these figures cover, as an instant. Echoes back the range that was asked for.
|
|
119887
|
+
*/
|
|
118887
119888
|
from: string;
|
|
119889
|
+
/**
|
|
119890
|
+
* Whether the tracking template has been seen working live: true once at least one tagged click has arrived.
|
|
119891
|
+
*/
|
|
118888
119892
|
installed: boolean;
|
|
119893
|
+
/**
|
|
119894
|
+
* Whether the sample above was cut short. True means more untagged URLs exist than are listed.
|
|
119895
|
+
*/
|
|
118889
119896
|
truncated: boolean;
|
|
119897
|
+
/**
|
|
119898
|
+
* Google paid clicks that arrived on the site in this range. The denominator for everything below.
|
|
119899
|
+
*/
|
|
118890
119900
|
paidClicks: number;
|
|
119901
|
+
/**
|
|
119902
|
+
* How complete the figures above are. Holds no metric of its own — it exists so the breakage rate is not read as one uniform population.
|
|
119903
|
+
*/
|
|
118891
119904
|
dataQuality: {
|
|
119905
|
+
/**
|
|
119906
|
+
* Paid clicks from visitors who declined consent. Counted inside paidClicks, never added to it — a cookieless click is a real click. Clicks from sites running no consent banner are not counted here: nobody was asked, which is not the same as being told no.
|
|
119907
|
+
*/
|
|
118892
119908
|
cookielessPaidClicks: number;
|
|
118893
119909
|
};
|
|
119910
|
+
/**
|
|
119911
|
+
* Share of paid clicks that arrived untagged, between 0 and 1. Anything much above zero means the tracking template needs fixing.
|
|
119912
|
+
*/
|
|
118894
119913
|
breakageRate: number;
|
|
119914
|
+
/**
|
|
119915
|
+
* Of those, the ones that arrived carrying our URL tracking parameters, so the campaign behind them is known.
|
|
119916
|
+
*/
|
|
118895
119917
|
taggedClicks: number;
|
|
119918
|
+
/**
|
|
119919
|
+
* When the most recent untagged click arrived. Close to now means the breakage is still live. Null when none did.
|
|
119920
|
+
*/
|
|
118896
119921
|
lastUntaggedAt: (string | null);
|
|
119922
|
+
/**
|
|
119923
|
+
* Of those, the ones that arrived without our parameters, so the money spent on them cannot be attributed. This is what the tracking template being missing or broken looks like.
|
|
119924
|
+
*/
|
|
118897
119925
|
untaggedClicks: number;
|
|
119926
|
+
/**
|
|
119927
|
+
* When the first untagged click of the range arrived — roughly when the breakage started. Null when none did.
|
|
119928
|
+
*/
|
|
118898
119929
|
firstUntaggedAt: (string | null);
|
|
119930
|
+
/**
|
|
119931
|
+
* A handful of the actual landing URLs that arrived untagged, to paste into a browser while fixing the template. Real customer URLs, query strings included.
|
|
119932
|
+
*/
|
|
118899
119933
|
sampleUntaggedUrls: string[];
|
|
118900
119934
|
}
|
|
118901
119935
|
export interface TrackingGoogleadsUsVsPlatformInput {
|
|
118902
|
-
|
|
118903
|
-
|
|
119936
|
+
/**
|
|
119937
|
+
* End of the reporting window, inclusive. ISO-8601 date or timestamp; a date-only value covers that whole day, so revenue after midnight is not cut off. Omit to end now.
|
|
119938
|
+
*/
|
|
119939
|
+
to?: string;
|
|
119940
|
+
/**
|
|
119941
|
+
* Start of the reporting window, inclusive. ISO-8601 date or timestamp, e.g. 2026-01-01. Omit to start 30 days before the end of the window.
|
|
119942
|
+
*/
|
|
119943
|
+
from?: string;
|
|
119944
|
+
/**
|
|
119945
|
+
* Which touchpoint gets the credit for a conversion: the last paid click before it, or the first. Defaults to last_click.
|
|
119946
|
+
*/
|
|
118904
119947
|
model?: ("last_click" | "first_click");
|
|
119948
|
+
/**
|
|
119949
|
+
* Restrict to conversions tracked on this installed site, e.g. acme.com. Omit to cover every domain of the product.
|
|
119950
|
+
*/
|
|
118905
119951
|
domain?: string;
|
|
119952
|
+
/**
|
|
119953
|
+
* Restrict to one Google Ads account, by its customer id without dashes. Omit to cover every connected account.
|
|
119954
|
+
*/
|
|
118906
119955
|
customerId?: string;
|
|
119956
|
+
/**
|
|
119957
|
+
* How far back before a conversion a paid click may sit and still earn the credit, in days. 1-365, silently clamped into that range; defaults to 30.
|
|
119958
|
+
*/
|
|
118907
119959
|
lookbackDays?: number;
|
|
118908
119960
|
}
|
|
118909
119961
|
export interface TrackingGoogleadsUsVsPlatformOutput {
|
|
119962
|
+
/**
|
|
119963
|
+
* End of the window this comparison covers, echoed back as an ISO-8601 UTC timestamp.
|
|
119964
|
+
*/
|
|
118910
119965
|
to: string;
|
|
119966
|
+
/**
|
|
119967
|
+
* Start of the window this comparison covers, echoed back as an ISO-8601 UTC timestamp.
|
|
119968
|
+
*/
|
|
118911
119969
|
from: string;
|
|
119970
|
+
/**
|
|
119971
|
+
* Which touchpoint earned the credit on OUR side of the comparison: the last paid click before the conversion, or the first. Google always uses its own model.
|
|
119972
|
+
*/
|
|
118912
119973
|
model: ("last_click" | "first_click");
|
|
119974
|
+
/**
|
|
119975
|
+
* True when any account below is running on cost older than the freshness threshold, or on no cost at all — read this before acting on the numbers.
|
|
119976
|
+
*/
|
|
119977
|
+
stale: boolean;
|
|
119978
|
+
/**
|
|
119979
|
+
* The installed site this comparison was restricted to; null when it covers every domain of the product.
|
|
119980
|
+
*/
|
|
118913
119981
|
domain: (string | null);
|
|
119982
|
+
/**
|
|
119983
|
+
* One entry per Google Ads account and currency, each holding its per-campaign comparison rows. Currencies are never added together.
|
|
119984
|
+
*/
|
|
118914
119985
|
accounts: {
|
|
119986
|
+
/**
|
|
119987
|
+
* One row per campaign in this account, ours beside Google's.
|
|
119988
|
+
*/
|
|
118915
119989
|
rows: {
|
|
119990
|
+
/**
|
|
119991
|
+
* What this campaign is called in Google Ads; null when the name has not been synced.
|
|
119992
|
+
*/
|
|
118916
119993
|
name: (string | null);
|
|
119994
|
+
/**
|
|
119995
|
+
* ISO-4217 code both sides of this comparison are expressed in, e.g. USD. Ours and Google's are never converted.
|
|
119996
|
+
*/
|
|
118917
119997
|
currency: string;
|
|
119998
|
+
/**
|
|
119999
|
+
* The Google Ads campaign this row compares, by its numeric id.
|
|
120000
|
+
*/
|
|
118918
120001
|
campaignId: string;
|
|
120002
|
+
/**
|
|
120003
|
+
* Google Ads account this campaign belongs to, by customer id without dashes.
|
|
120004
|
+
*/
|
|
118919
120005
|
customerId: string;
|
|
120006
|
+
/**
|
|
120007
|
+
* How many distinct customers WE traced to this campaign. A whole number: we never split a customer across campaigns.
|
|
120008
|
+
*/
|
|
118920
120009
|
ourConversions: number;
|
|
120010
|
+
/**
|
|
120011
|
+
* Net revenue WE traced to this campaign, in minor units of the account currency (1250 = 12.50). 0 when we traced none.
|
|
120012
|
+
*/
|
|
118921
120013
|
ourRevenueNetMinor: number;
|
|
120014
|
+
/**
|
|
120015
|
+
* Conversions GOOGLE counted for the same campaign. May be fractional, because Google splits credit across touchpoints — which is the usual reason the two sides disagree.
|
|
120016
|
+
*/
|
|
118922
120017
|
platformConversions: number;
|
|
120018
|
+
/**
|
|
120019
|
+
* Conversion value GOOGLE reports for the same campaign, in minor units of the account currency. The counterpart of ourRevenueNetMinor.
|
|
120020
|
+
*/
|
|
118923
120021
|
platformConversionsValueMinor: number;
|
|
118924
120022
|
}[];
|
|
120023
|
+
/**
|
|
120024
|
+
* True when this account's Google-side numbers are older than the freshness threshold, or were never pulled — the comparison is then unfair to one side.
|
|
120025
|
+
*/
|
|
118925
120026
|
stale: boolean;
|
|
120027
|
+
/**
|
|
120028
|
+
* ISO-4217 code every amount under this account is expressed in, e.g. USD. One account appears once per currency its cost was booked in.
|
|
120029
|
+
*/
|
|
118926
120030
|
currency: string;
|
|
120031
|
+
/**
|
|
120032
|
+
* Google Ads account these comparison rows belong to, by customer id without dashes.
|
|
120033
|
+
*/
|
|
118927
120034
|
customerId: string;
|
|
120035
|
+
/**
|
|
120036
|
+
* When cost was last pulled from Google Ads for this account (ISO-8601 UTC); null when it has never been pulled.
|
|
120037
|
+
*/
|
|
118928
120038
|
costLastSyncedAt: (string | null);
|
|
118929
120039
|
}[];
|
|
120040
|
+
/**
|
|
120041
|
+
* ISO-4217 code every amount in this report is expressed in, when all accounts share one; null when the report spans several currencies.
|
|
120042
|
+
*/
|
|
120043
|
+
currency: (string | null);
|
|
120044
|
+
/**
|
|
120045
|
+
* When this comparison was calculated (ISO-8601 UTC). The figures are a snapshot at this moment, not live.
|
|
120046
|
+
*/
|
|
118930
120047
|
computedAt: string;
|
|
120048
|
+
/**
|
|
120049
|
+
* Google Ads account this whole report covers, when it covers exactly one; null when it spans several accounts.
|
|
120050
|
+
*/
|
|
120051
|
+
customerId: (string | null);
|
|
120052
|
+
/**
|
|
120053
|
+
* How far back before a conversion a paid click was allowed to sit and still earn the credit on our side, in days.
|
|
120054
|
+
*/
|
|
118931
120055
|
lookbackDays: number;
|
|
120056
|
+
/**
|
|
120057
|
+
* Oldest moment cost was pulled from Google Ads across the accounts below (ISO-8601 UTC); null when any account has never synced.
|
|
120058
|
+
*/
|
|
120059
|
+
costLastSyncedAt: (string | null);
|
|
118932
120060
|
}
|
|
118933
120061
|
export interface TrackingIdentityHealthInput {
|
|
118934
120062
|
}
|
|
118935
120063
|
export interface TrackingIdentityHealthOutput {
|
|
120064
|
+
/**
|
|
120065
|
+
* When these numbers were computed, ISO 8601 UTC. They are a live count, so this is effectively the moment of the call.
|
|
120066
|
+
*/
|
|
118936
120067
|
computedAt: string;
|
|
120068
|
+
/**
|
|
120069
|
+
* How many people the product holds in total, anonymous ones included. The denominator of both rates below.
|
|
120070
|
+
*/
|
|
118937
120071
|
totalProfiles: number;
|
|
120072
|
+
/**
|
|
120073
|
+
* Identified people as a share of the total, normally 0 to 1 (0.42 is 42%). A drop here usually means a broken identify() call, not fewer visitors.
|
|
120074
|
+
*/
|
|
118938
120075
|
identifiedRate: number;
|
|
120076
|
+
/**
|
|
120077
|
+
* People with an ad touchpoint as a share of the total, normally 0 to 1. It counts click-id identifiers, so an identifier outliving its profile can push it just above 1 — read it as an indicator, not as a proportion to assert on.
|
|
120078
|
+
*/
|
|
118939
120079
|
adTouchpointRate: number;
|
|
120080
|
+
/**
|
|
120081
|
+
* How many of them an email or phone is known for — the people a message can actually be sent to.
|
|
120082
|
+
*/
|
|
118940
120083
|
identifiedProfiles: number;
|
|
120084
|
+
/**
|
|
120085
|
+
* How many people arrived carrying an ad click id. A proxy for paid reach: it counts anyone with at least one click id on record.
|
|
120086
|
+
*/
|
|
118941
120087
|
adTouchpointProfiles: number;
|
|
118942
120088
|
}
|
|
118943
120089
|
export interface TrackingInstallDomainsCreateInput {
|
|
@@ -118947,6 +120093,9 @@ export interface TrackingInstallDomainsCreateInput {
|
|
|
118947
120093
|
domain: string;
|
|
118948
120094
|
}
|
|
118949
120095
|
export interface TrackingInstallDomainsCreateOutput {
|
|
120096
|
+
/**
|
|
120097
|
+
* The domain as stored after normalisation, which may differ from what was submitted
|
|
120098
|
+
*/
|
|
118950
120099
|
domain: string;
|
|
118951
120100
|
}
|
|
118952
120101
|
export interface TrackingInstallDomainsDeleteInput {
|
|
@@ -118956,19 +120105,43 @@ export interface TrackingInstallDomainsDeleteInput {
|
|
|
118956
120105
|
domain: string;
|
|
118957
120106
|
}
|
|
118958
120107
|
export interface TrackingInstallDomainsDeleteOutput {
|
|
120108
|
+
/**
|
|
120109
|
+
* Always true — the domain was removed; a failure arrives as an error, not as false
|
|
120110
|
+
*/
|
|
118959
120111
|
ok: true;
|
|
118960
120112
|
}
|
|
118961
120113
|
export interface TrackingInstallDomainsListInput {
|
|
118962
120114
|
}
|
|
118963
120115
|
export interface TrackingInstallDomainsListOutput {
|
|
120116
|
+
/**
|
|
120117
|
+
* Domains sending events that nobody registered — usually a staging host, a typo, or an install worth adding
|
|
120118
|
+
*/
|
|
118964
120119
|
discovered: TrackingInstallDomainsListOutputItems[];
|
|
120120
|
+
/**
|
|
120121
|
+
* Domains deliberately put on the install checklist, each with whether its script has been seen
|
|
120122
|
+
*/
|
|
118965
120123
|
registered: TrackingInstallDomainsListOutputItems[];
|
|
120124
|
+
/**
|
|
120125
|
+
* Length in days of the lookback window the `seen` and `lastSeen` figures are measured over
|
|
120126
|
+
*/
|
|
118966
120127
|
windowDays: number;
|
|
118967
120128
|
}
|
|
118968
120129
|
export interface TrackingInstallDomainsListOutputItems {
|
|
120130
|
+
/**
|
|
120131
|
+
* Whether the tracking script actually sent an event from this domain inside the lookback window
|
|
120132
|
+
*/
|
|
118969
120133
|
seen: boolean;
|
|
120134
|
+
/**
|
|
120135
|
+
* Normalised domain name the status is reported for
|
|
120136
|
+
*/
|
|
118970
120137
|
domain: string;
|
|
120138
|
+
/**
|
|
120139
|
+
* ISO-8601 timestamp of the most recent event from this domain, or null if none arrived in the window
|
|
120140
|
+
*/
|
|
118971
120141
|
lastSeen: (string | null);
|
|
120142
|
+
/**
|
|
120143
|
+
* Whether the domain is on the install checklist on purpose, as opposed to merely observed sending events
|
|
120144
|
+
*/
|
|
118972
120145
|
registered: boolean;
|
|
118973
120146
|
}
|
|
118974
120147
|
export interface TrackingLinkDomainsCreateInput {
|
|
@@ -118978,6 +120151,9 @@ export interface TrackingLinkDomainsCreateInput {
|
|
|
118978
120151
|
domain: string;
|
|
118979
120152
|
}
|
|
118980
120153
|
export interface TrackingLinkDomainsCreateOutput {
|
|
120154
|
+
/**
|
|
120155
|
+
* The domain as stored after normalisation, which may differ from what was submitted
|
|
120156
|
+
*/
|
|
118981
120157
|
domain: string;
|
|
118982
120158
|
}
|
|
118983
120159
|
export interface TrackingLinkDomainsDeleteInput {
|
|
@@ -118987,11 +120163,17 @@ export interface TrackingLinkDomainsDeleteInput {
|
|
|
118987
120163
|
domain: string;
|
|
118988
120164
|
}
|
|
118989
120165
|
export interface TrackingLinkDomainsDeleteOutput {
|
|
120166
|
+
/**
|
|
120167
|
+
* Always true — the domain left the linking group; a failure arrives as an error, not as false
|
|
120168
|
+
*/
|
|
118990
120169
|
ok: true;
|
|
118991
120170
|
}
|
|
118992
120171
|
export interface TrackingLinkDomainsListInput {
|
|
118993
120172
|
}
|
|
118994
120173
|
export interface TrackingLinkDomainsListOutput {
|
|
120174
|
+
/**
|
|
120175
|
+
* Root domains in the linking group; the tracking script decorates links between any two of them so one visitor stays one visitor
|
|
120176
|
+
*/
|
|
118995
120177
|
domains: string[];
|
|
118996
120178
|
}
|
|
118997
120179
|
export interface TrackingLiveEventsListInput {
|
|
@@ -119009,22 +120191,70 @@ export interface TrackingLiveEventsListInput {
|
|
|
119009
120191
|
domain?: string;
|
|
119010
120192
|
}
|
|
119011
120193
|
export interface TrackingLiveEventsListOutput {
|
|
120194
|
+
/**
|
|
120195
|
+
* Pass back as `since` to fetch what arrived after this page. Null when there is nothing older to page into.
|
|
120196
|
+
*/
|
|
119012
120197
|
cursor: (string | null);
|
|
120198
|
+
/**
|
|
120199
|
+
* The page of events, newest first.
|
|
120200
|
+
*/
|
|
119013
120201
|
events: {
|
|
120202
|
+
/**
|
|
120203
|
+
* Stable identifier of this single event; unique within the product and safe to deduplicate on across polls.
|
|
120204
|
+
*/
|
|
119014
120205
|
id: string;
|
|
120206
|
+
/**
|
|
120207
|
+
* When the event happened, as reported by the tracker (ISO 8601, UTC).
|
|
120208
|
+
*/
|
|
119015
120209
|
ts: string;
|
|
120210
|
+
/**
|
|
120211
|
+
* Page address the event fired on, query string included. Free text from the customer site, so it can carry personal data.
|
|
120212
|
+
*/
|
|
119016
120213
|
url: (string | null);
|
|
120214
|
+
/**
|
|
120215
|
+
* Event name as sent by the site, e.g. 'pageview' or a custom conversion name.
|
|
120216
|
+
*/
|
|
119017
120217
|
name: string;
|
|
120218
|
+
/**
|
|
120219
|
+
* Document title of that page at the time. Free text from the customer site, so it can carry personal data.
|
|
120220
|
+
*/
|
|
119018
120221
|
title: (string | null);
|
|
120222
|
+
/**
|
|
120223
|
+
* Site the event came from; null when the tracker could not determine one.
|
|
120224
|
+
*/
|
|
119019
120225
|
domain: (string | null);
|
|
120226
|
+
/**
|
|
120227
|
+
* Where this visit came from, as read off the landing URL and referrer. Every field is null when the visit carried nothing.
|
|
120228
|
+
*/
|
|
119020
120229
|
source: {
|
|
120230
|
+
/**
|
|
120231
|
+
* Address the visitor arrived from; null on a direct visit. Free text from the customer site, so it can carry personal data.
|
|
120232
|
+
*/
|
|
119021
120233
|
referrer: (string | null);
|
|
120234
|
+
/**
|
|
120235
|
+
* utm_medium of the landing URL, e.g. cpc; null when absent.
|
|
120236
|
+
*/
|
|
119022
120237
|
utmMedium: (string | null);
|
|
120238
|
+
/**
|
|
120239
|
+
* utm_source of the landing URL, e.g. newsletter; null when absent.
|
|
120240
|
+
*/
|
|
119023
120241
|
utmSource: (string | null);
|
|
120242
|
+
/**
|
|
120243
|
+
* Which ad-network click id was present on the landing URL, e.g. 'gclid'. Null when the visit carried none.
|
|
120244
|
+
*/
|
|
119024
120245
|
clickIdType: (string | null);
|
|
120246
|
+
/**
|
|
120247
|
+
* utm_campaign of the landing URL; null when absent.
|
|
120248
|
+
*/
|
|
119025
120249
|
utmCampaign: (string | null);
|
|
119026
120250
|
};
|
|
120251
|
+
/**
|
|
120252
|
+
* Two-letter ISO 3166-1 alpha-2 country resolved from the request, e.g. DE; null when it could not be resolved.
|
|
120253
|
+
*/
|
|
119027
120254
|
country: (string | null);
|
|
120255
|
+
/**
|
|
120256
|
+
* Pseudonymous visitor id the person graph joins on. Null for a visitor who declined statistics consent or was never asked — those events arrive cookieless and carry no identifier at all.
|
|
120257
|
+
*/
|
|
119028
120258
|
anonymousId: (string | null);
|
|
119029
120259
|
}[];
|
|
119030
120260
|
}
|
|
@@ -119035,18 +120265,52 @@ export interface TrackingProfilesDeleteInput {
|
|
|
119035
120265
|
profileId: string;
|
|
119036
120266
|
}
|
|
119037
120267
|
export interface TrackingProfilesDeleteOutput {
|
|
120268
|
+
/**
|
|
120269
|
+
* Always true: the response only exists when the erasure ran. A failure arrives as an error, not as ok=false.
|
|
120270
|
+
*/
|
|
119038
120271
|
ok: true;
|
|
120272
|
+
/**
|
|
120273
|
+
* What happened to the archived copy of the events. Postgres is erased synchronously; the archive is not, and this says so out loud.
|
|
120274
|
+
*/
|
|
119039
120275
|
archive: {
|
|
120276
|
+
/**
|
|
120277
|
+
* Plain-language reason the archived copy could not be deleted in the same breath — text meant to be quoted into a compliance record.
|
|
120278
|
+
*/
|
|
119040
120279
|
note: string;
|
|
120280
|
+
/**
|
|
120281
|
+
* Always gap_flagged: the archived copy is known to still hold this person and the gap has been recorded rather than silently ignored.
|
|
120282
|
+
*/
|
|
119041
120283
|
status: "gap_flagged";
|
|
119042
120284
|
};
|
|
120285
|
+
/**
|
|
120286
|
+
* How much was actually destroyed, by kind. Worth recording: it is the evidence that the erasure did something.
|
|
120287
|
+
*/
|
|
119043
120288
|
deleted: {
|
|
120289
|
+
/**
|
|
120290
|
+
* Tracked events removed, found through the anonymous ids this person browsed under.
|
|
120291
|
+
*/
|
|
119044
120292
|
events: number;
|
|
120293
|
+
/**
|
|
120294
|
+
* Merge records removed — the history of this person having been joined with another.
|
|
120295
|
+
*/
|
|
119045
120296
|
merges: number;
|
|
120297
|
+
/**
|
|
120298
|
+
* Profile rows removed: 1 in practice, and 0 only if the row vanished between the lookup and the delete.
|
|
120299
|
+
*/
|
|
119046
120300
|
profile: number;
|
|
120301
|
+
/**
|
|
120302
|
+
* Emails, phones, anonymous ids and click ids removed for this person.
|
|
120303
|
+
*/
|
|
119047
120304
|
identifiers: number;
|
|
119048
120305
|
};
|
|
120306
|
+
/**
|
|
120307
|
+
* The person who was erased. Nothing else of them remains, so this is all there is left to name them by.
|
|
120308
|
+
*/
|
|
119049
120309
|
profileId: string;
|
|
120310
|
+
/**
|
|
120311
|
+
* This erasure attempt. The completion event carries the same value under the same name, so a step recognises its own completion even when another workflow is erasing the same person at the same moment.
|
|
120312
|
+
*/
|
|
120313
|
+
requestId: string;
|
|
119050
120314
|
}
|
|
119051
120315
|
export interface TrackingProfilesExportInput {
|
|
119052
120316
|
/**
|
|
@@ -119055,52 +120319,172 @@ export interface TrackingProfilesExportInput {
|
|
|
119055
120319
|
profileId: string;
|
|
119056
120320
|
}
|
|
119057
120321
|
export interface TrackingProfilesExportOutput {
|
|
120322
|
+
/**
|
|
120323
|
+
* The complete history, newest event first, capped at 50000 events — check `truncated` before treating it as complete.
|
|
120324
|
+
*/
|
|
119058
120325
|
journey: {
|
|
120326
|
+
/**
|
|
120327
|
+
* When the event happened, ISO 8601 UTC. The journey is ordered by this, newest first.
|
|
120328
|
+
*/
|
|
119059
120329
|
ts: string;
|
|
120330
|
+
/**
|
|
120331
|
+
* Opaque handle for this one event, unique inside the product. Use it to deduplicate, not to sort — it carries no order.
|
|
120332
|
+
*/
|
|
119060
120333
|
ref: string;
|
|
120334
|
+
/**
|
|
120335
|
+
* Full address of the page, query string included. Personal data — it can carry an email in a link. Null off-page.
|
|
120336
|
+
*/
|
|
119061
120337
|
url: (string | null);
|
|
120338
|
+
/**
|
|
120339
|
+
* What happened, as the tracking snippet named it: page_view, signup, purchase, or any custom name the product sends.
|
|
120340
|
+
*/
|
|
119062
120341
|
name: string;
|
|
120342
|
+
/**
|
|
120343
|
+
* Custom properties the product attached to this event. Free-form: the keys are whatever the snippet sent, and they differ by event name.
|
|
120344
|
+
*/
|
|
119063
120345
|
props: {
|
|
119064
120346
|
[k: string]: unknown;
|
|
119065
120347
|
};
|
|
120348
|
+
/**
|
|
120349
|
+
* Title of the page as the browser reported it. Null off-page.
|
|
120350
|
+
*/
|
|
119066
120351
|
title: (string | null);
|
|
120352
|
+
/**
|
|
120353
|
+
* Hostname the event was sent from. Null for an event with no page behind it, such as a server-side call.
|
|
120354
|
+
*/
|
|
119067
120355
|
domain: (string | null);
|
|
120356
|
+
/**
|
|
120357
|
+
* Campaign tags and ad click carried by this event, as they were on the URL at the time.
|
|
120358
|
+
*/
|
|
119068
120359
|
source: {
|
|
120360
|
+
/**
|
|
120361
|
+
* The ad click identifier on this URL, raw. Personal data: it resolves to one individual inside the ad network.
|
|
120362
|
+
*/
|
|
119069
120363
|
clickId: (string | null);
|
|
120364
|
+
/**
|
|
120365
|
+
* utm_term on the URL of this event — the keyword bought, on a paid-search arrival.
|
|
120366
|
+
*/
|
|
119070
120367
|
utmTerm: (string | null);
|
|
120368
|
+
/**
|
|
120369
|
+
* utm_medium on the URL of this event.
|
|
120370
|
+
*/
|
|
119071
120371
|
utmMedium: (string | null);
|
|
120372
|
+
/**
|
|
120373
|
+
* utm_source on the URL of THIS event — the campaign at this moment, not the one that first acquired the person.
|
|
120374
|
+
*/
|
|
119072
120375
|
utmSource: (string | null);
|
|
120376
|
+
/**
|
|
120377
|
+
* utm_content on the URL of this event — which creative or link variant was clicked.
|
|
120378
|
+
*/
|
|
119073
120379
|
utmContent: (string | null);
|
|
120380
|
+
/**
|
|
120381
|
+
* Which ad network stamped the click id below: gclid for Google Ads, fbclid for Meta. Null on a non-ad arrival.
|
|
120382
|
+
*/
|
|
119074
120383
|
clickIdType: (string | null);
|
|
120384
|
+
/**
|
|
120385
|
+
* utm_campaign on the URL of this event.
|
|
120386
|
+
*/
|
|
119075
120387
|
utmCampaign: (string | null);
|
|
119076
120388
|
};
|
|
120389
|
+
/**
|
|
120390
|
+
* Two-letter ISO 3166-1 country the request came from, resolved from the IP at collection time. Null when it could not be resolved.
|
|
120391
|
+
*/
|
|
119077
120392
|
country: (string | null);
|
|
120393
|
+
/**
|
|
120394
|
+
* Where the person came from immediately before this event. Null on a direct arrival or off-page.
|
|
120395
|
+
*/
|
|
119078
120396
|
referrer: (string | null);
|
|
120397
|
+
/**
|
|
120398
|
+
* Handle for the browsing session this event belongs to; events sharing it happened in one sitting. Null for an event collected outside a session.
|
|
120399
|
+
*/
|
|
119079
120400
|
sessionId: (string | null);
|
|
119080
120401
|
}[];
|
|
120402
|
+
/**
|
|
120403
|
+
* The person themselves: their handle, how far they have come, and when they were seen.
|
|
120404
|
+
*/
|
|
119081
120405
|
profile: {
|
|
120406
|
+
/**
|
|
120407
|
+
* How far the person has come: anonymous = only a browser behind them, identified = an email or phone is known, customer = they have paid at least once.
|
|
120408
|
+
*/
|
|
119082
120409
|
status: ("anonymous" | "identified" | "customer");
|
|
120410
|
+
/**
|
|
120411
|
+
* When this product first created the profile row, ISO 8601 UTC. Later than firstSeenAt when events were backfilled.
|
|
120412
|
+
*/
|
|
119083
120413
|
createdAt: string;
|
|
120414
|
+
/**
|
|
120415
|
+
* Stable handle for this person inside the product. Pass it to any other people step; it survives identity merges.
|
|
120416
|
+
*/
|
|
119084
120417
|
profileId: string;
|
|
120418
|
+
/**
|
|
120419
|
+
* Timestamp of their most recent event, ISO 8601 UTC — the freshness of everything else here.
|
|
120420
|
+
*/
|
|
119085
120421
|
lastSeenAt: string;
|
|
120422
|
+
/**
|
|
120423
|
+
* Timestamp of the earliest event on record for this person, ISO 8601 UTC.
|
|
120424
|
+
*/
|
|
119086
120425
|
firstSeenAt: string;
|
|
119087
120426
|
};
|
|
120427
|
+
/**
|
|
120428
|
+
* Everything known about who this person is: the addresses they have been identified by, the ad clicks they arrived by, and the sites they were seen on. Every part of it is a list, and none of the lists names a primary.
|
|
120429
|
+
*/
|
|
119088
120430
|
signals: {
|
|
120431
|
+
/**
|
|
120432
|
+
* Every email this person has ever been identified by. Stably ordered for display and diffing — the position of an address says NOTHING about which one to contact, and this toolkit holds no primary. Usually one entry; a person who signed up twice has several.
|
|
120433
|
+
*/
|
|
119089
120434
|
emails: string[];
|
|
120435
|
+
/**
|
|
120436
|
+
* Every phone number this person has been identified by. Stably ordered for display and diffing only, with no primary among them.
|
|
120437
|
+
*/
|
|
119090
120438
|
phones: string[];
|
|
120439
|
+
/**
|
|
120440
|
+
* Distinct hostnames this person browsed, taken from their events — not an identifier type, just where they were.
|
|
120441
|
+
*/
|
|
119091
120442
|
domains: string[];
|
|
120443
|
+
/**
|
|
120444
|
+
* Every ad click this person arrived by, stably ordered and with no primary among them. Personal data: a click id resolves to one individual inside the ad network.
|
|
120445
|
+
*/
|
|
119092
120446
|
clickIds: {
|
|
120447
|
+
/**
|
|
120448
|
+
* Which ad network the click came from — gclid for Google Ads, fbclid for Meta. Open set.
|
|
120449
|
+
*/
|
|
119093
120450
|
type: string;
|
|
120451
|
+
/**
|
|
120452
|
+
* The click identifier itself, raw, as the network stamped it on the landing URL.
|
|
120453
|
+
*/
|
|
119094
120454
|
value: string;
|
|
119095
120455
|
}[];
|
|
119096
120456
|
};
|
|
120457
|
+
/**
|
|
120458
|
+
* True when the history hit the 50000-event cap and older events were left out. False means this export is everything held.
|
|
120459
|
+
*/
|
|
119097
120460
|
truncated: boolean;
|
|
120461
|
+
/**
|
|
120462
|
+
* When this export was produced, ISO 8601 UTC — the as-of date to put on a subject-access response.
|
|
120463
|
+
*/
|
|
119098
120464
|
exportedAt: string;
|
|
120465
|
+
/**
|
|
120466
|
+
* First touch: the campaign that brought this person in, frozen at their earliest event and never overwritten by later visits. Null for a person with no events at all.
|
|
120467
|
+
*/
|
|
119099
120468
|
acquisition: ({
|
|
120469
|
+
/**
|
|
120470
|
+
* Channel of that same first visit (utm_medium): cpc, email, social, and so on. Null when untagged.
|
|
120471
|
+
*/
|
|
119100
120472
|
utmMedium: (string | null);
|
|
120473
|
+
/**
|
|
120474
|
+
* Where the person came from on their very first visit — the utm_source of their earliest event. Null when they arrived with no campaign tags.
|
|
120475
|
+
*/
|
|
119101
120476
|
utmSource: (string | null);
|
|
120477
|
+
/**
|
|
120478
|
+
* Which ad network stamped the click that brought them in — gclid for Google Ads, fbclid for Meta. Null for a non-ad arrival. Open set: new networks appear without a release here.
|
|
120479
|
+
*/
|
|
119102
120480
|
clickIdType: (string | null);
|
|
120481
|
+
/**
|
|
120482
|
+
* When that first visit happened, ISO 8601 UTC. This is the timestamp of the earliest event, not when the profile row was written.
|
|
120483
|
+
*/
|
|
119103
120484
|
firstSeenAt: string;
|
|
120485
|
+
/**
|
|
120486
|
+
* Campaign of that same first visit (utm_campaign). Null when untagged.
|
|
120487
|
+
*/
|
|
119104
120488
|
utmCampaign: (string | null);
|
|
119105
120489
|
} | null);
|
|
119106
120490
|
}
|
|
@@ -119114,76 +120498,226 @@ export interface TrackingProfilesGetInput {
|
|
|
119114
120498
|
*/
|
|
119115
120499
|
journeyLimit?: number;
|
|
119116
120500
|
/**
|
|
119117
|
-
*
|
|
120501
|
+
* Continue paging back through the journey: pass the cursor the previous page returned. Omit to start at the most recent event.
|
|
119118
120502
|
*/
|
|
119119
120503
|
journeyCursor?: string;
|
|
119120
120504
|
}
|
|
119121
120505
|
export interface TrackingProfilesGetOutput {
|
|
120506
|
+
/**
|
|
120507
|
+
* Lifetime value of this person, per currency. Null when revenue tracking is not in use for the product.
|
|
120508
|
+
*/
|
|
119122
120509
|
ltv: ({
|
|
120510
|
+
/**
|
|
120511
|
+
* One row per currency this person has paid in. Empty for someone who never paid; there is no cross-currency total, because converting would need a rate this toolkit does not hold.
|
|
120512
|
+
*/
|
|
119123
120513
|
entries: {
|
|
120514
|
+
/**
|
|
120515
|
+
* ISO 4217 code the amounts beside it are denominated in, e.g. EUR. One entry per code the person ever paid in.
|
|
120516
|
+
*/
|
|
119124
120517
|
currency: string;
|
|
120518
|
+
/**
|
|
120519
|
+
* What the business actually kept: gross minus refunded, in minor units. This is the number to rank customers by.
|
|
120520
|
+
*/
|
|
119125
120521
|
netMinor: number;
|
|
120522
|
+
/**
|
|
120523
|
+
* Everything the person was ever charged, in minor units (1250 = 12.50 EUR). Refunds are not subtracted here.
|
|
120524
|
+
*/
|
|
119126
120525
|
grossMinor: number;
|
|
120526
|
+
/**
|
|
120527
|
+
* Their most recent payment in this currency, ISO 8601 UTC — how live the relationship is.
|
|
120528
|
+
*/
|
|
119127
120529
|
lastPaymentAt: (string | null);
|
|
120530
|
+
/**
|
|
120531
|
+
* How much of the gross went back to them, in minor units. Zero for a person who never had a refund.
|
|
120532
|
+
*/
|
|
119128
120533
|
refundedMinor: number;
|
|
120534
|
+
/**
|
|
120535
|
+
* When this person first paid in this currency, ISO 8601 UTC. Null when the totals were computed without a dated payment.
|
|
120536
|
+
*/
|
|
119129
120537
|
firstPaymentAt: (string | null);
|
|
119130
120538
|
}[];
|
|
120539
|
+
/**
|
|
120540
|
+
* The person these totals belong to — the same handle as profile.profileId.
|
|
120541
|
+
*/
|
|
119131
120542
|
profileId: string;
|
|
120543
|
+
/**
|
|
120544
|
+
* When these totals were last recomputed, ISO 8601 UTC. Null when they have never been computed.
|
|
120545
|
+
*/
|
|
119132
120546
|
computedAt: (string | null);
|
|
119133
120547
|
} | null);
|
|
120548
|
+
/**
|
|
120549
|
+
* What this person did, newest first, one page at a time. Use the export step instead when the whole history is wanted in one go.
|
|
120550
|
+
*/
|
|
119134
120551
|
journey: {
|
|
120552
|
+
/**
|
|
120553
|
+
* Pass back as `journeyCursor` to page further back in time. Null once the journey is exhausted.
|
|
120554
|
+
*/
|
|
119135
120555
|
cursor: (string | null);
|
|
120556
|
+
/**
|
|
120557
|
+
* This page of the journey, newest event first.
|
|
120558
|
+
*/
|
|
119136
120559
|
events: {
|
|
120560
|
+
/**
|
|
120561
|
+
* When the event happened, ISO 8601 UTC. The journey is ordered by this, newest first.
|
|
120562
|
+
*/
|
|
119137
120563
|
ts: string;
|
|
120564
|
+
/**
|
|
120565
|
+
* Opaque handle for this one event, unique inside the product. Use it to deduplicate, not to sort — it carries no order.
|
|
120566
|
+
*/
|
|
119138
120567
|
ref: string;
|
|
120568
|
+
/**
|
|
120569
|
+
* Full address of the page, query string included. Personal data — it can carry an email in a link. Null off-page.
|
|
120570
|
+
*/
|
|
119139
120571
|
url: (string | null);
|
|
120572
|
+
/**
|
|
120573
|
+
* What happened, as the tracking snippet named it: page_view, signup, purchase, or any custom name the product sends.
|
|
120574
|
+
*/
|
|
119140
120575
|
name: string;
|
|
120576
|
+
/**
|
|
120577
|
+
* Custom properties the product attached to this event. Free-form: the keys are whatever the snippet sent, and they differ by event name.
|
|
120578
|
+
*/
|
|
119141
120579
|
props: {
|
|
119142
120580
|
[k: string]: unknown;
|
|
119143
120581
|
};
|
|
120582
|
+
/**
|
|
120583
|
+
* Title of the page as the browser reported it. Null off-page.
|
|
120584
|
+
*/
|
|
119144
120585
|
title: (string | null);
|
|
120586
|
+
/**
|
|
120587
|
+
* Hostname the event was sent from. Null for an event with no page behind it, such as a server-side call.
|
|
120588
|
+
*/
|
|
119145
120589
|
domain: (string | null);
|
|
120590
|
+
/**
|
|
120591
|
+
* Campaign tags and ad click carried by this event, as they were on the URL at the time.
|
|
120592
|
+
*/
|
|
119146
120593
|
source: {
|
|
120594
|
+
/**
|
|
120595
|
+
* The ad click identifier on this URL, raw. Personal data: it resolves to one individual inside the ad network.
|
|
120596
|
+
*/
|
|
119147
120597
|
clickId: (string | null);
|
|
120598
|
+
/**
|
|
120599
|
+
* utm_term on the URL of this event — the keyword bought, on a paid-search arrival.
|
|
120600
|
+
*/
|
|
119148
120601
|
utmTerm: (string | null);
|
|
120602
|
+
/**
|
|
120603
|
+
* utm_medium on the URL of this event.
|
|
120604
|
+
*/
|
|
119149
120605
|
utmMedium: (string | null);
|
|
120606
|
+
/**
|
|
120607
|
+
* utm_source on the URL of THIS event — the campaign at this moment, not the one that first acquired the person.
|
|
120608
|
+
*/
|
|
119150
120609
|
utmSource: (string | null);
|
|
120610
|
+
/**
|
|
120611
|
+
* utm_content on the URL of this event — which creative or link variant was clicked.
|
|
120612
|
+
*/
|
|
119151
120613
|
utmContent: (string | null);
|
|
120614
|
+
/**
|
|
120615
|
+
* Which ad network stamped the click id below: gclid for Google Ads, fbclid for Meta. Null on a non-ad arrival.
|
|
120616
|
+
*/
|
|
119152
120617
|
clickIdType: (string | null);
|
|
120618
|
+
/**
|
|
120619
|
+
* utm_campaign on the URL of this event.
|
|
120620
|
+
*/
|
|
119153
120621
|
utmCampaign: (string | null);
|
|
119154
120622
|
};
|
|
120623
|
+
/**
|
|
120624
|
+
* Two-letter ISO 3166-1 country the request came from, resolved from the IP at collection time. Null when it could not be resolved.
|
|
120625
|
+
*/
|
|
119155
120626
|
country: (string | null);
|
|
120627
|
+
/**
|
|
120628
|
+
* Where the person came from immediately before this event. Null on a direct arrival or off-page.
|
|
120629
|
+
*/
|
|
119156
120630
|
referrer: (string | null);
|
|
120631
|
+
/**
|
|
120632
|
+
* Handle for the browsing session this event belongs to; events sharing it happened in one sitting. Null for an event collected outside a session.
|
|
120633
|
+
*/
|
|
119157
120634
|
sessionId: (string | null);
|
|
119158
120635
|
}[];
|
|
119159
120636
|
};
|
|
120637
|
+
/**
|
|
120638
|
+
* The person themselves: their handle, how far they have come, and when they were seen.
|
|
120639
|
+
*/
|
|
119160
120640
|
profile: {
|
|
120641
|
+
/**
|
|
120642
|
+
* How far the person has come: anonymous = only a browser behind them, identified = an email or phone is known, customer = they have paid at least once.
|
|
120643
|
+
*/
|
|
119161
120644
|
status: ("anonymous" | "identified" | "customer");
|
|
120645
|
+
/**
|
|
120646
|
+
* When this product first created the profile row, ISO 8601 UTC. Later than firstSeenAt when events were backfilled.
|
|
120647
|
+
*/
|
|
119162
120648
|
createdAt: string;
|
|
120649
|
+
/**
|
|
120650
|
+
* Stable handle for this person inside the product. Pass it to any other people step; it survives identity merges.
|
|
120651
|
+
*/
|
|
119163
120652
|
profileId: string;
|
|
120653
|
+
/**
|
|
120654
|
+
* Timestamp of their most recent event, ISO 8601 UTC — the freshness of everything else here.
|
|
120655
|
+
*/
|
|
119164
120656
|
lastSeenAt: string;
|
|
120657
|
+
/**
|
|
120658
|
+
* Timestamp of the earliest event on record for this person, ISO 8601 UTC.
|
|
120659
|
+
*/
|
|
119165
120660
|
firstSeenAt: string;
|
|
119166
120661
|
};
|
|
120662
|
+
/**
|
|
120663
|
+
* Everything known about who this person is: the addresses they have been identified by, the ad clicks they arrived by, and the sites they were seen on. Every part of it is a list, and none of the lists names a primary.
|
|
120664
|
+
*/
|
|
119167
120665
|
signals: {
|
|
120666
|
+
/**
|
|
120667
|
+
* Every email this person has ever been identified by. Stably ordered for display and diffing — the position of an address says NOTHING about which one to contact, and this toolkit holds no primary. Usually one entry; a person who signed up twice has several.
|
|
120668
|
+
*/
|
|
119168
120669
|
emails: string[];
|
|
120670
|
+
/**
|
|
120671
|
+
* Every phone number this person has been identified by. Stably ordered for display and diffing only, with no primary among them.
|
|
120672
|
+
*/
|
|
119169
120673
|
phones: string[];
|
|
120674
|
+
/**
|
|
120675
|
+
* Distinct hostnames this person browsed, taken from their events — not an identifier type, just where they were.
|
|
120676
|
+
*/
|
|
119170
120677
|
domains: string[];
|
|
120678
|
+
/**
|
|
120679
|
+
* Every ad click this person arrived by, stably ordered and with no primary among them. Personal data: a click id resolves to one individual inside the ad network.
|
|
120680
|
+
*/
|
|
119171
120681
|
clickIds: {
|
|
120682
|
+
/**
|
|
120683
|
+
* Which ad network the click came from — gclid for Google Ads, fbclid for Meta. Open set.
|
|
120684
|
+
*/
|
|
119172
120685
|
type: string;
|
|
120686
|
+
/**
|
|
120687
|
+
* The click identifier itself, raw, as the network stamped it on the landing URL.
|
|
120688
|
+
*/
|
|
119173
120689
|
value: string;
|
|
119174
120690
|
}[];
|
|
119175
120691
|
};
|
|
120692
|
+
/**
|
|
120693
|
+
* First touch: the campaign that brought this person in, frozen at their earliest event and never overwritten by later visits. Null for a person with no events at all.
|
|
120694
|
+
*/
|
|
119176
120695
|
acquisition: ({
|
|
120696
|
+
/**
|
|
120697
|
+
* Channel of that same first visit (utm_medium): cpc, email, social, and so on. Null when untagged.
|
|
120698
|
+
*/
|
|
119177
120699
|
utmMedium: (string | null);
|
|
120700
|
+
/**
|
|
120701
|
+
* Where the person came from on their very first visit — the utm_source of their earliest event. Null when they arrived with no campaign tags.
|
|
120702
|
+
*/
|
|
119178
120703
|
utmSource: (string | null);
|
|
120704
|
+
/**
|
|
120705
|
+
* Which ad network stamped the click that brought them in — gclid for Google Ads, fbclid for Meta. Null for a non-ad arrival. Open set: new networks appear without a release here.
|
|
120706
|
+
*/
|
|
119179
120707
|
clickIdType: (string | null);
|
|
120708
|
+
/**
|
|
120709
|
+
* When that first visit happened, ISO 8601 UTC. This is the timestamp of the earliest event, not when the profile row was written.
|
|
120710
|
+
*/
|
|
119180
120711
|
firstSeenAt: string;
|
|
120712
|
+
/**
|
|
120713
|
+
* Campaign of that same first visit (utm_campaign). Null when untagged.
|
|
120714
|
+
*/
|
|
119181
120715
|
utmCampaign: (string | null);
|
|
119182
120716
|
} | null);
|
|
119183
120717
|
}
|
|
119184
120718
|
export interface TrackingProfilesListInput {
|
|
119185
120719
|
/**
|
|
119186
|
-
*
|
|
120720
|
+
* Email to search people by — the whole address by default, or its beginning when emailMatch is prefix. Omit to search across everyone.
|
|
119187
120721
|
*/
|
|
119188
120722
|
email?: string;
|
|
119189
120723
|
/**
|
|
@@ -119191,126 +120725,357 @@ export interface TrackingProfilesListInput {
|
|
|
119191
120725
|
*/
|
|
119192
120726
|
limit?: number;
|
|
119193
120727
|
/**
|
|
119194
|
-
*
|
|
120728
|
+
* Continue a previous page: pass the cursor that page returned. Omit to start from the most recently seen person.
|
|
119195
120729
|
*/
|
|
119196
120730
|
cursor?: string;
|
|
119197
120731
|
/**
|
|
119198
|
-
*
|
|
120732
|
+
* Keep only people at this stage — anonymous, identified or customer. Omit to get all three.
|
|
119199
120733
|
*/
|
|
119200
120734
|
status?: ("anonymous" | "identified" | "customer");
|
|
119201
120735
|
/**
|
|
119202
|
-
* How
|
|
120736
|
+
* How the email filter is matched: exact (default) compares the whole address case-insensitively, prefix matches everyone whose address starts with what you typed.
|
|
119203
120737
|
*/
|
|
119204
120738
|
emailMatch?: ("exact" | "prefix");
|
|
119205
120739
|
}
|
|
119206
120740
|
export interface TrackingProfilesListOutput {
|
|
120741
|
+
/**
|
|
120742
|
+
* Pass this back as `cursor` to fetch the next page. Null on the last page — that null is how a loop knows to stop.
|
|
120743
|
+
*/
|
|
119207
120744
|
cursor: (string | null);
|
|
120745
|
+
/**
|
|
120746
|
+
* The page of people, most recently seen first. Shorter than the requested limit on the last page.
|
|
120747
|
+
*/
|
|
119208
120748
|
profiles: {
|
|
120749
|
+
/**
|
|
120750
|
+
* Every email this person has been identified by. Stably ordered for display, with no primary among them — position 0 is not the address to contact.
|
|
120751
|
+
*/
|
|
119209
120752
|
emails: string[];
|
|
120753
|
+
/**
|
|
120754
|
+
* How far this person has come: anonymous = only a browser, identified = an email or phone is known, customer = they have paid.
|
|
120755
|
+
*/
|
|
119210
120756
|
status: ("anonymous" | "identified" | "customer");
|
|
120757
|
+
/**
|
|
120758
|
+
* Stable handle for this person. Feed it to a get, export or erase step.
|
|
120759
|
+
*/
|
|
119211
120760
|
profileId: string;
|
|
120761
|
+
/**
|
|
120762
|
+
* Timestamp of their most recent event, ISO 8601 UTC. The page is ordered by this, newest first.
|
|
120763
|
+
*/
|
|
119212
120764
|
lastSeenAt: string;
|
|
120765
|
+
/**
|
|
120766
|
+
* First touch: the campaign that brought this person in, frozen at their earliest event and never overwritten by later visits. Null for a person with no events at all.
|
|
120767
|
+
*/
|
|
119213
120768
|
acquisition: ({
|
|
120769
|
+
/**
|
|
120770
|
+
* Channel of that same first visit (utm_medium): cpc, email, social, and so on. Null when untagged.
|
|
120771
|
+
*/
|
|
119214
120772
|
utmMedium: (string | null);
|
|
120773
|
+
/**
|
|
120774
|
+
* Where the person came from on their very first visit — the utm_source of their earliest event. Null when they arrived with no campaign tags.
|
|
120775
|
+
*/
|
|
119215
120776
|
utmSource: (string | null);
|
|
120777
|
+
/**
|
|
120778
|
+
* Which ad network stamped the click that brought them in — gclid for Google Ads, fbclid for Meta. Null for a non-ad arrival. Open set: new networks appear without a release here.
|
|
120779
|
+
*/
|
|
119216
120780
|
clickIdType: (string | null);
|
|
120781
|
+
/**
|
|
120782
|
+
* When that first visit happened, ISO 8601 UTC. This is the timestamp of the earliest event, not when the profile row was written.
|
|
120783
|
+
*/
|
|
119217
120784
|
firstSeenAt: string;
|
|
120785
|
+
/**
|
|
120786
|
+
* Campaign of that same first visit (utm_campaign). Null when untagged.
|
|
120787
|
+
*/
|
|
119218
120788
|
utmCampaign: (string | null);
|
|
119219
120789
|
} | null);
|
|
120790
|
+
/**
|
|
120791
|
+
* Timestamp of their earliest event, ISO 8601 UTC.
|
|
120792
|
+
*/
|
|
119220
120793
|
firstSeenAt: string;
|
|
119221
120794
|
}[];
|
|
119222
120795
|
}
|
|
119223
120796
|
export interface TrackingReportsAttributedJourneyInput {
|
|
120797
|
+
/**
|
|
120798
|
+
* Show only journey events at or before this instant (ISO). Omit for the whole history.
|
|
120799
|
+
*/
|
|
119224
120800
|
to?: string;
|
|
120801
|
+
/**
|
|
120802
|
+
* Show only journey events at or after this instant (ISO). Omit for the whole history.
|
|
120803
|
+
*/
|
|
119225
120804
|
from?: string;
|
|
120805
|
+
/**
|
|
120806
|
+
* Attribution model to explain the decision under; re-reads the same history, so switching it is free (default 'last_click').
|
|
120807
|
+
*/
|
|
119226
120808
|
model?: ("last_click" | "first_click");
|
|
119227
120809
|
/**
|
|
119228
120810
|
* The profile id (uuid)
|
|
119229
120811
|
*/
|
|
119230
120812
|
profileId: string;
|
|
120813
|
+
/**
|
|
120814
|
+
* How far back before the conversion a touchpoint may be credited, in days (default 30).
|
|
120815
|
+
*/
|
|
119231
120816
|
lookbackDays?: number;
|
|
119232
120817
|
}
|
|
119233
120818
|
export interface TrackingReportsAttributedJourneyOutput {
|
|
120819
|
+
/**
|
|
120820
|
+
* What this person actually did, in order.
|
|
120821
|
+
*/
|
|
119234
120822
|
journey: {
|
|
120823
|
+
/**
|
|
120824
|
+
* Every tracked event for this person inside the requested window, oldest first.
|
|
120825
|
+
*/
|
|
119235
120826
|
events: {
|
|
120827
|
+
/**
|
|
120828
|
+
* When the event happened (ISO 8601, UTC). Events are ordered oldest first.
|
|
120829
|
+
*/
|
|
119236
120830
|
ts: string;
|
|
120831
|
+
/**
|
|
120832
|
+
* Handle for this event within the journey; `decisions[].winnerRef` points back at one of these to name the winning touchpoint.
|
|
120833
|
+
*/
|
|
119237
120834
|
ref: string;
|
|
120835
|
+
/**
|
|
120836
|
+
* Page address the event fired on. Free text from the customer site, so it can carry personal data.
|
|
120837
|
+
*/
|
|
119238
120838
|
url: (string | null);
|
|
120839
|
+
/**
|
|
120840
|
+
* Event name as sent by the site, e.g. 'pageview' or a custom conversion name.
|
|
120841
|
+
*/
|
|
119239
120842
|
name: string;
|
|
120843
|
+
/**
|
|
120844
|
+
* Custom properties the site attached to this event. Shape is the customer's, so it can carry anything, personal data included.
|
|
120845
|
+
*/
|
|
119240
120846
|
props: {
|
|
119241
120847
|
[k: string]: unknown;
|
|
119242
120848
|
};
|
|
120849
|
+
/**
|
|
120850
|
+
* Document title of that page. Free text from the customer site, so it can carry personal data.
|
|
120851
|
+
*/
|
|
119243
120852
|
title: (string | null);
|
|
120853
|
+
/**
|
|
120854
|
+
* Site the event came from; null when the tracker could not determine one.
|
|
120855
|
+
*/
|
|
119244
120856
|
domain: (string | null);
|
|
120857
|
+
/**
|
|
120858
|
+
* Where this event's visit came from, as read off the landing URL. Every field is null when the visit carried nothing.
|
|
120859
|
+
*/
|
|
119245
120860
|
source: {
|
|
120861
|
+
/**
|
|
120862
|
+
* The click id value itself. Identifies one ad click by this person, so treat it as personal data.
|
|
120863
|
+
*/
|
|
119246
120864
|
clickId: (string | null);
|
|
120865
|
+
/**
|
|
120866
|
+
* utm_term of the landing URL, the paid keyword; null when absent.
|
|
120867
|
+
*/
|
|
119247
120868
|
utmTerm: (string | null);
|
|
120869
|
+
/**
|
|
120870
|
+
* utm_medium of the landing URL; null when absent.
|
|
120871
|
+
*/
|
|
119248
120872
|
utmMedium: (string | null);
|
|
120873
|
+
/**
|
|
120874
|
+
* utm_source of the landing URL; null when absent.
|
|
120875
|
+
*/
|
|
119249
120876
|
utmSource: (string | null);
|
|
120877
|
+
/**
|
|
120878
|
+
* utm_content of the landing URL, the creative variant; null when absent.
|
|
120879
|
+
*/
|
|
119250
120880
|
utmContent: (string | null);
|
|
120881
|
+
/**
|
|
120882
|
+
* Which ad-network click id was present, e.g. 'gclid'; null when the visit carried none.
|
|
120883
|
+
*/
|
|
119251
120884
|
clickIdType: (string | null);
|
|
120885
|
+
/**
|
|
120886
|
+
* utm_campaign of the landing URL; null when absent.
|
|
120887
|
+
*/
|
|
119252
120888
|
utmCampaign: (string | null);
|
|
119253
120889
|
};
|
|
120890
|
+
/**
|
|
120891
|
+
* Two-letter ISO 3166-1 alpha-2 country resolved from the request, e.g. DE; null when it could not be resolved.
|
|
120892
|
+
*/
|
|
119254
120893
|
country: (string | null);
|
|
120894
|
+
/**
|
|
120895
|
+
* Address the visitor arrived from; null on a direct visit. Free text from the customer site, so it can carry personal data.
|
|
120896
|
+
*/
|
|
119255
120897
|
referrer: (string | null);
|
|
120898
|
+
/**
|
|
120899
|
+
* Visit this event belongs to; events sharing one happened in the same sitting. Null when no session could be established.
|
|
120900
|
+
*/
|
|
119256
120901
|
sessionId: (string | null);
|
|
119257
120902
|
}[];
|
|
119258
120903
|
};
|
|
119259
|
-
|
|
119260
|
-
|
|
119261
|
-
|
|
119262
|
-
|
|
119263
|
-
|
|
119264
|
-
|
|
119265
|
-
|
|
119266
|
-
refundedMinor: number;
|
|
119267
|
-
}[];
|
|
119268
|
-
winnerRef: (string | null);
|
|
119269
|
-
conversionTs: string;
|
|
119270
|
-
lookbackDays: number;
|
|
119271
|
-
winningTouchpoint: ({
|
|
119272
|
-
ts: string;
|
|
119273
|
-
channel: ("paid" | "organic" | "direct" | "email");
|
|
119274
|
-
utmMedium: (string | null);
|
|
119275
|
-
utmSource: (string | null);
|
|
119276
|
-
clickIdType: (string | null);
|
|
119277
|
-
utmCampaign: (string | null);
|
|
119278
|
-
} | null);
|
|
119279
|
-
}[];
|
|
120904
|
+
/**
|
|
120905
|
+
* Holds at most one entry: the decision for this person's originating conversion, present only when that conversion falls inside the requested window. Kept as a list for callers that already read it; `originatingDecision` is the same value at a bindable path.
|
|
120906
|
+
*/
|
|
120907
|
+
decisions: TrackingReportsAttributedJourneyOutputItems[];
|
|
120908
|
+
/**
|
|
120909
|
+
* The person this journey belongs to, echoed back from the request.
|
|
120910
|
+
*/
|
|
119280
120911
|
profileId: string;
|
|
120912
|
+
/**
|
|
120913
|
+
* The attribution decision for this person's originating conversion — the same value as `decisions[0]`, at a path a workflow can bind. Null means the decision is not in THIS window, not that the person never converted: a conversion before `from` or after `to` is excluded here while still being their originating one. Widen the window to see it.
|
|
120914
|
+
*/
|
|
120915
|
+
originatingDecision: (TrackingReportsAttributedJourneyOutputItems | null);
|
|
120916
|
+
}
|
|
120917
|
+
export interface TrackingReportsAttributedJourneyOutputItems {
|
|
120918
|
+
/**
|
|
120919
|
+
* Attribution model the winner was picked under, echoed back from the request.
|
|
120920
|
+
*/
|
|
120921
|
+
model: ("last_click" | "first_click");
|
|
120922
|
+
/**
|
|
120923
|
+
* Why this touchpoint won, or why nothing did, in a sentence a person can read.
|
|
120924
|
+
*/
|
|
120925
|
+
reason: string;
|
|
120926
|
+
/**
|
|
120927
|
+
* Revenue of that conversion, one row per currency.
|
|
120928
|
+
*/
|
|
120929
|
+
revenue: {
|
|
120930
|
+
/**
|
|
120931
|
+
* ISO 4217 code the amounts below are denominated in, e.g. EUR.
|
|
120932
|
+
*/
|
|
120933
|
+
currency: string;
|
|
120934
|
+
/**
|
|
120935
|
+
* `grossMinor` minus `refundedMinor`, in minor units of `currency`. This is the figure to report.
|
|
120936
|
+
*/
|
|
120937
|
+
netMinor: number;
|
|
120938
|
+
/**
|
|
120939
|
+
* Billed amount before refunds, in minor units of `currency` (cents for EUR).
|
|
120940
|
+
*/
|
|
120941
|
+
grossMinor: number;
|
|
120942
|
+
/**
|
|
120943
|
+
* Amount refunded out of `grossMinor`, in minor units of `currency`.
|
|
120944
|
+
*/
|
|
120945
|
+
refundedMinor: number;
|
|
120946
|
+
}[];
|
|
120947
|
+
/**
|
|
120948
|
+
* `journey.events[].ref` of the touchpoint that won the credit. Null when nothing inside the window qualified.
|
|
120949
|
+
*/
|
|
120950
|
+
winnerRef: (string | null);
|
|
120951
|
+
/**
|
|
120952
|
+
* When the conversion this decision explains happened (ISO 8601, UTC).
|
|
120953
|
+
*/
|
|
120954
|
+
conversionTs: string;
|
|
120955
|
+
/**
|
|
120956
|
+
* How far back before `conversionTs` a touchpoint was allowed to be credited, in days; echoed back.
|
|
120957
|
+
*/
|
|
120958
|
+
lookbackDays: number;
|
|
120959
|
+
/**
|
|
120960
|
+
* The winning touchpoint spelled out, so a reader need not resolve `winnerRef`. Null exactly when `winnerRef` is null.
|
|
120961
|
+
*/
|
|
120962
|
+
winningTouchpoint: ({
|
|
120963
|
+
/**
|
|
120964
|
+
* When the winning touchpoint happened (ISO 8601, UTC).
|
|
120965
|
+
*/
|
|
120966
|
+
ts: string;
|
|
120967
|
+
/**
|
|
120968
|
+
* Channel the winning touchpoint belongs to.
|
|
120969
|
+
*/
|
|
120970
|
+
channel: ("paid" | "organic" | "direct" | "email");
|
|
120971
|
+
/**
|
|
120972
|
+
* utm_medium of the winning touchpoint; null when it carried none.
|
|
120973
|
+
*/
|
|
120974
|
+
utmMedium: (string | null);
|
|
120975
|
+
/**
|
|
120976
|
+
* utm_source of the winning touchpoint; null when it carried none.
|
|
120977
|
+
*/
|
|
120978
|
+
utmSource: (string | null);
|
|
120979
|
+
/**
|
|
120980
|
+
* Campaign id carried by our own `_lt_campaign` landing-URL parameter; null when the visit carried none.
|
|
120981
|
+
*/
|
|
120982
|
+
ltCampaign?: (string | null);
|
|
120983
|
+
/**
|
|
120984
|
+
* Ad-network click id present on the winning touchpoint, e.g. 'gclid'; null when it carried none.
|
|
120985
|
+
*/
|
|
120986
|
+
clickIdType: (string | null);
|
|
120987
|
+
/**
|
|
120988
|
+
* utm_campaign of the winning touchpoint; null when it carried none.
|
|
120989
|
+
*/
|
|
120990
|
+
utmCampaign: (string | null);
|
|
120991
|
+
} | null);
|
|
119281
120992
|
}
|
|
119282
120993
|
export interface TrackingReportsEventVolumeInput {
|
|
119283
|
-
|
|
119284
|
-
|
|
120994
|
+
/**
|
|
120995
|
+
* End of the range to count, inclusive (ISO 8601). Optional — defaults to the moment of the call.
|
|
120996
|
+
*/
|
|
120997
|
+
to?: string;
|
|
120998
|
+
/**
|
|
120999
|
+
* Start of the range to count, inclusive (ISO 8601). Optional — defaults to 30 days back, the start of that UTC day.
|
|
121000
|
+
*/
|
|
121001
|
+
from?: string;
|
|
121002
|
+
/**
|
|
121003
|
+
* Count only this site. Omit to count every site the product sends from.
|
|
121004
|
+
*/
|
|
119285
121005
|
domain?: string;
|
|
119286
121006
|
}
|
|
119287
121007
|
export interface TrackingReportsEventVolumeOutput {
|
|
121008
|
+
/**
|
|
121009
|
+
* End of the range the figures cover, echoed back (ISO 8601, UTC).
|
|
121010
|
+
*/
|
|
119288
121011
|
to: string;
|
|
121012
|
+
/**
|
|
121013
|
+
* Start of the range the figures cover, echoed back (ISO 8601, UTC).
|
|
121014
|
+
*/
|
|
119289
121015
|
from: string;
|
|
121016
|
+
/**
|
|
121017
|
+
* Site the figures were restricted to; null when every site of the product is included.
|
|
121018
|
+
*/
|
|
119290
121019
|
domain: (string | null);
|
|
121020
|
+
/**
|
|
121021
|
+
* When this report was computed (ISO 8601, UTC).
|
|
121022
|
+
*/
|
|
119291
121023
|
computedAt: string;
|
|
121024
|
+
/**
|
|
121025
|
+
* How COMPLETE the two headline figures above are. Contains no metric of its own — never present a field of it as a headline number and never add it to anything. consentGrantedEvents + cookielessEvents + noBannerEvents = totalEvents.
|
|
121026
|
+
*/
|
|
119292
121027
|
dataQuality: {
|
|
121028
|
+
/**
|
|
121029
|
+
* Fraction of `totalEvents` (0..1) that came from sites running no consent banner, where nobody was ever asked.
|
|
121030
|
+
*/
|
|
119293
121031
|
noBannerShare: number;
|
|
121032
|
+
/**
|
|
121033
|
+
* Events from sites with no consent banner. Kept apart from `cookielessEvents` on purpose: nobody refused here, nobody was asked.
|
|
121034
|
+
*/
|
|
119294
121035
|
noBannerEvents: number;
|
|
121036
|
+
/**
|
|
121037
|
+
* How many UTC days the range spans; each one re-counts a returning declining visitor.
|
|
121038
|
+
*/
|
|
119295
121039
|
utcDaysInRange: number;
|
|
121040
|
+
/**
|
|
121041
|
+
* Fraction of `totalEvents` (0..1) that came from visitors who declined statistics consent.
|
|
121042
|
+
*/
|
|
119296
121043
|
cookielessShare: number;
|
|
121044
|
+
/**
|
|
121045
|
+
* Events from visitors who declined; no cookie was written and no identifier sent.
|
|
121046
|
+
*/
|
|
119297
121047
|
cookielessEvents: number;
|
|
121048
|
+
/**
|
|
121049
|
+
* Events carrying an anonymous id. A different cut that overlaps the three consent buckets — it is not the complement of `cookielessEvents` and must never be added to it.
|
|
121050
|
+
*/
|
|
119298
121051
|
identifiedEvents: number;
|
|
121052
|
+
/**
|
|
121053
|
+
* True when `visitorsDeduplicatedPerUtcDay` over-counts for this range: the range spans more than one UTC day and there is declining traffic in it.
|
|
121054
|
+
*/
|
|
119299
121055
|
visitorsOverstated: boolean;
|
|
121056
|
+
/**
|
|
121057
|
+
* Events from visitors who granted statistics consent.
|
|
121058
|
+
*/
|
|
119300
121059
|
consentGrantedEvents: number;
|
|
119301
121060
|
};
|
|
121061
|
+
/**
|
|
121062
|
+
* How many events arrived in the range, across every consent state.
|
|
121063
|
+
*/
|
|
119302
121064
|
totalEvents: number;
|
|
121065
|
+
/**
|
|
121066
|
+
* How many PEOPLE those events came from: one COUNT DISTINCT over consenting visitors (by anonymous id) and declining visitors (by a daily key destroyed each UTC midnight) at once. Over a range longer than one UTC day this is an OVER-count of the declining half — read `dataQuality.visitorsOverstated` before reporting it.
|
|
121067
|
+
*/
|
|
119303
121068
|
visitorsDeduplicatedPerUtcDay: number;
|
|
119304
121069
|
}
|
|
119305
121070
|
export interface TrackingReportsRevenueBySourceInput {
|
|
119306
121071
|
/**
|
|
119307
|
-
* Cohort window end (ISO)
|
|
121072
|
+
* Cohort window end (ISO). Optional — defaults to the moment of the call.
|
|
119308
121073
|
*/
|
|
119309
|
-
to
|
|
121074
|
+
to?: string;
|
|
119310
121075
|
/**
|
|
119311
|
-
* Cohort window start (ISO); selects conversions by subscription start
|
|
121076
|
+
* Cohort window start (ISO); selects conversions by subscription start. Optional — defaults to 30 days back, the start of that UTC day.
|
|
119312
121077
|
*/
|
|
119313
|
-
from
|
|
121078
|
+
from?: string;
|
|
119314
121079
|
/**
|
|
119315
121080
|
* Attribution model
|
|
119316
121081
|
*/
|
|
@@ -119325,53 +121090,149 @@ export interface TrackingReportsRevenueBySourceInput {
|
|
|
119325
121090
|
lookbackDays?: number;
|
|
119326
121091
|
}
|
|
119327
121092
|
export interface TrackingReportsRevenueBySourceOutput {
|
|
121093
|
+
/**
|
|
121094
|
+
* End of the cohort window the figures cover, echoed back (ISO 8601, UTC).
|
|
121095
|
+
*/
|
|
119328
121096
|
to: string;
|
|
121097
|
+
/**
|
|
121098
|
+
* Start of the cohort window the figures cover, echoed back (ISO 8601, UTC).
|
|
121099
|
+
*/
|
|
119329
121100
|
from: string;
|
|
121101
|
+
/**
|
|
121102
|
+
* Attribution model the credit was assigned under, echoed back. Pass the same value to `tracking_reports_source_people` to drill into a row.
|
|
121103
|
+
*/
|
|
119330
121104
|
model: ("last_click" | "first_click");
|
|
121105
|
+
/**
|
|
121106
|
+
* Site touchpoints were restricted to; null when every site of the product was considered.
|
|
121107
|
+
*/
|
|
119331
121108
|
domain: (string | null);
|
|
121109
|
+
/**
|
|
121110
|
+
* Every channel plus `unattributed`. This is the whole window, not the attributed part of it.
|
|
121111
|
+
*/
|
|
119332
121112
|
totals: {
|
|
121113
|
+
/**
|
|
121114
|
+
* Revenue over every channel plus `unattributed`, one row per currency.
|
|
121115
|
+
*/
|
|
119333
121116
|
revenue: TrackingReportsRevenueBySourceOutputItems[];
|
|
121117
|
+
/**
|
|
121118
|
+
* Distinct paying people over every channel plus `unattributed`.
|
|
121119
|
+
*/
|
|
119334
121120
|
customers: number;
|
|
119335
121121
|
};
|
|
121122
|
+
/**
|
|
121123
|
+
* One row per channel that earned revenue in the window. Channels with none are omitted.
|
|
121124
|
+
*/
|
|
119336
121125
|
channels: {
|
|
121126
|
+
/**
|
|
121127
|
+
* Which acquisition channel this row aggregates.
|
|
121128
|
+
*/
|
|
119337
121129
|
channel: ("paid" | "organic" | "direct" | "email");
|
|
121130
|
+
/**
|
|
121131
|
+
* Revenue credited to this channel, one row per currency, ordered by currency code. Currencies are never summed, so there is no single figure here: a product trading in two currencies has two rows and both must be reported.
|
|
121132
|
+
*/
|
|
119338
121133
|
revenue: TrackingReportsRevenueBySourceOutputItems[];
|
|
121134
|
+
/**
|
|
121135
|
+
* Distinct paying people credited to this channel.
|
|
121136
|
+
*/
|
|
119339
121137
|
customers: number;
|
|
121138
|
+
/**
|
|
121139
|
+
* The channel split by UTM combination. Each row is a drill-down target for `tracking_reports_source_people`.
|
|
121140
|
+
*/
|
|
119340
121141
|
utmBreakdown: {
|
|
121142
|
+
/**
|
|
121143
|
+
* Revenue credited to this UTM combination, one row per currency.
|
|
121144
|
+
*/
|
|
119341
121145
|
revenue: TrackingReportsRevenueBySourceOutputItems[];
|
|
121146
|
+
/**
|
|
121147
|
+
* Distinct paying people credited to this UTM combination.
|
|
121148
|
+
*/
|
|
119342
121149
|
customers: number;
|
|
121150
|
+
/**
|
|
121151
|
+
* utm_medium of this row; null when the visit carried none.
|
|
121152
|
+
*/
|
|
119343
121153
|
utmMedium: (string | null);
|
|
121154
|
+
/**
|
|
121155
|
+
* utm_source of this row; null when the visit carried none.
|
|
121156
|
+
*/
|
|
119344
121157
|
utmSource: (string | null);
|
|
121158
|
+
/**
|
|
121159
|
+
* Ad-network click id present on the visit, e.g. 'gclid'; null when it carried none.
|
|
121160
|
+
*/
|
|
119345
121161
|
clickIdType: (string | null);
|
|
121162
|
+
/**
|
|
121163
|
+
* utm_campaign of this row; null when the visit carried none.
|
|
121164
|
+
*/
|
|
119346
121165
|
utmCampaign: (string | null);
|
|
119347
121166
|
}[];
|
|
119348
121167
|
}[];
|
|
121168
|
+
/**
|
|
121169
|
+
* Fraction of paying people (0..1) a touchpoint could be found for: attributed customers over `totals.customers`. Count-based, never revenue-weighted.
|
|
121170
|
+
*/
|
|
119349
121171
|
matchRate: number;
|
|
121172
|
+
/**
|
|
121173
|
+
* When this report was computed (ISO 8601, UTC).
|
|
121174
|
+
*/
|
|
119350
121175
|
computedAt: string;
|
|
121176
|
+
/**
|
|
121177
|
+
* How far back before a conversion a touchpoint was allowed to be credited, in days; echoed back.
|
|
121178
|
+
*/
|
|
119351
121179
|
lookbackDays: number;
|
|
121180
|
+
/**
|
|
121181
|
+
* Revenue that reached no channel — kept as its own row so the channel rows are never quietly inflated to cover it.
|
|
121182
|
+
*/
|
|
119352
121183
|
unattributed: {
|
|
121184
|
+
/**
|
|
121185
|
+
* Revenue no touchpoint could be credited for, one row per currency.
|
|
121186
|
+
*/
|
|
119353
121187
|
revenue: TrackingReportsRevenueBySourceOutputItems[];
|
|
121188
|
+
/**
|
|
121189
|
+
* Distinct paying people no touchpoint could be credited for.
|
|
121190
|
+
*/
|
|
119354
121191
|
customers: number;
|
|
119355
121192
|
};
|
|
119356
121193
|
}
|
|
119357
121194
|
export interface TrackingReportsRevenueBySourceOutputItems {
|
|
121195
|
+
/**
|
|
121196
|
+
* ISO 4217 code the amounts below are denominated in, e.g. EUR.
|
|
121197
|
+
*/
|
|
119358
121198
|
currency: string;
|
|
121199
|
+
/**
|
|
121200
|
+
* `grossMinor` minus `refundedMinor`, in minor units of `currency`. This is the figure to report.
|
|
121201
|
+
*/
|
|
119359
121202
|
netMinor: number;
|
|
121203
|
+
/**
|
|
121204
|
+
* Billed amount before refunds, in minor units of `currency` (cents for EUR).
|
|
121205
|
+
*/
|
|
119360
121206
|
grossMinor: number;
|
|
121207
|
+
/**
|
|
121208
|
+
* Amount refunded out of `grossMinor`, in minor units of `currency`.
|
|
121209
|
+
*/
|
|
119361
121210
|
refundedMinor: number;
|
|
119362
121211
|
}
|
|
119363
121212
|
export interface TrackingReportsSourcePeopleInput {
|
|
119364
|
-
|
|
119365
|
-
|
|
121213
|
+
/**
|
|
121214
|
+
* Cohort window end (ISO); must match the report this row came from. Optional — defaults to the moment of the call.
|
|
121215
|
+
*/
|
|
121216
|
+
to?: string;
|
|
121217
|
+
/**
|
|
121218
|
+
* Cohort window start (ISO); must match the report this row came from. Optional — defaults to 30 days back, the start of that UTC day.
|
|
121219
|
+
*/
|
|
121220
|
+
from?: string;
|
|
119366
121221
|
/**
|
|
119367
121222
|
* People per page (default 50, max 200)
|
|
119368
121223
|
*/
|
|
119369
121224
|
limit?: number;
|
|
121225
|
+
/**
|
|
121226
|
+
* Attribution model to credit the touchpoint under; must match the report this row came from (default 'last_click').
|
|
121227
|
+
*/
|
|
119370
121228
|
model?: ("last_click" | "first_click");
|
|
119371
121229
|
/**
|
|
119372
121230
|
* Opaque keyset cursor from a previous page
|
|
119373
121231
|
*/
|
|
119374
121232
|
cursor?: string;
|
|
121233
|
+
/**
|
|
121234
|
+
* Only consider touchpoints on this domain; must match the report this row came from. Omit for no restriction.
|
|
121235
|
+
*/
|
|
119375
121236
|
domain?: string;
|
|
119376
121237
|
/**
|
|
119377
121238
|
* Channel to drill into
|
|
@@ -119381,26 +121242,71 @@ export interface TrackingReportsSourcePeopleInput {
|
|
|
119381
121242
|
* Comma-separated dimension names (utmSource,utmMedium,utmCampaign,clickIdType) that must be IS NULL
|
|
119382
121243
|
*/
|
|
119383
121244
|
utmNulls?: string;
|
|
121245
|
+
/**
|
|
121246
|
+
* utm_medium of the breakdown row to drill into. Omit for no filter; to match the IS-NULL row, list it in utmNulls instead.
|
|
121247
|
+
*/
|
|
119384
121248
|
utmMedium?: string;
|
|
121249
|
+
/**
|
|
121250
|
+
* utm_source of the breakdown row to drill into. Omit for no filter; to match the IS-NULL row, list it in utmNulls instead.
|
|
121251
|
+
*/
|
|
119385
121252
|
utmSource?: string;
|
|
119386
121253
|
/**
|
|
119387
121254
|
* Native click-id type of the breakdown row to drill into (e.g. 'gclid'). Tri-state: omit for no filter (all click ids), pass a value to match it, or list 'clickIdType' in utmNulls to match the IS-NULL row.
|
|
119388
121255
|
*/
|
|
119389
121256
|
clickIdType?: string;
|
|
121257
|
+
/**
|
|
121258
|
+
* utm_campaign of the breakdown row to drill into. Omit for no filter; to match the IS-NULL row, list it in utmNulls instead.
|
|
121259
|
+
*/
|
|
119390
121260
|
utmCampaign?: string;
|
|
121261
|
+
/**
|
|
121262
|
+
* How far back before a conversion a touchpoint may be credited, in days; must match the report this row came from (default 30).
|
|
121263
|
+
*/
|
|
119391
121264
|
lookbackDays?: number;
|
|
119392
121265
|
}
|
|
119393
121266
|
export interface TrackingReportsSourcePeopleOutput {
|
|
121267
|
+
/**
|
|
121268
|
+
* Pass back as `cursor` for the next page. Null on the last page.
|
|
121269
|
+
*/
|
|
119394
121270
|
cursor: (string | null);
|
|
121271
|
+
/**
|
|
121272
|
+
* The page of people behind the requested row, ordered by the keyset the cursor walks.
|
|
121273
|
+
*/
|
|
119395
121274
|
people: {
|
|
121275
|
+
/**
|
|
121276
|
+
* Where this person stands in their subscription lifecycle, e.g. active or churned.
|
|
121277
|
+
*/
|
|
119396
121278
|
status: string;
|
|
121279
|
+
/**
|
|
121280
|
+
* Identifier of this person; pass it to `tracking_reports_attributed_journey` to see why they were credited here.
|
|
121281
|
+
*/
|
|
119397
121282
|
profileId: string;
|
|
121283
|
+
/**
|
|
121284
|
+
* Most recent tracked activity for this person (ISO 8601, UTC); null when none was recorded.
|
|
121285
|
+
*/
|
|
119398
121286
|
lastSeenAt: (string | null);
|
|
121287
|
+
/**
|
|
121288
|
+
* Earliest tracked activity for this person (ISO 8601, UTC); null when none was recorded.
|
|
121289
|
+
*/
|
|
119399
121290
|
firstSeenAt: (string | null);
|
|
121291
|
+
/**
|
|
121292
|
+
* Lifetime revenue credited to this person under the requested model, one row per currency.
|
|
121293
|
+
*/
|
|
119400
121294
|
attributedRevenue: {
|
|
121295
|
+
/**
|
|
121296
|
+
* ISO 4217 code the amounts below are denominated in, e.g. EUR.
|
|
121297
|
+
*/
|
|
119401
121298
|
currency: string;
|
|
121299
|
+
/**
|
|
121300
|
+
* `grossMinor` minus `refundedMinor`, in minor units of `currency`. This is the figure to report.
|
|
121301
|
+
*/
|
|
119402
121302
|
netMinor: number;
|
|
121303
|
+
/**
|
|
121304
|
+
* Billed amount before refunds, in minor units of `currency` (cents for EUR).
|
|
121305
|
+
*/
|
|
119403
121306
|
grossMinor: number;
|
|
121307
|
+
/**
|
|
121308
|
+
* Amount refunded out of `grossMinor`, in minor units of `currency`.
|
|
121309
|
+
*/
|
|
119404
121310
|
refundedMinor: number;
|
|
119405
121311
|
}[];
|
|
119406
121312
|
}[];
|
|
@@ -119408,9 +121314,21 @@ export interface TrackingReportsSourcePeopleOutput {
|
|
|
119408
121314
|
export interface TrackingSnippetsGetInput {
|
|
119409
121315
|
}
|
|
119410
121316
|
export interface TrackingSnippetsGetOutput {
|
|
121317
|
+
/**
|
|
121318
|
+
* Tracking host the snippet sends to — the customer-facing domain events and the bundle are served from.
|
|
121319
|
+
*/
|
|
119411
121320
|
host: string;
|
|
121321
|
+
/**
|
|
121322
|
+
* The tag to paste into every page, verbatim, before </head>. Includes the consent-aware bootstrap; install it unconditionally rather than behind a consent gate.
|
|
121323
|
+
*/
|
|
119412
121324
|
snippet: string;
|
|
121325
|
+
/**
|
|
121326
|
+
* Absolute URL of the tracker bundle the snippet loads; already points at this product's own tracking host.
|
|
121327
|
+
*/
|
|
119413
121328
|
scriptUrl: string;
|
|
121329
|
+
/**
|
|
121330
|
+
* The same tag stripped to the bare script element, for tag managers and CMS fields that reject anything else. Behaves identically; use it only when the full snippet will not fit.
|
|
121331
|
+
*/
|
|
119414
121332
|
minimalSnippet: string;
|
|
119415
121333
|
}
|
|
119416
121334
|
export interface UsersApikeysCreateInput {
|