LEO Customer 360 — Data Journey Map

Business question

“Who is this customer, what are they doing now, what are they likely to do next, and what should LEO do about it?”

Stage1. Capture2. Assemble3. Score4. Segment5. Syndicate6. Engage
PurposeCollect behavioral & transactional signalsBuild unified Customer 360Turn signals into intelligenceDecide who belongs to which audiencePush audience/profile to channelsDeliver personalized experience
DataWeb, App, POS, CRM, Ads, SocialIdentity + Profile + EventsRFM, CLV, Lead, Churn, PropensityBehavioral / Value / IntentAudience + attributes + scoresContent, Offer, Product, Message
Core LEO capabilityEvent TrackingIdentity ResolutionCustomer IntelligenceSegmentationActivationPersonalization
OutputRaw EventsUnified ProfileCustomer ScoresAudienceActivated AudienceCustomer Interaction
FeedbackNew eventProfile updateScore recalculationSegment movementDelivery / responseConversion / behavior

1. The visual Data Journey

                         LEO CUSTOMER 360
                              DATA JOURNEY
 
 ┌──────────┐    ┌──────────┐    ┌──────────┐
 │ CAPTURE  │───▶│ ASSEMBLE │───▶│  SCORE   │
 └──────────┘    └──────────┘    └──────────┘
      │               │               │
      ▼               ▼               ▼
 Web / App        Identity         RFM
 POS              Resolution       CLV
 CRM              Customer 360     Lead Score
 GA4              Customer Graph   Churn Score
 Ads              Event History    Propensity
 Social
      │               │               │
      └───────────────┴───────────────┘


                       ┌───────────┐
                       │  SEGMENT  │
                       └───────────┘

                    ┌─────────┴─────────┐
                    ▼                   ▼
             Behavioral           Predictive
              Segment              Segment
                    │                   │
                    └─────────┬─────────┘

                       ┌───────────┐
                       │ SYNDICATE │
                       └───────────┘

             ┌────────────────┼────────────────┐
             ▼                ▼                ▼
           CRM/           Ads/Media         Website/
         Marketing                         App/API


                       ┌───────────┐
                       │  ENGAGE   │
                       └───────────┘


                     Customer Response


                         New Events

                              └───────────────▶ CAPTURE

This makes the important point:

LEO Customer 360 is a closed-loop system, not a database.


2. Detailed Data Journey

StageSteps in the Data JourneyData Interaction / PlatformData Flow
CaptureCustomer visits websiteWebsite + LEO Tracking SDK + GA4page_view
Customer searchesWebsite / Appsearch
Customer views productWebsite / Appitem_view
Customer adds productWebsite / Appadd_to_cart
Customer purchasesPOS / Ecommerce / CRMpurchase
Customer responds to campaignEmail / SMS / Zalo / Adscampaign_*
Customer interacts with social/mediaMeta / TikTok / Zalo / Googlead_*, social_*
AssembleIdentify visitorIdentity Resolutionvisid → profile_id
Resolve known customerPhone / Email / CRM IDidentity_resolved
Merge anonymous + known identityIdentity Graphprofile_merged
Build Customer 360Profile + Events + Transactionsprofile_updated
Build Customer GraphCustomer ↔ Product ↔ Channel ↔ Campaignrelationship_created
ScoreCalculate RFMCustomer transactionsrfm_score_updated
Calculate CLVTransactions + customer historyclv_score_updated
Calculate Lead ScoreBehavior + profile + intentlead_score_updated
Calculate Churn ScoreBehavior + inactivitychurn_score_updated
Calculate propensityML / AIpropensity_score_updated
SegmentBehavioral segmentationEvent streamsegment_entered
Value segmentationRFM / CLVsegment_entered
Intent segmentationProduct behaviorsegment_entered
Predictive segmentationML scoresegment_entered
SyndicateSend audience to marketingCRM / Marketing Automationaudience_synced
Send audience to AdsGoogle / Meta / TikTokaudience_activated
Send profile to websitePersonalization APIprofile_activated
Send profile to salesCRMlead_activated
EngagePersonalize contentWeb / Appcontent_impression
Recommend productRecommendation APIrecommendation_shown
Send campaignEmail / SMS / Zalomessage_sent
Customer clicksChannelmessage_clicked
Customer convertsEcommerce / POSpurchase
Feedback returns to LEOAll channelsNew event → Capture

