Skip to content

Personalization Data & Events

The Personalization drop-in listens to cart and order events, triggering personalized content updates based on user behavior and shopping activity throughout the storefront.

Version: 1.0.1

Events reference

Drop-ins communicate via the event bus.

EventDirectionDescription
cart/initializedListensFired by Cart (cart) when the component completes initialization.
cart/updatedListensFired by Cart (cart) when the component state is updated.
order/placedListensFired by Order (order) when an order is placed.
personalization/updatedEmits and listensTriggered when the component state is updated.

Event details

cart/initialized (listens)

Fired by Cart (cart) when the component completes initialization.

Event payload

CartModel | null

See CartModel for full type definition.

Usage

import { events } from '@dropins/tools/event-bus.js';
const cartInitializedListener = events.on('cart/initialized', (data) => {
console.log('cart/initialized event received:', data);
// Add your custom logic here
});
// Later, when you want to stop listening
cartInitializedListener.off();

cart/updated (listens)

Fired by Cart (cart) when the component state is updated.

Event payload

CartModel | null

See CartModel for full type definition.

Usage

import { events } from '@dropins/tools/event-bus.js';
const cartUpdatedListener = events.on('cart/updated', (data) => {
console.log('cart/updated event received:', data);
// Add your custom logic here
});
// Later, when you want to stop listening
cartUpdatedListener.off();

order/placed (listens)

Fired by Order (order) when an order is placed.

Event payload

OrderDataModel

See OrderDataModel for full type definition.

Usage

import { events } from '@dropins/tools/event-bus.js';
const orderPlacedListener = events.on('order/placed', (data) => {
console.log('order/placed event received:', data);
// Add your custom logic here
});
// Later, when you want to stop listening
orderPlacedListener.off();

personalization/updated (emits and listens)

Triggered when the component state is updated.

Event payload

PersonalizationData,
'personalization/type-matched': string,
'cart/initialized': CartModel | null

See PersonalizationData, CartModel for full type definitions.

Usage

import { events } from '@dropins/tools/event-bus.js';
const personalizationUpdatedListener = events.on('personalization/updated', (data) => {
console.log('personalization/updated event received:', data);
// Add your custom logic here
});
// Later, when you want to stop listening
personalizationUpdatedListener.off();

Data Models

The following data models are used in event payloads for this drop-in.

CartModel

Used in: cart/initialized, cart/updated, personalization/updated.

interface CartModel {
id: string;
}

OrderDataModel

Used in: order/placed.

interface OrderDataModel {
id: string;
}

PersonalizationData

Used in: personalization/updated.

interface PersonalizationData {
segments: string[],
groups: string[],
cartRules: string[]
}