canPersonalize
canPersonalize: Observable<boolean>
consent
consent: Observable<boolean | undefined>
eventStream
eventStream: Observable<
| {
channel: "mobile"
| "server"
| "web";
context: {
app?: { name: string; version: string };
campaign: {
content?: string;
medium?: string;
name?: string;
source?: string;
term?: string;
};
gdpr: { isConsentGiven: boolean };
library: { name: string; version: string };
locale: string;
location?: {
city?: string;
continent?: string;
coordinates?: { latitude: number; longitude: number };
country?: string;
countryCode?: string;
postalCode?: string;
region?: string;
regionCode?: string;
timezone?: string;
};
page?: {
path: string;
query: Record<string, string>;
referrer: string;
search: string;
title?: string;
url: string;
[key: string]: JSONType;
};
screen?: { name: string; [key: string]: JSONType };
userAgent?: string;
};
messageId: string;
originalTimestamp: string;
sentAt: string;
timestamp: string;
type: "alias";
userId?: string;
}
| {
channel: "mobile"
| "server"
| "web";
componentId: string;
componentType: "Entry" | "Variable";
componentViewId: string;
context: {
app?: { name: string; version: string };
campaign: {
content?: string;
medium?: string;
name?: string;
source?: string;
term?: string;
};
gdpr: { isConsentGiven: boolean };
library: { name: string; version: string };
locale: string;
location?: {
city?: string;
continent?: string;
coordinates?: { latitude: number; longitude: number };
country?: string;
countryCode?: string;
postalCode?: string;
region?: string;
regionCode?: string;
timezone?: string;
};
page?: {
path: string;
query: Record<string, string>;
referrer: string;
search: string;
title?: string;
url: string;
[key: string]: JSONType;
};
screen?: { name: string; [key: string]: JSONType };
userAgent?: string;
};
experienceId?: string;
messageId: string;
originalTimestamp: string;
sentAt: string;
timestamp: string;
type: "component";
userId?: string;
variantIndex: number;
viewDurationMs: number;
}
| {
channel: "mobile"
| "server"
| "web";
context: {
app?: { name: string; version: string };
campaign: {
content?: string;
medium?: string;
name?: string;
source?: string;
term?: string;
};
gdpr: { isConsentGiven: boolean };
library: { name: string; version: string };
locale: string;
location?: {
city?: string;
continent?: string;
coordinates?: { latitude: number; longitude: number };
country?: string;
countryCode?: string;
postalCode?: string;
region?: string;
regionCode?: string;
timezone?: string;
};
page?: {
path: string;
query: Record<string, string>;
referrer: string;
search: string;
title?: string;
url: string;
[key: string]: JSONType;
};
screen?: { name: string; [key: string]: JSONType };
userAgent?: string;
};
messageId: string;
originalTimestamp: string;
sentAt: string;
timestamp: string;
type: "group";
userId?: string;
}
| {
channel: "mobile"
| "server"
| "web";
context: {
app?: { name: string; version: string };
campaign: {
content?: string;
medium?: string;
name?: string;
source?: string;
term?: string;
};
gdpr: { isConsentGiven: boolean };
library: { name: string; version: string };
locale: string;
location?: {
city?: string;
continent?: string;
coordinates?: { latitude: number; longitude: number };
country?: string;
countryCode?: string;
postalCode?: string;
region?: string;
regionCode?: string;
timezone?: string;
};
page?: {
path: string;
query: Record<string, string>;
referrer: string;
search: string;
title?: string;
url: string;
[key: string]: JSONType;
};
screen?: { name: string; [key: string]: JSONType };
userAgent?: string;
};
messageId: string;
originalTimestamp: string;
sentAt: string;
timestamp: string;
traits: Record<string, JSONType>;
type: "identify";
userId?: string;
}
| {
channel: "mobile"
| "server"
| "web";
context: {
app?: { name: string; version: string };
campaign: {
content?: string;
medium?: string;
name?: string;
source?: string;
term?: string;
};
gdpr: { isConsentGiven: boolean };
library: { name: string; version: string };
locale: string;
location?: {
city?: string;
continent?: string;
coordinates?: { latitude: number; longitude: number };
country?: string;
countryCode?: string;
postalCode?: string;
region?: string;
regionCode?: string;
timezone?: string;
};
page: {
path: string;
query: Record<string, string>;
referrer: string;
search: string;
title?: string;
url: string;
[key: string]: JSONType;
};
userAgent?: string;
};
messageId: string;
name?: string;
originalTimestamp: string;
properties: {
path: string;
query: Record<string, string>;
referrer: string;
search: string;
title?: string;
url: string;
[key: string]: JSONType;
};
sentAt: string;
timestamp: string;
type: "page";
userId?: string;
}
| {
channel: "mobile"
| "server"
| "web";
context: {
app?: { name: string; version: string };
campaign: {
content?: string;
medium?: string;
name?: string;
source?: string;
term?: string;
};
gdpr: { isConsentGiven: boolean };
library: { name: string; version: string };
locale: string;
location?: {
city?: string;
continent?: string;
coordinates?: { latitude: number; longitude: number };
country?: string;
countryCode?: string;
postalCode?: string;
region?: string;
regionCode?: string;
timezone?: string;
};
screen: { name: string; [key: string]: JSONType };
userAgent?: string;
};
messageId: string;
name: string;
originalTimestamp: string;
properties?: Record<string, JSONType>;
sentAt: string;
timestamp: string;
type: "screen";
userId?: string;
}
| {
channel: "mobile"
| "server"
| "web";
context: {
app?: { name: string; version: string };
campaign: {
content?: string;
medium?: string;
name?: string;
source?: string;
term?: string;
};
gdpr: { isConsentGiven: boolean };
library: { name: string; version: string };
locale: string;
location?: {
city?: string;
continent?: string;
coordinates?: { latitude: number; longitude: number };
country?: string;
countryCode?: string;
postalCode?: string;
region?: string;
regionCode?: string;
timezone?: string;
};
page?: {
path: string;
query: Record<string, string>;
referrer: string;
search: string;
title?: string;
url: string;
[key: string]: JSONType;
};
screen?: { name: string; [key: string]: JSONType };
userAgent?: string;
};
event: string;
messageId: string;
originalTimestamp: string;
properties: Record<string, JSONType>;
sentAt: string;
timestamp: string;
type: "track";
userId?: string;
}
| {
channel: "mobile"
| "server"
| "web";
componentId: string;
componentType: "Entry" | "Variable";
context: {
app?: { name: string; version: string };
campaign: {
content?: string;
medium?: string;
name?: string;
source?: string;
term?: string;
};
gdpr: { isConsentGiven: boolean };
library: { name: string; version: string };
locale: string;
location?: {
city?: string;
continent?: string;
coordinates?: { latitude: number; longitude: number };
country?: string;
countryCode?: string;
postalCode?: string;
region?: string;
regionCode?: string;
timezone?: string;
};
page?: {
path: string;
query: Record<string, string>;
referrer: string;
search: string;
title?: string;
url: string;
[key: string]: JSONType;
};
screen?: { name: string; [key: string]: JSONType };
userAgent?: string;
};
experienceId?: string;
messageId: string;
originalTimestamp: string;
sentAt: string;
timestamp: string;
type: "component_click";
userId?: string;
variantIndex: number;
}
| {
channel: "mobile"
| "server"
| "web";
componentHoverId: string;
componentId: string;
componentType: "Entry" | "Variable";
context: {
app?: { name: string; version: string };
campaign: {
content?: string;
medium?: string;
name?: string;
source?: string;
term?: string;
};
gdpr: { isConsentGiven: boolean };
library: { name: string; version: string };
locale: string;
location?: {
city?: string;
continent?: string;
coordinates?: { latitude: number; longitude: number };
country?: string;
countryCode?: string;
postalCode?: string;
region?: string;
regionCode?: string;
timezone?: string;
};
page?: {
path: string;
query: Record<string, string>;
referrer: string;
search: string;
title?: string;
url: string;
[key: string]: JSONType;
};
screen?: { name: string; [key: string]: JSONType };
userAgent?: string;
};
experienceId?: string;
hoverDurationMs: number;
messageId: string;
originalTimestamp: string;
sentAt: string;
timestamp: string;
type: "component_hover";
userId?: string;
variantIndex: number;
}
| undefined,
>
flags
flags: Observable<Flags | undefined> personalizations
personalizations: Observable<
| {
experienceId: string;
sticky?: boolean;
variantIndex: number;
variants: Record<string, string>;
}[]
| undefined,
>
previewPanelAttached
previewPanelAttached: Observable<boolean>
previewPanelOpen
previewPanelOpen: Observable<boolean>
profile
profile: Observable<
| {
audiences: string[];
id: string;
location: {
city?: string;
continent?: string;
coordinates?: { latitude: number; longitude: number };
country?: string;
countryCode?: string;
postalCode?: string;
region?: string;
regionCode?: string;
timezone?: string;
};
random: number;
session: {
activeSessionLength: number;
averageSessionLength: number;
count: number;
id: string;
isReturningVisitor: boolean;
landingPage: {
path: string;
query: Record<string, string>;
referrer: string;
search: string;
title?: string;
url: string;
[key: string]: JSONType;
};
};
stableId: string;
traits: Record<string, JSONType>;
}
| undefined,
>
Combined observable state exposed by the stateful core.
See