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.
Events reference
Drop-ins communicate via the event bus.
| Event | Direction | Description |
|---|---|---|
| cart/initialized | Listens | Fired by Cart (cart) when the component completes initialization. |
| cart/updated | Listens | Fired by Cart (cart) when the component state is updated. |
| order/placed | Listens | Fired by Order (order) when an order is placed. |
| personalization/updated | Emits and listens | Triggered when the component state is updated. |
Event details
cart/initialized (listens)
Fired by Cart (cart) when the component completes initialization.
Event payload
CartModel | nullSee 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 listeningcartInitializedListener.off();cart/updated (listens)
Fired by Cart (cart) when the component state is updated.
Event payload
CartModel | nullSee 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 listeningcartUpdatedListener.off();order/placed (listens)
Fired by Order (order) when an order is placed.
Event payload
OrderDataModelSee 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 listeningorderPlacedListener.off();personalization/updated (emits and listens)
Triggered when the component state is updated.
Event payload
PersonalizationData,'personalization/type-matched': string,'cart/initialized': CartModel | nullSee 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 listeningpersonalizationUpdatedListener.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[]}