

티머니모빌리티는 대중교통 통합 플랫폼 ’티머니GO’를 운영하고 있습니다. 티머니GO는 개인화 대중교통 서비스, 고속·시외버스 예매, 자전거/킥보드 결제 등을 지원하며, 전국민 단위의 이용자를 보유한 국내 대표 교통 앱입니다.
교통 예약 서비스는 예약 시점과 실제 이용 시점이 다르고, 이용 시각을 기준으로 적절한 시점에 알림을 보내는 것이 중요합니다. 특히 출발·도착과 관련된 알림은 서비스 이용에 필수적인 메시지인 만큼, 유저별 이용 시각에 맞춰 각기 다른 시점에 맞춤형 푸시를 제공해야 했습니다. 또한 티머니GO는 사용자 여정에 맞춘 쿠폰 발급 캠페인도 함께 운영하고 있어, 푸시 메시지뿐만 아니라 쿠폰까지 고려한 CRM 전략을 효과적으로 운영할 필요가 있었습니다.
기존에는 웹훅 캠페인과 API-Triggered 푸시 Canvas를 연계한 이중 구조로 운영해왔으나, 관리 복잡성과 개발 리소스 부담이 큰 상황이었습니다. 또한 Braze의 가격 체계 개편으로 DP(Data Point)가 폐지되면서 Event 및 Attribute 수집은 용이해졌으나, 대규모 웹훅 호출에 따른 비용 부담이 있었습니다. 교통 서비스 특성상 고속·시외버스 결제 이벤트가 매일 대량으로 발생하고, 최대 1개월 전부터 예매할 수 있어 결제 후 취소 및 재결제가 빈번하게 이루어졌습니다. 기존 구조에서는 결제 건마다 웹훅을 호출해 유저별 이용 시각을 계산해야 했기에, 이 구조를 유지하면서 CRM 시나리오를 확장하는 데에는 운영 효율성과 비용 측면에서 한계가 있었습니다.
위 문제를 해결하기 위해, AB180 매니저님의 권장사항에 따라 유저별 발송 시점을 하나의 Canvas 내에서 Context Step과 Personalize Delay를 활용해 개별적으로 설정하고, 별도의 웹훅 호출 없이 맞춤형 예약 발송을 자동화하고자 했습니다.
전체적인 푸시 Canvas의 흐름은 다음과 같습니다.
아래 예시는 유저별 탑승 시각에 맞춘 개인화 메시지 발송 흐름입니다.

유저가 탑승권을 결제하면 (Action-Based) Canvas에 진입합니다.
선행 조건으로는 탑승권 결제 이벤트의 프로퍼티로 출발 시각 포함되어 있어야 합니다. 이후 Context Step에서 해당 출발 시각을 기준으로 유저별 발송 시점을 계산하기 위함입니다.
* Event와 Event Property: Event와 Event Property: 유저의 행동 데이터를 Event라고 부르고, 이 Event에 종속된 속성 값을 Property라고 부릅니다. Event Property를 통해 보다 풍부한 행동 데이터를 수집할 수 있습니다.
Event: purchased_bus 유저가 탑승권을 결제 할 때, Event property: 탑승권의 출발 시각 2026-09-25 10:05:00 +09:00
💡 Context Step이란?
Context Step은 Canvas 내에서 활용할 임시 변수인 ‘Context Variable’을 생성하여, 변수에 저장된 값을 해당 Canvas의 각 Step에서 참조하고, 유저별로 개인화된 여정을 구현할 수 있도록 지원하는 기능입니다.
다양한 데이터 타입(Boolean, Number, String, Array, Time, Object)을 활용해 필요한 값을 정의할 수 있으며, 생성한 변수는 해당 Canvas 여정 내에서만 유효하고 유저 프로필에 영구적으로 저장되지는 않습니다.
먼저 출발 시각을 기준으로 D-2, D-1, H-2, H-1 등 유저별 발송 시점을 계산해 Context Variable로 생성합니다. 아래 예시는 D-2 발송 시점을 생성한 예시입니다.

동일한 방식으로 H-2, H-1 등 필요한 발송 시점별 Context 변수를 추가로 생성합니다. 1개의 Context Step에서는 최대 10개의 변수를 생성할 수 있습니다.
💡 Personalize Delay란?
Context Step에서 생성한 변수를 활용해, 고정된 지연 시간이 아닌 유저마다 다른 기준 시점까지의 대기 시간을 설정할 수 있는 기능입니다.
이 시나리오에서는 특정 시점까지 대기해야 하므로, Delay Step에서 Calendar Date 모드를 선택하고 하단의 Personalize Delay 토글을 활성화합니다. 이후 Step 2에서 생성한 Context Variable (D2)를 참조하도록 설정합니다.

이를 통해 각 유저의 발송 목표 시점까지 개별적으로 대기한 후, 해당 시점이 되면 다음 Step으로 이동하도록 구성할 수 있습니다.
메시지 발송 직전에 Liquid를 통해 결제 취소 여부를 실시간으로 확인하여, 예약 이후 결제가 취소된 유저에게 알림이 발송되지 않도록 했습니다.
티머니GO는 기존에 구축한 예매 취소 판별 로직을 Content Block으로 구현해두고 이를 불러와 활용했습니다.
💡 Content Block이란?
Content Block은 자주 사용하는 콘텐츠를 미리 만들어두고, 메시지 작성 시 반복해서 재사용할 수 있는 기능입니다. 여러 캠페인에서 동일한 로직이 필요할 때, Content Block으로 한 번 등록해두면 각 메시지에서 간편하게 재사용할 수 있습니다.

