이 사고는 정확히 어떤 순서로 발생하나

이 사고의 전형적인 발생 순서는 이렇습니다. 유저가 장바구니에 상품을 담아 4강에서 다룬 "장바구니 5만 원 이상" 세그먼트에 진입하고, 5강에서 설계한 저니의 1단계(앱 푸시)를 받습니다. 이후 유저는 실제로 결제를 완료하는데, 이 "결제완료" 이벤트가 결제 시스템에서 CDP로 전송되는 경로(3강에서 다룬 웹훅·API 연동)에서 지연이 발생합니다. 이 지연 동안 저니의 대기시간이 만료돼 2단계(이메일 또는 문자)가 자동 발송되는데, 시스템 입장에서는 여전히 "장바구니 미결제 상태"로 보이기 때문에 "왜 안 사냐"는 독촉 메시지가 이미 결제를 마친 유저에게 나가는 것입니다. 유저 입장에서는 방금 돈을 낸 브랜드가 자신을 전혀 모르는 것처럼 보이는 경험이 되고, 이는 개인정보를 부정확하게 다룬다는 인상으로 이어져 대량 이탈·구독 해지로 번질 수 있습니다.

왜 "실시간 CDP"에서도 이런 지연이 생기나

많은 마케터가 CDP를 "실시간"이라고 알고 있어 이 사고가 이해되지 않을 수 있지만, 3강에서 다룬 것처럼 CDP로 들어오는 데이터의 실시간성은 소스 시스템·연동 방식마다 다릅니다. 결제 시스템의 이벤트가 웹훅으로 즉시 전송되도록 설계돼 있다면 지연이 짧지만, 배치 동기화나 큐(queue) 처리 방식으로 설계돼 있다면 몇 분에서 몇 시간까지 지연이 생길 수 있습니다. 여기에 더해, 여러 이벤트가 동시에 발생할 때 도착 순서가 발생 순서와 다를 수 있다는 점(이벤트 순서 보장 문제)도 근본 원인 중 하나입니다—장바구니 이벤트보다 결제완료 이벤트가 시스템 부하로 인해 늦게 도착하면, CDP는 실제로는 이미 지나간 상태를 최신 상태로 잘못 판단하게 됩니다.

방어책 1 — 결제완료를 저니의 즉시 이탈 조건으로 명시한다

가장 직접적인 방어책은 저니를 설계할 때 "결제완료" 이벤트를 단순히 새로운 세그먼트 진입 조건으로만 쓰지 않고, 진행 중인 다른 모든 저니(특히 장바구니 관련 저니)에서 즉시 이탈(suppression)시키는 전역 규칙으로 별도 설정하는 것입니다. 대부분의 저니 빌더는 "이 이벤트가 발생하면 다른 모든 활성 저니에서 이 유저를 제외한다"는 형태의 억제 규칙을 지원하므로, 장바구니 독촉 저니를 설계할 때 이 규칙을 반드시 함께 켜두는 것이 1차 방어선입니다.

방어책 2 — 파이프라인의 이벤트 순서·지연을 점검한다

근본적인 방어는 3강에서 설계한 데이터 파이프라인으로 돌아가, 결제완료처럼 발송 판단에 직결되는 핵심 이벤트가 어떤 경로(웹훅 vs 배치)로 CDP에 들어오는지 다시 점검하는 것입니다. 배치 방식으로 연동돼 있다면 최소한 이 이벤트만큼은 실시간 웹훅으로 전환하는 우선순위 작업이 필요하고, 이미 웹훅으로 연동돼 있다면 재시도·큐 처리 로직에서 순서가 뒤바뀔 가능성이 없는지 개발팀과 함께 확인해야 합니다.

방어책 3 — 발송 직전 재검증 단계를 둔다

저니 설계와 파이프라인 개선만으로 지연을 완전히 없앨 수 없다는 것을 전제로, 발송 직전에 해당 유저의 최신 상태를 한 번 더 확인하는 재검증(pre-send check) 단계를 두는 것도 실무에서 쓰이는 보완책입니다. 메시지가 실제로 나가기 몇 분 전, 저니 진입 시점이 아니라 발송 시점 기준으로 세그먼트 조건을 다시 평가해 조건을 벗어난 유저는 발송 대상에서 자동 제외하는 설정입니다. 이 기능의 지원 여부·명칭은 벤더마다 다르므로 사용 중인 CDP·메시징 툴의 설정 화면에서 "발송 직전 재평가" 관련 옵션을 확인하는 것이 필요합니다.