%% Real-time personalisation reference architecture %% Reference architecture: a reusable pattern, not a live client integration flowchart TB subgraph z0["Visitor's browser or device"] web["Website
Salesforce Interactions SDK"] app["Mobile app
Mobile SDK"] webx["Web and app experiences
content zones, screens"] end subgraph z1["Salesforce Data 360 and Personalization"] rt["Real-time layer
real-time data graphs"] batch["Standard data path
streams, DLOs, DMOs"] decide["Salesforce Personalization
Personalization Points"] items["Item Data Graph
catalogue and content"] consent["Consent store
consent DMOs in Data 360"] end srv["Server-side events
server-to-server ingestion"] crm["CRM and commerce data
zero-cost connectors"] email["Email
Marketing Cloud"] exp["Experiments and holdouts
A/B and multivariate"] bi["Analytics
lift reporting"] web -->|"consented events"| rt app -->|"app events"| rt srv -->|"server events"| rt crm -->|"profile and orders"| batch batch -.->|"harmonised attributes"| rt rt -->|"profile at request time"| decide items -->|"catalogue"| decide decide -->|"decision response"| webx decide -->|"send-time or batch"| email consent -->|"consent at send"| email webx -->|"exposures"| exp email -->|"engagement"| exp exp -->|"results"| bi webx -.->|"clicks and views"| rt classDef salesforce stroke:#125BD8,fill:#e8f0fd class crm salesforce classDef data stroke:#2f8a3a,fill:#e9f6ea class rt,batch,items,exp,bi data classDef engagement stroke:#5747AF,fill:#efedfa class email engagement classDef ai stroke:#5747AF,fill:#f6f4fd class decide ai classDef integration stroke:#334155,fill:#eef2f6 class srv integration classDef security stroke:#1f2937,fill:#f3f4f6 class consent security classDef channel stroke:#2f8a3a,fill:#ffffff class web,app,webx channel