3. LEO Event Catalog

I would organize the Event Catalog into 10 event families, rather than having one huge flat event list.

A. Identity & Profile

EventMeaningPrimary Source
identity_createdNew identity detectedLEO
identity_resolvedAnonymous identity matched to customerLEO CIR
identity_mergedMultiple identities mergedLEO CIR
profile_createdCustomer 360 profile createdLEO
profile_updatedCustomer attributes changedCRM / POS / LEO
profile_deletedProfile removedCRM / Privacy
consent_updatedConsent preference changedCRM / Website

B. Web & App Behavior

EventMeaning
session_startedCustomer starts session
page_viewPage viewed
screen_viewMobile screen viewed
searchCustomer performs search
item_viewProduct viewed
category_viewProduct category viewed
content_viewContent viewed
video_startVideo started
video_completeVideo completed
clickCTA / link clicked
form_startForm started
form_submitForm submitted
loginCustomer logs in
logoutCustomer logs out

C. Ecommerce

EventMeaning
product_viewProduct viewed
add_to_cartProduct added
remove_from_cartProduct removed
cart_viewCart viewed
checkout_startCheckout started
checkout_stepCheckout step completed
purchaseTransaction completed
refundTransaction refunded
cancelOrder cancelled
wishlist_addProduct added to wishlist
wishlist_removeProduct removed

D. Retail / POS

EventMeaning
store_visitCustomer visits store
pos_transactionPOS transaction
product_purchasedProduct purchased
product_returnedProduct returned
coupon_redeemedCoupon redeemed
loyalty_point_earnedPoints earned
loyalty_point_redeemedPoints redeemed

E. Marketing

EventMeaning
campaign_exposedCustomer entered campaign exposure
message_sentMessage sent
message_deliveredMessage delivered
message_openedMessage opened
message_clickedMessage clicked
campaign_convertedCampaign conversion
campaign_unsubscribedCustomer unsubscribed
ad_impressionAd impression
ad_clickedAd clicked

F. Lead & Sales

EventMeaning
lead_createdNew lead
lead_updatedLead information changed
lead_qualifiedLead qualified
lead_assignedLead assigned to salesperson
sales_contactedSales interaction
sales_opportunity_createdOpportunity created
sales_opportunity_wonOpportunity won
sales_opportunity_lostOpportunity lost

G. Customer Service

EventMeaning
ticket_createdCustomer service case
ticket_updatedCase updated
ticket_resolvedCase resolved
chat_startedCustomer starts chat
chat_completedChat completed
complaint_createdComplaint registered
feedback_submittedFeedback submitted
rating_submittedCustomer rating

H. Product & Recommendation

EventMeaning
recommendation_requestedRecommendation API called
recommendation_shownRecommendation displayed
recommendation_clickedRecommendation clicked
recommendation_added_to_cartRecommended product added
recommendation_purchasedRecommended product purchased
content_recommendedPersonalized content shown

I. Intelligence Events

These are especially important for AI-first Customer 360.

EventMeaning
rfm_score_updatedRFM recalculated
clv_score_updatedCLV recalculated
lead_score_updatedLead score changed
churn_score_updatedChurn probability changed
propensity_score_updatedPurchase propensity changed
intent_detectedCustomer intent detected
persona_updatedPersona representation changed
next_best_action_generatedNBA generated
next_best_product_generatedNBP generated

J. Segment & Activation

EventMeaning
segment_enteredCustomer enters segment
segment_exitedCustomer leaves segment
audience_createdAudience created
audience_updatedAudience changed
audience_syncedAudience sent to destination
activation_startedActivation started
activation_completedActivation completed
activation_failedActivation failed

4. The most important part: Event → Customer 360 transformation

The reference image shows the data moving and transforming. For LEO, I would explicitly show this layer:

RAW EVENT


┌─────────────────────┐
│ Event Normalization │
└──────────┬──────────┘