티머니GO에서는 D-2, D-1, H-2를 기준으로 여러 개의 Canvas를 구성해 운영했습니다. 예약 발송 시점 사이에 탑승권을 결제한 유저가 이미 지나간 발송 시점 때문에 Exit되지 않고, 자신에게 해당하는 발송 시점의 Canvas에 진입할 수 있도록 하기 위해서입니다.
예를 들어 D-2 발송 시점 이후 D-1 발송 시점 이전에 탑승권을 결제한 유저가 D-2 Canvas에 진입하면, D-2 발송 시점이 이미 지난 상태이기 때문에 Exit 됩니다. 이에 발송 시점별로 Canvas를 분리하고, 결제 시점에 따라 적절한 Canvas로 진입하도록 설계했습니다.
물론 하나의 Canvas에서 전체 시나리오를 운영하는 것도 가능합니다. 이 경우 Context 변수를 추가로 구성하고 Audience Path로 발송 시점별 유저를 분기해야 하므로 Canvas 구조가 상대적으로 복잡해질 수 있습니다. 따라서 운영 목적과 시나리오 복잡도에 따라 Canvas를 분리하거나 하나로 통합해 구성할 수 있습니다.
위 사례와 더불어, 도착 시간 30분 전에 택시 쿠폰을 발급하고 푸시를 발송하는 경우에도 동일한 시나리오를 활용했습니다. 메시지 스텝 직전에 웹훅을 추가하여 택시 쿠폰을 실시간으로 발급하고, 고객의 도착 시점에 맞춰 적합한 쿠폰과 푸시 메시지를 적시에 전달할 수 있도록 구현할 수 있었습니다.

이 시나리오의 핵심은 ‘유저마다 메시지를 받아야 하는 시점이 다를 때, 각 유저의 목표 시점까지 개별적으로 대기한 후 메시지를 발송하는 것’입니다. 따라서 유저마다 서로 다른 기준 시각에 맞춰 메시지를 발송해야 한다면, 특정 버티컬에 한정하지 않고 다양한 시나리오에 적용할 수 있습니다.
해당 시나리오 외에도, Context Step을 활용하면 Canvas 내에서 필요한 변수를 직접 생성하고 활용할 수 있어, 아래 사례와 같이 확장하여 활용하실 수 있습니다.
https://blog.ab180.co/posts/braze_ai-campaign_babitalk
이 전략을 통해 비용과 리소스를 절감하는 것은 물론, 운영 효율성을 높이고 성과를 개선하는 효과까지 얻을 수 있었습니다.
유저별 예약 발송 시마다 반복적으로 호출되던 웹훅을 제거하여, 웹훅 사용량과 이에 따른 크레딧 소진을 크게 줄일 수 있었습니다. 1370만 사용자를 가진 티머니GO 앱의 경우, 일별 다량의 웹훅 호출이 필요했으나 해당 시나리오를 적용함으로써 35% 절감할 수 있었습니다.
Context Step과 Personalize Delay로 계산한 개인화 시점을 활용해, 고속·시외버스나 기차를 예매한 고객에게 터미널·역으로 이동하기 직전과 도착지에서 내리기 직전 시점에 맞춰 택시 할인쿠폰과 알림을 발송할 수 있게 되었습니다. 이를 통해 고객이 물리적으로 이동하는 여정 안에서 한 번 더 자연스럽게 접점을 만드는 맥락형 메시지 발급이 가능해졌습니다.
티머니GO는 고속·시외버스, 택시, 기차 등 다양한 모빌리티 서비스를 함께 제공하고 있습니다. 맥락형 개인화 메시지를 통해 고속·시외버스 결제 고객의 택시 이용을 유도하는 캠페인을 운영한 결과, 서비스 간 교차이용률을 크게 높일 수 있었습니다. 실제로 최근 1개월간 택시를 이용하지 않았던 유저의 30%가 다시 택시를 이용하는 웨이크업 효과가 나타났으며, 택시 결제 이후 기존 고객을 헤비 유저로 전환시키는 캠페인을 추가 운영하며, 헤비 유저 전환율도 함께 끌어올릴 수 있었습니다.
CSM’s Insight
유저마다 메시지를 받아야 하는 시점이 다르지만, 별도 추가 개발 없이 이를 구현하고 싶다면 Braze의 Context Step과 Personalize Delay를 조합해보세요. 하나의 Canvas 안에서 개인화 변수 생성부터 유저별 지연 발송까지 설정할 수 있어, 각 유저에게 필요한 시점에 맞춰 메시지를 자동으로 발송할 수 있습니다. 티머니모빌리티처럼 리소스와 비용 부담은 줄이면서 운영 효율까지 높이고 싶다면, 이 시나리오를 활용해보세요.
차서연 / AB180 / Customer Success Manager
AB180의 Customer Success Manager로서 Braze, Amplitude를 활용하는 다양한 버티컬의 고객사를 담당하고 있습니다. 데이터 설계, 솔루션 연동, Full Cycle 마케팅 전략, 리텐션 개선 전략까지 솔루션 도입과 활용을 전문적으로 지원합니다.
조수빈 / 티머니모빌리티 / Manager
티머니모빌리티에서 서비스 프로모션 마케팅 및 CRM 마케팅 업무를 맡고 있습니다. CRM 자동화 파이프라인 설계 및 실행을 통해 플랫폼 운영 전반을 최적화하며, 앱 내 프로모션 기획을 통해 고객 맞춤형 서비스와 혜택을 제공합니다.
이가영 / 티머니모빌리티 / Manager
티머니모빌리티에서 퍼포먼스 마케팅 및 CRM 마케팅 업무를 맡고 있습니다. CRM 자동화와 실적 분석을 통해 최적화 된 고객의 앱 내 여정을 설계하고, 퍼포먼스 집행을 통해 앱 내 사용자 유입을 도모하고 있습니다.