┌─────────────────────┐
│ Identity Resolution │
│ visid / phone/email │
└──────────┬──────────┘


┌─────────────────────┐
│ Customer 360 Profile│
│ Profile + Events    │
│ Transactions        │
│ Relationships       │
└──────────┬──────────┘


┌─────────────────────┐
│ Feature Engineering │
└──────────┬──────────┘


┌─────────────────────────────┐
│ Customer Intelligence       │
│ RFM | CLV | Lead | Churn    │
│ Intent | Propensity | AI    │
└──────────┬──────────────────┘


┌─────────────────────┐
│ Dynamic Segmentation│
└──────────┬──────────┘


┌─────────────────────┐
│ Activation / CDP    │
│ CRM | Ads | Web | App│
└──────────┬──────────┘


┌─────────────────────┐
│ Customer Interaction │
└──────────┬──────────┘

           └───────────────► NEW EVENT

5. Canonical LEO Event Schema

The Event Catalog should ultimately map to one canonical event contract.

{
  "schema_version": "1.0",
  "event_id": "uuid",
  "tenant_id": "PNJ",
  "datetime": "2026-08-22T13:00:00+07:00",
  "unix_timestamp": 1787378400000,
 
  "event_name": "add_to_cart",
  "metric": "add-to-cart",
 
  "visid": "anonymous-or-device-id",
  "profile_id": "customer-123",
  "session_id": "session-456",
 
  "source": {
    "channel": "website",
    "platform": "ecommerce",
    "integration": "leo_tracking_sdk"
  },
 
  "page": {
    "url": "https://shop.example.com/product/ring-001",
    "title": "Diamond Ring",
    "referrer": "https://google.com"
  },
 
  "campaign": {
    "utm_source": "google",
    "utm_medium": "cpc",
    "utm_campaign": "summer_sale",
    "utm_content": "ring_banner"
  },
 
  "customer": {
    "phone_hash": "...",
    "email_hash": "..."
  },
 
  "product": {
    "product_id": "RING-001",
    "category": "Jewelry",
    "brand": "Example",
    "price": 25000000,
    "quantity": 1
  },
 
  "custom_data": {},
 
  "profile_traits": {}
}

The important architectural decision is:

event_name describes what happened. profile_id describes who did it. source describes where it happened. datetime describes when it happened. custom_data describes the business context.


6. Event Catalog → Customer 360

This is where the Event Catalog becomes useful rather than just documentation.

EventCustomer 360 ImpactIntelligence
page_viewUpdate behavioral historyInterest
searchUpdate intentSearch intent
item_viewAdd product interestProduct affinity
add_to_cartIncrease buying intentConversion probability
checkout_startStrong purchase signalPurchase propensity
purchaseUpdate transaction historyRFM / CLV
refundUpdate value / behaviorRisk
message_openedUpdate channel affinityEngagement score
message_clickedIncrease campaign intentLead score
store_visitUpdate offline behaviorOmnichannel affinity
feedback_submittedUpdate CX profileCX score
identity_resolvedUnify customer identityCustomer 360
lead_score_updatedUpdate intelligenceLead prioritization
churn_score_updatedUpdate riskRetention
segment_enteredUpdate audience membershipActivation
recommendation_clickedUpdate preferencePersonalization
purchase after recommendationAttribute conversionRecommendation ROI

7. The LEO version of the original six-stage picture

I would actually use these labels in your final architecture/slide:

CAPTURE
Collect every meaningful customer signal

ASSEMBLE
Resolve identity + build Customer 360

UNDERSTAND
Calculate scores + intent + AI signals

SEGMENT
Create dynamic audiences

ACTIVATE
Syndicate profiles & audiences

ENGAGE
Personalize the customer experience

LEARN
Capture response and feed intelligence back

I recommend UNDERSTAND instead of simply SCORE for LEO, because your architecture is going beyond traditional lead scoring into RFM + CLV + Lead + Churn + Propensity + Intent + Persona + Next Best Action.

So the final LEO loop becomes:

Capture → Assemble → Understand → Segment → Activate → Engage → Learn

That is a much stronger framing for AI-first Customer 360 than the original Lead Scoring & Nurturing diagram.