배민커넥트 앱에서 소통하는 방법

배민커넥트 앱에서 소통하는 방법

마케터 • 2024.05.07

  • 인앱 메시지로 콘텐츠 풍부하게 만들기

  • 웹훅(Webhook)으로 친구추천 캠페인 만들기

  • API 직접 구축해서 활용하기

  • 인앱 메시지로 콘텐츠 풍부하게 만들기

  • 웹훅(Webhook)으로 친구추천 캠페인 만들기

  • API 직접 구축해서 활용하기

  • 인앱 메시지로 콘텐츠 풍부하게 만들기

  • 웹훅(Webhook)으로 친구추천 캠페인 만들기

  • API 직접 구축해서 활용하기

효율적으로, 효과적으로 커뮤니케이션하는 방법


앱 마케팅, 디지털 마케팅 시장이 커지고 고도화되면서, 마케터들은 다양한 방법으로 고객과 소통하고 있어요. 비즈니스 속성에 따라 다르겠지만, 배민커넥트 앱에서는 ‘브레이즈(Braze)’라는 마케팅 솔루션을 활용하여 고객과 커뮤니케이션 하고 있습니다. 브레이즈를 통해 보낼 수 있는 다양한 메세지 중에 이번 글을 통해서 3가지를 소개하고자 합니다. 첫번째는 팝업 형태의 인앱 메세지, 두번째는 두 개의 캠페인을 연결해 서로 연관된 유저에게 메세지를 보내는 웹훅, 마지막으로는 특정 액션을 진행한 유저에게 질문하고, 응답을 받는 심플 서베이에 대해 소개하고자 합니다. 지금부터 하나씩 공유해볼게요!


Braze는 앱을 다운로드한 유저에게 푸시, 팝업, 이메일 등의 다양한 메시지를 보낼 수 있도록 도와주는 솔루션입니다. 여러분도 푸시 메시지를 한 번쯤은 받아보셨죠? 여러분이 앱을 실행하고 활용하도록 마케터들은 타겟, 목적, 내용, 기간과 시점 등 다양한 항목을 기획하여 메시지를 전송하고 그 이후의 결과를 분석합니다. 이러한 고민을 기반으로 배민커넥트 앱에서 라이더분들과 소통하는 여러 가지 방법들을 활용해 보았는데요, 하나씩 공유해볼게요!


하나, 인앱 메시지 활용기(by. 윤정/퍼포먼스)


고객과 소통할 수 있는 커뮤니케이션 방법은 정말 많은데요, 앱을 설치해야 받을 수 있는 푸시 외에도 문자나 초콜릿톡 메시지를 사용해서 우리 앱을 잊지 않도록 메시지를 보내곤 하죠.


*2023 연말결산 메시지들


저는 2023년 연말결산 이벤트의 PM을 담당하면서, 다양한 채널에서 소통을 전개해 보면서 아쉬웠던 점이 있었는데요. 첫 번째는, 텍스트만 사용할 수밖에 없는 점이었어요. 시각적인 장치나 추가 기능 없이 문자 형태로만 정보를 전달하고 반응을 이끌어내야 해서 어려웠습니다. 두 번째는, 메시지를 클릭하고 앱에 들어오면 메시지 내용이 휘발될 수 있다는 점이었어요. 배민커넥트 앱 내에서 메시지 내용을 계속 보여주는 영역이 필요하다고 생각했습니다. 그래서, 좀 더 다른 형식의 메시지를 함께 활용하기로 했어요!

*2023 연말결산 팝업 메시지


바로, 팝업 형식의 메시지인데요, 다른 메시지들과 다르게 앱에 들어오는 순간, 특정 라이더 분들에게 메시지를 전면에 보여줄 수 있습니다. 혹은 띠 배너 형태로 상단과 하단에서 노출시킬 수도 있죠! 해당 메시지의 장점은 텍스트가 아니라 이미지로 시각을 사로잡을 수 있다는 것과 ‘이벤트 참여하기’ 등의 Click to Action(CTA) 버튼을 활용하여 액션을 유도할 수 있다는 것입니다. 푸시 메시지나 문자 메시지를 클릭하고 앱으로 들어온 분들께 팝업 메시지를 한 번 더 보여줘서 내용이 휘발되지 않게끔 할 수도 있어요.

*타겟에 따라 다른 인앱 메시지 활용 예시


연말결산 이벤트 이후로 배민커넥트 앱에서는 다양한 목적에 따라 인앱 메시지를 활용하고 있어요. 인앱 메시지에서 중요한 점은 시점과 타겟 그리고 랜딩인 것 같아요. 가장 기본적인 구성요소이기도 하지만, 어떤 시점에 어떤 라이더 분들에게 메시지를 보내야 하는지 미리 살펴보아야 합니다. 

앱을 사용한 지 오래되신 분들께는 어떤 메시지를 보여 드리는 게 오랜 동면 기간을 깨울 수 있을지 내용 자체를 고민해야합니다. 랜딩의 경우, 메시지의 CTA 버튼을 클릭했을 때 앱 내 특정 페이지로 보낼 수 있는 추가 기능으로, 사용자가 유효한 랜딩으로 이어지게 만들어야 합니다. 접근할 수 없는 페이지나 메시지와 무관한 곳으로 보내면 이탈할 수 있습니다.


앞서 공유해드린 인앱 메시지 형태는 추가 개발없이 브레이즈에서 제공하는 기본 템플릿을 활용한 방법이었습니다. 메시지에 기능을 추가하고, 이미지 크기와 폰트 등을 변경하려면 우리 앱에 적합한 코드를 직접 개발하는 방법도 있습니다. 이번에는 더 나아가서 기술적인 부분을 추가적으로 활용한 웹훅과 심플 서베이에 대해서 알아볼까요?


웹훅(Webhook) 활용기(by. 진솔/데이터)


배민커넥트 앱에서 신규 라이더 분들이 가장 많이 유입되는 광고 외 매체가 어딘지 아시나요? 바로바로 친구 초대(Referral)랍니다. 배민커넥트 앱뿐만 아니라 수많은 서비스에서 친구 추천을 통해 새로운 고객을 유인하곤 하는데요. 배민커넥트도 수년 간 친구 초대 채널을 통한 네트워킹 효과를 이용하여 수많은 신규 라이더 분들을 모집하고 있습니다.

또한, 이러한 친구 초대 마케팅은 서비스를 운영하는 기업의 메시지가 아닌 서비스를 사용하는 라이더 분의 언어로 바이럴될 수 있는데요. 기존 라이더로 하여금 친구에게 홍보하도록 유도하는 것이니, 기존 라이더 분들에게 적재적소에 정보를 전달하는 것이 중요한데요!

쉽게 말하면, 내가 친구를 초대하면 친구가 가입은 완료했는지 혹은 첫 배달까지 했는지 친구의 행동을 알림으로써 추천하는 사람과 추천받는 사람 모두의 동기부여를 높이는 것이죠.

이번 주제에서는 이를 가능하게 만드는 ‘웹훅(Webhook)’을 설명해 드리려고 해요.

쉬운 예로, 인스타그램에서 baeminconnect 라는 계정을 가진 제가 baemin_official 계정을 팔로우해요. 그러면 baemin_official의 휴대폰에는 제가 팔로우했다는 사실이 앱 푸시 메시지로 전달되겠죠? 이것이 Webhook이랍니다. 참 쉽죠?


이러한 기능을 배민커넥트 앱에서는 어떻게 활용하고 있는지 설명해 드리려고 해요.

  1. 라이더A(나)가 라이더B(친구)를 배민커넥트 앱에 초대한다.

  2. 라이더B(친구)가 배민커넥트 앱에 가입한다.

  3. 배민커넥트 앱이 라이더B(친구)가 배민커넥트 앱에 가입한 사실을 라이더A(나)에게 알린다.

라이더B(친구)가 가입한 이벤트를 중간에서 채가서 라이더A(나)에게 알리는 것이죠!

이러한 기능은 Braze를 통해 아주 간단하게 구현할 수 있는데요! 크게 두 가지가 필요합니다.

  • 푸시 캠페인

  • Webhook 캠페인



푸시 캠페인

초대받은 앱에서 설정된 액션을 완료했을 때, 초대한 라이더에게 푸시 메시지가 전달되는 캠페인입니다. 배민커넥트 앱의 경우, 초대받은 라이더 분이 가입을 완료했을 때 “라이더님이 초대하신 친구가 가입을 완료했어요!”라는 메시지를 초대한 라이더 분에게 전달할 수 있어요.

Braze 내에서 설정할 때 Delivery 부분은 주로 쓰는 Scheduled Delivery가 아닌 API-Triggered Delivery를 선택해야 합니다. Webhook API(초대받은 라이더 분이 가입을 완료했을 때)가 발동됐을 때 캠페인이 작동합니다.



Webhook 캠페인

초대받은 라이더 분이 추천인코드(초대한 라이더 분의 ID값)를 넣고 가입을 완료했을 때, 푸시 캠페인에 추천인코드를 전달하는 캠페인입니다.



초대받은 라이더 분의 ‘가입’이라는 Action이 발생했을 때 Webhook에서 Callback을 해주어야 하기 때문에 Action-Based Delivery로 설정해줍니다.

Request Body 설정에서는 아래와 같이 API의 파라미터를 만들어야 합니다. campaign_id는 Webhook이 어떤 Push 캠페인을 트리거시킬지 지정하는 값입니다. 위에서 설정한 푸시 캠페인의 아이디 값을 넣어줍니다.

recipients의 경우, 어떤 라이더 분에게 푸시 캠페인을 전달할지 명령하는 값입니다. 초대받은 라이더 분의 액션을, 초대한 라이더 분에게 전달해야 하기 때문에 초대받은 라이더 분의 아이디 값과 동일한 추천인코드를 설정할 수 있습니다.

{
  "campaign_id": {{1. PUSH캠페인의 CAMPAIGN ID}},
  "recipients": [
    {
      "external_user_id": {{custom_attribute.${추천인코드}}}
    }
  ]
}


자, 이렇게 간단하게 두 개의 캠페인을 통해 초대받은 라이더 분이 가입 시, 초대한 라이더 분이 그 사실을 알 수 있도록 복합 캠페인을 만들어볼 수 있습니다. 이를 통해서 초대한 라이더 분은 자신이 초대한 친구의 가입 사실을 알게 되어, 보상을 받기 위한 추가 액션을 초대한 라이더 분의 메시지로 만들도록 독려할 수 있죠.



이와 같은 친구 초대 캠페인은 단순히 신규 라이더 분들을 모집하는 수단을 넘어서, 라이더 분들 사이의 신뢰와 상호작용을 증진시키는 효과적인 방법입니다. 앞으로도 배민커넥트는 이러한 기술적 솔루션을 활용하여 라이더 분들이 서로 연결될 수 있는 다양한 방법을 모색하며, 사용자 경험을 지속적으로 향상시키고자 합니다.


 심플 서베이 & API 구축하고 호출하기(by. 현민/그로스)


이번엔 API를 직접 만들어 이를 Webhook 캠페인에서 호출해 활용하는 방법을 소개합니다.

배경

배민커넥트 앱에서 가입하고 배달을 하지 않고 이탈하는 분들이 있어요. 특히, 운행 시작까지 눌렀지만 배달을 하지 않고 종료하는 경우, 문제점이 무엇인지 파악하기 위해 Braze의 심플 서베이 인앱 메시지를 활용해봤습니다.



인앱 메시지 심플 서베이

배달 완료 이력이 없는 라이더 분들이 운행을 시작한 뒤 운행을 종료할 때 여전히 배달 완료 이력이 없다면 서베이 인앱 메시지가 뜨도록 했고, 응답을 기록할 때까지 하루에 한 번 지속적으로 노출되도록 했습니다.




여기서 잠깐, 인앱 메시지 심플 서베이 활용 TIP

  • 서베이 응답을 custom attributes로 기록할 수 있습니다. 이때 데이터 타입을 신중히 선택해야하는데요, 다중 선택지인 경우 반드시 array로 지정해야 이상 없이 기록됩니다. 그렇지 않으면 응답값이 기록되지 않아요.

  • 인앱 메시지를 앱 내에서 특정 이벤트를 트리거로 노출시키려면 SDK 방식 이벤트여야 합니다.


서베이 후속 액션

응답 별로 후속 액션을 생각해볼 수 있을텐데요, 이 중 “건수와 수입이 충분하지 않은 것 같아요.” 응답자 분들에게는 참고가 될만한 데이터를 알려주면 어떨까 싶었습니다. 비슷한 권역에서의 최근 배달비를 대략적으로라도 안내한다면 인식에 변화를 줄 수 있지 않을까? 라는 생각이었어요.

이러한 데이터는 내부 테이블을 쿼리하면 알 수는 있으나 Braze에 저장되고 있지는 않았습니다. 내부 테이블을 쿼리한 결과 값을 Braze로 가져와 인앱 메시지에 넣어줄 수 있어야 했는데요. 처음 생각했던 건 connected content 였습니다.

API 구축하고 호출하기 - connected content

connected content는 인앱 메시지나 푸시 메시지 전송 시점에 API를 호출해 리턴받은 값을 넣어주는 방법입니다. 물론, 호출할 API가 필요하고 API에 연결할 함수와 쿼리할 테이블을 마련해야하지만, 비개발자도 하나씩 해나갈 수 있었습니다.

  1. 참고할 내부 테이블에서 필요한 값들만 뽑아 별도의 마트를 구축한다.

  2. 별도의 마트를 조건에 맞게 쿼리하고 결과를 반환하는 함수를 만든다.

  3. 함수를 실행하는 조건으로 API를 연결한다.

  4. API 호출 시 필요한 파라미터와 설정을 완료한 뒤 배포한다.

  5. 인앱 메시지에서 API를 호출하는 connected content 방식으로 메시지를 작성한다.


그런데 문제가 발생했습니다. 위 과정으로 마련한 API를 connected content 방식으로 호출하여 테스트를 해봤는데 값을 받아오지 못하는 것이었어요. Braze 문서를 찾아보니 connected content 방식으로 API 값을 받아올 때 소요 시간은 최대 2초 이내여야 한다는 제한이 있었습니다. 인앱 메시지 구성에 너무 많은 시간이 소요되면 팝업에 지연이 발생하니 납득할 수 있는 가이드이긴 하지만, 아무래도 쿼리를 날려 결과를 받아와 리턴해주다보니 2초 이내로 응답을 만들어주기는 어려웠어요.



API 구축하고 호출하기 - Webhook

차선책으로 대상이 될 만한 라이더 분들에게 미리 custom attribute 값을 기록해두는 Webhook 캠페인을 만들고, 이렇게 기록된 값을 활용해 인앱 메시지에서 해당 값을 불러오는 방식으로 변경했습니다. 먼저 앞서 구축한 API에 연결된 함수를 수정해줘야 합니다. 결과값을 리턴해주는 것이었는데, 이제 그 값을 Braze user track API를 호출해 custom attribute로 기록해줘야 하는 것이죠. 이러한 흐름입니다.

  1. 운행을 종료했으나 배달을 완료하지 않았던 라이더 분들 대상

  2. 다음 운행 시작 시 Webhook 캠페인을 트리거

  3. Webhook 캠페인 내에서 마련해둔 API를 호출, custom attribute로 기록

  4. 배달을 완료하지 않고 운행을 종료할 경우 팝업되는 인앱 메시지에서 기록해둔 custom attribute 값 사용



지금까지 내부 데이터 기반의 직접 구축한 API, Webhook 캠페인과 인앱 메시지 캠페인을 함께 구성하여 라이더 분들의 액션을 유도할 수 있는 정보를 제공하는 방안을 살펴봤습니다. 자세히 설명하지는 않았으나 API를 직접 구축해보는건 AWS 무료 계정 범위 내에서도 충분히 가능합니다. 한번 익혀두면 볼륨이 작은 캠페인 또는 빠른 테스트가 필요할 때 개발 도움 없이 마케터 스스로 활용해 볼 수 있어요.



마치며


Braze를 통해 배민커넥트 앱을 활성화 시키고, 서비스 지표를 효율적으로 개선할 수 있는 사례와 아이디어를 살펴봤습니다. 적절한 인앱 메시지와 Webhook과 같은 도구를 활용해 좀 더 매끄러운 커뮤니케이션으로 만들어 나가는 저희의 노력을 소개했어요. 앞으로도 배민커넥트 앱에서 라이더 분들과의 다양한 커뮤니케이션을 통해 더 활발하고 긴밀하게 연결될 수 있도록 하려고 합니다!


효율적으로, 효과적으로 커뮤니케이션하는 방법


앱 마케팅, 디지털 마케팅 시장이 커지고 고도화되면서, 마케터들은 다양한 방법으로 고객과 소통하고 있어요. 비즈니스 속성에 따라 다르겠지만, 배민커넥트 앱에서는 ‘브레이즈(Braze)’라는 마케팅 솔루션을 활용하여 고객과 커뮤니케이션 하고 있습니다. 브레이즈를 통해 보낼 수 있는 다양한 메세지 중에 이번 글을 통해서 3가지를 소개하고자 합니다. 첫번째는 팝업 형태의 인앱 메세지, 두번째는 두 개의 캠페인을 연결해 서로 연관된 유저에게 메세지를 보내는 웹훅, 마지막으로는 특정 액션을 진행한 유저에게 질문하고, 응답을 받는 심플 서베이에 대해 소개하고자 합니다. 지금부터 하나씩 공유해볼게요!


Braze는 앱을 다운로드한 유저에게 푸시, 팝업, 이메일 등의 다양한 메시지를 보낼 수 있도록 도와주는 솔루션입니다. 여러분도 푸시 메시지를 한 번쯤은 받아보셨죠? 여러분이 앱을 실행하고 활용하도록 마케터들은 타겟, 목적, 내용, 기간과 시점 등 다양한 항목을 기획하여 메시지를 전송하고 그 이후의 결과를 분석합니다. 이러한 고민을 기반으로 배민커넥트 앱에서 라이더분들과 소통하는 여러 가지 방법들을 활용해 보았는데요, 하나씩 공유해볼게요!


하나, 인앱 메시지 활용기(by. 윤정/퍼포먼스)


고객과 소통할 수 있는 커뮤니케이션 방법은 정말 많은데요, 앱을 설치해야 받을 수 있는 푸시 외에도 문자나 초콜릿톡 메시지를 사용해서 우리 앱을 잊지 않도록 메시지를 보내곤 하죠.


*2023 연말결산 메시지들


저는 2023년 연말결산 이벤트의 PM을 담당하면서, 다양한 채널에서 소통을 전개해 보면서 아쉬웠던 점이 있었는데요. 첫 번째는, 텍스트만 사용할 수밖에 없는 점이었어요. 시각적인 장치나 추가 기능 없이 문자 형태로만 정보를 전달하고 반응을 이끌어내야 해서 어려웠습니다. 두 번째는, 메시지를 클릭하고 앱에 들어오면 메시지 내용이 휘발될 수 있다는 점이었어요. 배민커넥트 앱 내에서 메시지 내용을 계속 보여주는 영역이 필요하다고 생각했습니다. 그래서, 좀 더 다른 형식의 메시지를 함께 활용하기로 했어요!

*2023 연말결산 팝업 메시지


바로, 팝업 형식의 메시지인데요, 다른 메시지들과 다르게 앱에 들어오는 순간, 특정 라이더 분들에게 메시지를 전면에 보여줄 수 있습니다. 혹은 띠 배너 형태로 상단과 하단에서 노출시킬 수도 있죠! 해당 메시지의 장점은 텍스트가 아니라 이미지로 시각을 사로잡을 수 있다는 것과 ‘이벤트 참여하기’ 등의 Click to Action(CTA) 버튼을 활용하여 액션을 유도할 수 있다는 것입니다. 푸시 메시지나 문자 메시지를 클릭하고 앱으로 들어온 분들께 팝업 메시지를 한 번 더 보여줘서 내용이 휘발되지 않게끔 할 수도 있어요.

*타겟에 따라 다른 인앱 메시지 활용 예시


연말결산 이벤트 이후로 배민커넥트 앱에서는 다양한 목적에 따라 인앱 메시지를 활용하고 있어요. 인앱 메시지에서 중요한 점은 시점과 타겟 그리고 랜딩인 것 같아요. 가장 기본적인 구성요소이기도 하지만, 어떤 시점에 어떤 라이더 분들에게 메시지를 보내야 하는지 미리 살펴보아야 합니다. 

앱을 사용한 지 오래되신 분들께는 어떤 메시지를 보여 드리는 게 오랜 동면 기간을 깨울 수 있을지 내용 자체를 고민해야합니다. 랜딩의 경우, 메시지의 CTA 버튼을 클릭했을 때 앱 내 특정 페이지로 보낼 수 있는 추가 기능으로, 사용자가 유효한 랜딩으로 이어지게 만들어야 합니다. 접근할 수 없는 페이지나 메시지와 무관한 곳으로 보내면 이탈할 수 있습니다.


앞서 공유해드린 인앱 메시지 형태는 추가 개발없이 브레이즈에서 제공하는 기본 템플릿을 활용한 방법이었습니다. 메시지에 기능을 추가하고, 이미지 크기와 폰트 등을 변경하려면 우리 앱에 적합한 코드를 직접 개발하는 방법도 있습니다. 이번에는 더 나아가서 기술적인 부분을 추가적으로 활용한 웹훅과 심플 서베이에 대해서 알아볼까요?


웹훅(Webhook) 활용기(by. 진솔/데이터)


배민커넥트 앱에서 신규 라이더 분들이 가장 많이 유입되는 광고 외 매체가 어딘지 아시나요? 바로바로 친구 초대(Referral)랍니다. 배민커넥트 앱뿐만 아니라 수많은 서비스에서 친구 추천을 통해 새로운 고객을 유인하곤 하는데요. 배민커넥트도 수년 간 친구 초대 채널을 통한 네트워킹 효과를 이용하여 수많은 신규 라이더 분들을 모집하고 있습니다.

또한, 이러한 친구 초대 마케팅은 서비스를 운영하는 기업의 메시지가 아닌 서비스를 사용하는 라이더 분의 언어로 바이럴될 수 있는데요. 기존 라이더로 하여금 친구에게 홍보하도록 유도하는 것이니, 기존 라이더 분들에게 적재적소에 정보를 전달하는 것이 중요한데요!

쉽게 말하면, 내가 친구를 초대하면 친구가 가입은 완료했는지 혹은 첫 배달까지 했는지 친구의 행동을 알림으로써 추천하는 사람과 추천받는 사람 모두의 동기부여를 높이는 것이죠.

이번 주제에서는 이를 가능하게 만드는 ‘웹훅(Webhook)’을 설명해 드리려고 해요.

쉬운 예로, 인스타그램에서 baeminconnect 라는 계정을 가진 제가 baemin_official 계정을 팔로우해요. 그러면 baemin_official의 휴대폰에는 제가 팔로우했다는 사실이 앱 푸시 메시지로 전달되겠죠? 이것이 Webhook이랍니다. 참 쉽죠?


이러한 기능을 배민커넥트 앱에서는 어떻게 활용하고 있는지 설명해 드리려고 해요.

  1. 라이더A(나)가 라이더B(친구)를 배민커넥트 앱에 초대한다.

  2. 라이더B(친구)가 배민커넥트 앱에 가입한다.

  3. 배민커넥트 앱이 라이더B(친구)가 배민커넥트 앱에 가입한 사실을 라이더A(나)에게 알린다.

라이더B(친구)가 가입한 이벤트를 중간에서 채가서 라이더A(나)에게 알리는 것이죠!

이러한 기능은 Braze를 통해 아주 간단하게 구현할 수 있는데요! 크게 두 가지가 필요합니다.

  • 푸시 캠페인

  • Webhook 캠페인



푸시 캠페인

초대받은 앱에서 설정된 액션을 완료했을 때, 초대한 라이더에게 푸시 메시지가 전달되는 캠페인입니다. 배민커넥트 앱의 경우, 초대받은 라이더 분이 가입을 완료했을 때 “라이더님이 초대하신 친구가 가입을 완료했어요!”라는 메시지를 초대한 라이더 분에게 전달할 수 있어요.

Braze 내에서 설정할 때 Delivery 부분은 주로 쓰는 Scheduled Delivery가 아닌 API-Triggered Delivery를 선택해야 합니다. Webhook API(초대받은 라이더 분이 가입을 완료했을 때)가 발동됐을 때 캠페인이 작동합니다.



Webhook 캠페인

초대받은 라이더 분이 추천인코드(초대한 라이더 분의 ID값)를 넣고 가입을 완료했을 때, 푸시 캠페인에 추천인코드를 전달하는 캠페인입니다.



초대받은 라이더 분의 ‘가입’이라는 Action이 발생했을 때 Webhook에서 Callback을 해주어야 하기 때문에 Action-Based Delivery로 설정해줍니다.

Request Body 설정에서는 아래와 같이 API의 파라미터를 만들어야 합니다. campaign_id는 Webhook이 어떤 Push 캠페인을 트리거시킬지 지정하는 값입니다. 위에서 설정한 푸시 캠페인의 아이디 값을 넣어줍니다.

recipients의 경우, 어떤 라이더 분에게 푸시 캠페인을 전달할지 명령하는 값입니다. 초대받은 라이더 분의 액션을, 초대한 라이더 분에게 전달해야 하기 때문에 초대받은 라이더 분의 아이디 값과 동일한 추천인코드를 설정할 수 있습니다.

{
  "campaign_id": {{1. PUSH캠페인의 CAMPAIGN ID}},
  "recipients": [
    {
      "external_user_id": {{custom_attribute.${추천인코드}}}
    }
  ]
}


자, 이렇게 간단하게 두 개의 캠페인을 통해 초대받은 라이더 분이 가입 시, 초대한 라이더 분이 그 사실을 알 수 있도록 복합 캠페인을 만들어볼 수 있습니다. 이를 통해서 초대한 라이더 분은 자신이 초대한 친구의 가입 사실을 알게 되어, 보상을 받기 위한 추가 액션을 초대한 라이더 분의 메시지로 만들도록 독려할 수 있죠.



이와 같은 친구 초대 캠페인은 단순히 신규 라이더 분들을 모집하는 수단을 넘어서, 라이더 분들 사이의 신뢰와 상호작용을 증진시키는 효과적인 방법입니다. 앞으로도 배민커넥트는 이러한 기술적 솔루션을 활용하여 라이더 분들이 서로 연결될 수 있는 다양한 방법을 모색하며, 사용자 경험을 지속적으로 향상시키고자 합니다.


 심플 서베이 & API 구축하고 호출하기(by. 현민/그로스)


이번엔 API를 직접 만들어 이를 Webhook 캠페인에서 호출해 활용하는 방법을 소개합니다.

배경

배민커넥트 앱에서 가입하고 배달을 하지 않고 이탈하는 분들이 있어요. 특히, 운행 시작까지 눌렀지만 배달을 하지 않고 종료하는 경우, 문제점이 무엇인지 파악하기 위해 Braze의 심플 서베이 인앱 메시지를 활용해봤습니다.



인앱 메시지 심플 서베이

배달 완료 이력이 없는 라이더 분들이 운행을 시작한 뒤 운행을 종료할 때 여전히 배달 완료 이력이 없다면 서베이 인앱 메시지가 뜨도록 했고, 응답을 기록할 때까지 하루에 한 번 지속적으로 노출되도록 했습니다.




여기서 잠깐, 인앱 메시지 심플 서베이 활용 TIP

  • 서베이 응답을 custom attributes로 기록할 수 있습니다. 이때 데이터 타입을 신중히 선택해야하는데요, 다중 선택지인 경우 반드시 array로 지정해야 이상 없이 기록됩니다. 그렇지 않으면 응답값이 기록되지 않아요.

  • 인앱 메시지를 앱 내에서 특정 이벤트를 트리거로 노출시키려면 SDK 방식 이벤트여야 합니다.


서베이 후속 액션

응답 별로 후속 액션을 생각해볼 수 있을텐데요, 이 중 “건수와 수입이 충분하지 않은 것 같아요.” 응답자 분들에게는 참고가 될만한 데이터를 알려주면 어떨까 싶었습니다. 비슷한 권역에서의 최근 배달비를 대략적으로라도 안내한다면 인식에 변화를 줄 수 있지 않을까? 라는 생각이었어요.

이러한 데이터는 내부 테이블을 쿼리하면 알 수는 있으나 Braze에 저장되고 있지는 않았습니다. 내부 테이블을 쿼리한 결과 값을 Braze로 가져와 인앱 메시지에 넣어줄 수 있어야 했는데요. 처음 생각했던 건 connected content 였습니다.

API 구축하고 호출하기 - connected content

connected content는 인앱 메시지나 푸시 메시지 전송 시점에 API를 호출해 리턴받은 값을 넣어주는 방법입니다. 물론, 호출할 API가 필요하고 API에 연결할 함수와 쿼리할 테이블을 마련해야하지만, 비개발자도 하나씩 해나갈 수 있었습니다.

  1. 참고할 내부 테이블에서 필요한 값들만 뽑아 별도의 마트를 구축한다.

  2. 별도의 마트를 조건에 맞게 쿼리하고 결과를 반환하는 함수를 만든다.

  3. 함수를 실행하는 조건으로 API를 연결한다.

  4. API 호출 시 필요한 파라미터와 설정을 완료한 뒤 배포한다.

  5. 인앱 메시지에서 API를 호출하는 connected content 방식으로 메시지를 작성한다.


그런데 문제가 발생했습니다. 위 과정으로 마련한 API를 connected content 방식으로 호출하여 테스트를 해봤는데 값을 받아오지 못하는 것이었어요. Braze 문서를 찾아보니 connected content 방식으로 API 값을 받아올 때 소요 시간은 최대 2초 이내여야 한다는 제한이 있었습니다. 인앱 메시지 구성에 너무 많은 시간이 소요되면 팝업에 지연이 발생하니 납득할 수 있는 가이드이긴 하지만, 아무래도 쿼리를 날려 결과를 받아와 리턴해주다보니 2초 이내로 응답을 만들어주기는 어려웠어요.



API 구축하고 호출하기 - Webhook

차선책으로 대상이 될 만한 라이더 분들에게 미리 custom attribute 값을 기록해두는 Webhook 캠페인을 만들고, 이렇게 기록된 값을 활용해 인앱 메시지에서 해당 값을 불러오는 방식으로 변경했습니다. 먼저 앞서 구축한 API에 연결된 함수를 수정해줘야 합니다. 결과값을 리턴해주는 것이었는데, 이제 그 값을 Braze user track API를 호출해 custom attribute로 기록해줘야 하는 것이죠. 이러한 흐름입니다.

  1. 운행을 종료했으나 배달을 완료하지 않았던 라이더 분들 대상

  2. 다음 운행 시작 시 Webhook 캠페인을 트리거

  3. Webhook 캠페인 내에서 마련해둔 API를 호출, custom attribute로 기록

  4. 배달을 완료하지 않고 운행을 종료할 경우 팝업되는 인앱 메시지에서 기록해둔 custom attribute 값 사용



지금까지 내부 데이터 기반의 직접 구축한 API, Webhook 캠페인과 인앱 메시지 캠페인을 함께 구성하여 라이더 분들의 액션을 유도할 수 있는 정보를 제공하는 방안을 살펴봤습니다. 자세히 설명하지는 않았으나 API를 직접 구축해보는건 AWS 무료 계정 범위 내에서도 충분히 가능합니다. 한번 익혀두면 볼륨이 작은 캠페인 또는 빠른 테스트가 필요할 때 개발 도움 없이 마케터 스스로 활용해 볼 수 있어요.



마치며


Braze를 통해 배민커넥트 앱을 활성화 시키고, 서비스 지표를 효율적으로 개선할 수 있는 사례와 아이디어를 살펴봤습니다. 적절한 인앱 메시지와 Webhook과 같은 도구를 활용해 좀 더 매끄러운 커뮤니케이션으로 만들어 나가는 저희의 노력을 소개했어요. 앞으로도 배민커넥트 앱에서 라이더 분들과의 다양한 커뮤니케이션을 통해 더 활발하고 긴밀하게 연결될 수 있도록 하려고 합니다!


효율적으로, 효과적으로 커뮤니케이션하는 방법


앱 마케팅, 디지털 마케팅 시장이 커지고 고도화되면서, 마케터들은 다양한 방법으로 고객과 소통하고 있어요. 비즈니스 속성에 따라 다르겠지만, 배민커넥트 앱에서는 ‘브레이즈(Braze)’라는 마케팅 솔루션을 활용하여 고객과 커뮤니케이션 하고 있습니다. 브레이즈를 통해 보낼 수 있는 다양한 메세지 중에 이번 글을 통해서 3가지를 소개하고자 합니다. 첫번째는 팝업 형태의 인앱 메세지, 두번째는 두 개의 캠페인을 연결해 서로 연관된 유저에게 메세지를 보내는 웹훅, 마지막으로는 특정 액션을 진행한 유저에게 질문하고, 응답을 받는 심플 서베이에 대해 소개하고자 합니다. 지금부터 하나씩 공유해볼게요!


Braze는 앱을 다운로드한 유저에게 푸시, 팝업, 이메일 등의 다양한 메시지를 보낼 수 있도록 도와주는 솔루션입니다. 여러분도 푸시 메시지를 한 번쯤은 받아보셨죠? 여러분이 앱을 실행하고 활용하도록 마케터들은 타겟, 목적, 내용, 기간과 시점 등 다양한 항목을 기획하여 메시지를 전송하고 그 이후의 결과를 분석합니다. 이러한 고민을 기반으로 배민커넥트 앱에서 라이더분들과 소통하는 여러 가지 방법들을 활용해 보았는데요, 하나씩 공유해볼게요!


하나, 인앱 메시지 활용기(by. 윤정/퍼포먼스)


고객과 소통할 수 있는 커뮤니케이션 방법은 정말 많은데요, 앱을 설치해야 받을 수 있는 푸시 외에도 문자나 초콜릿톡 메시지를 사용해서 우리 앱을 잊지 않도록 메시지를 보내곤 하죠.


*2023 연말결산 메시지들


저는 2023년 연말결산 이벤트의 PM을 담당하면서, 다양한 채널에서 소통을 전개해 보면서 아쉬웠던 점이 있었는데요. 첫 번째는, 텍스트만 사용할 수밖에 없는 점이었어요. 시각적인 장치나 추가 기능 없이 문자 형태로만 정보를 전달하고 반응을 이끌어내야 해서 어려웠습니다. 두 번째는, 메시지를 클릭하고 앱에 들어오면 메시지 내용이 휘발될 수 있다는 점이었어요. 배민커넥트 앱 내에서 메시지 내용을 계속 보여주는 영역이 필요하다고 생각했습니다. 그래서, 좀 더 다른 형식의 메시지를 함께 활용하기로 했어요!

*2023 연말결산 팝업 메시지


바로, 팝업 형식의 메시지인데요, 다른 메시지들과 다르게 앱에 들어오는 순간, 특정 라이더 분들에게 메시지를 전면에 보여줄 수 있습니다. 혹은 띠 배너 형태로 상단과 하단에서 노출시킬 수도 있죠! 해당 메시지의 장점은 텍스트가 아니라 이미지로 시각을 사로잡을 수 있다는 것과 ‘이벤트 참여하기’ 등의 Click to Action(CTA) 버튼을 활용하여 액션을 유도할 수 있다는 것입니다. 푸시 메시지나 문자 메시지를 클릭하고 앱으로 들어온 분들께 팝업 메시지를 한 번 더 보여줘서 내용이 휘발되지 않게끔 할 수도 있어요.

*타겟에 따라 다른 인앱 메시지 활용 예시


연말결산 이벤트 이후로 배민커넥트 앱에서는 다양한 목적에 따라 인앱 메시지를 활용하고 있어요. 인앱 메시지에서 중요한 점은 시점과 타겟 그리고 랜딩인 것 같아요. 가장 기본적인 구성요소이기도 하지만, 어떤 시점에 어떤 라이더 분들에게 메시지를 보내야 하는지 미리 살펴보아야 합니다. 

앱을 사용한 지 오래되신 분들께는 어떤 메시지를 보여 드리는 게 오랜 동면 기간을 깨울 수 있을지 내용 자체를 고민해야합니다. 랜딩의 경우, 메시지의 CTA 버튼을 클릭했을 때 앱 내 특정 페이지로 보낼 수 있는 추가 기능으로, 사용자가 유효한 랜딩으로 이어지게 만들어야 합니다. 접근할 수 없는 페이지나 메시지와 무관한 곳으로 보내면 이탈할 수 있습니다.


앞서 공유해드린 인앱 메시지 형태는 추가 개발없이 브레이즈에서 제공하는 기본 템플릿을 활용한 방법이었습니다. 메시지에 기능을 추가하고, 이미지 크기와 폰트 등을 변경하려면 우리 앱에 적합한 코드를 직접 개발하는 방법도 있습니다. 이번에는 더 나아가서 기술적인 부분을 추가적으로 활용한 웹훅과 심플 서베이에 대해서 알아볼까요?


웹훅(Webhook) 활용기(by. 진솔/데이터)


배민커넥트 앱에서 신규 라이더 분들이 가장 많이 유입되는 광고 외 매체가 어딘지 아시나요? 바로바로 친구 초대(Referral)랍니다. 배민커넥트 앱뿐만 아니라 수많은 서비스에서 친구 추천을 통해 새로운 고객을 유인하곤 하는데요. 배민커넥트도 수년 간 친구 초대 채널을 통한 네트워킹 효과를 이용하여 수많은 신규 라이더 분들을 모집하고 있습니다.

또한, 이러한 친구 초대 마케팅은 서비스를 운영하는 기업의 메시지가 아닌 서비스를 사용하는 라이더 분의 언어로 바이럴될 수 있는데요. 기존 라이더로 하여금 친구에게 홍보하도록 유도하는 것이니, 기존 라이더 분들에게 적재적소에 정보를 전달하는 것이 중요한데요!

쉽게 말하면, 내가 친구를 초대하면 친구가 가입은 완료했는지 혹은 첫 배달까지 했는지 친구의 행동을 알림으로써 추천하는 사람과 추천받는 사람 모두의 동기부여를 높이는 것이죠.

이번 주제에서는 이를 가능하게 만드는 ‘웹훅(Webhook)’을 설명해 드리려고 해요.

쉬운 예로, 인스타그램에서 baeminconnect 라는 계정을 가진 제가 baemin_official 계정을 팔로우해요. 그러면 baemin_official의 휴대폰에는 제가 팔로우했다는 사실이 앱 푸시 메시지로 전달되겠죠? 이것이 Webhook이랍니다. 참 쉽죠?


이러한 기능을 배민커넥트 앱에서는 어떻게 활용하고 있는지 설명해 드리려고 해요.

  1. 라이더A(나)가 라이더B(친구)를 배민커넥트 앱에 초대한다.

  2. 라이더B(친구)가 배민커넥트 앱에 가입한다.

  3. 배민커넥트 앱이 라이더B(친구)가 배민커넥트 앱에 가입한 사실을 라이더A(나)에게 알린다.

라이더B(친구)가 가입한 이벤트를 중간에서 채가서 라이더A(나)에게 알리는 것이죠!

이러한 기능은 Braze를 통해 아주 간단하게 구현할 수 있는데요! 크게 두 가지가 필요합니다.

  • 푸시 캠페인

  • Webhook 캠페인



푸시 캠페인

초대받은 앱에서 설정된 액션을 완료했을 때, 초대한 라이더에게 푸시 메시지가 전달되는 캠페인입니다. 배민커넥트 앱의 경우, 초대받은 라이더 분이 가입을 완료했을 때 “라이더님이 초대하신 친구가 가입을 완료했어요!”라는 메시지를 초대한 라이더 분에게 전달할 수 있어요.

Braze 내에서 설정할 때 Delivery 부분은 주로 쓰는 Scheduled Delivery가 아닌 API-Triggered Delivery를 선택해야 합니다. Webhook API(초대받은 라이더 분이 가입을 완료했을 때)가 발동됐을 때 캠페인이 작동합니다.



Webhook 캠페인

초대받은 라이더 분이 추천인코드(초대한 라이더 분의 ID값)를 넣고 가입을 완료했을 때, 푸시 캠페인에 추천인코드를 전달하는 캠페인입니다.



초대받은 라이더 분의 ‘가입’이라는 Action이 발생했을 때 Webhook에서 Callback을 해주어야 하기 때문에 Action-Based Delivery로 설정해줍니다.

Request Body 설정에서는 아래와 같이 API의 파라미터를 만들어야 합니다. campaign_id는 Webhook이 어떤 Push 캠페인을 트리거시킬지 지정하는 값입니다. 위에서 설정한 푸시 캠페인의 아이디 값을 넣어줍니다.

recipients의 경우, 어떤 라이더 분에게 푸시 캠페인을 전달할지 명령하는 값입니다. 초대받은 라이더 분의 액션을, 초대한 라이더 분에게 전달해야 하기 때문에 초대받은 라이더 분의 아이디 값과 동일한 추천인코드를 설정할 수 있습니다.

{
  "campaign_id": {{1. PUSH캠페인의 CAMPAIGN ID}},
  "recipients": [
    {
      "external_user_id": {{custom_attribute.${추천인코드}}}
    }
  ]
}


자, 이렇게 간단하게 두 개의 캠페인을 통해 초대받은 라이더 분이 가입 시, 초대한 라이더 분이 그 사실을 알 수 있도록 복합 캠페인을 만들어볼 수 있습니다. 이를 통해서 초대한 라이더 분은 자신이 초대한 친구의 가입 사실을 알게 되어, 보상을 받기 위한 추가 액션을 초대한 라이더 분의 메시지로 만들도록 독려할 수 있죠.



이와 같은 친구 초대 캠페인은 단순히 신규 라이더 분들을 모집하는 수단을 넘어서, 라이더 분들 사이의 신뢰와 상호작용을 증진시키는 효과적인 방법입니다. 앞으로도 배민커넥트는 이러한 기술적 솔루션을 활용하여 라이더 분들이 서로 연결될 수 있는 다양한 방법을 모색하며, 사용자 경험을 지속적으로 향상시키고자 합니다.


 심플 서베이 & API 구축하고 호출하기(by. 현민/그로스)


이번엔 API를 직접 만들어 이를 Webhook 캠페인에서 호출해 활용하는 방법을 소개합니다.

배경

배민커넥트 앱에서 가입하고 배달을 하지 않고 이탈하는 분들이 있어요. 특히, 운행 시작까지 눌렀지만 배달을 하지 않고 종료하는 경우, 문제점이 무엇인지 파악하기 위해 Braze의 심플 서베이 인앱 메시지를 활용해봤습니다.



인앱 메시지 심플 서베이

배달 완료 이력이 없는 라이더 분들이 운행을 시작한 뒤 운행을 종료할 때 여전히 배달 완료 이력이 없다면 서베이 인앱 메시지가 뜨도록 했고, 응답을 기록할 때까지 하루에 한 번 지속적으로 노출되도록 했습니다.




여기서 잠깐, 인앱 메시지 심플 서베이 활용 TIP

  • 서베이 응답을 custom attributes로 기록할 수 있습니다. 이때 데이터 타입을 신중히 선택해야하는데요, 다중 선택지인 경우 반드시 array로 지정해야 이상 없이 기록됩니다. 그렇지 않으면 응답값이 기록되지 않아요.

  • 인앱 메시지를 앱 내에서 특정 이벤트를 트리거로 노출시키려면 SDK 방식 이벤트여야 합니다.


서베이 후속 액션

응답 별로 후속 액션을 생각해볼 수 있을텐데요, 이 중 “건수와 수입이 충분하지 않은 것 같아요.” 응답자 분들에게는 참고가 될만한 데이터를 알려주면 어떨까 싶었습니다. 비슷한 권역에서의 최근 배달비를 대략적으로라도 안내한다면 인식에 변화를 줄 수 있지 않을까? 라는 생각이었어요.

이러한 데이터는 내부 테이블을 쿼리하면 알 수는 있으나 Braze에 저장되고 있지는 않았습니다. 내부 테이블을 쿼리한 결과 값을 Braze로 가져와 인앱 메시지에 넣어줄 수 있어야 했는데요. 처음 생각했던 건 connected content 였습니다.

API 구축하고 호출하기 - connected content

connected content는 인앱 메시지나 푸시 메시지 전송 시점에 API를 호출해 리턴받은 값을 넣어주는 방법입니다. 물론, 호출할 API가 필요하고 API에 연결할 함수와 쿼리할 테이블을 마련해야하지만, 비개발자도 하나씩 해나갈 수 있었습니다.

  1. 참고할 내부 테이블에서 필요한 값들만 뽑아 별도의 마트를 구축한다.

  2. 별도의 마트를 조건에 맞게 쿼리하고 결과를 반환하는 함수를 만든다.

  3. 함수를 실행하는 조건으로 API를 연결한다.

  4. API 호출 시 필요한 파라미터와 설정을 완료한 뒤 배포한다.

  5. 인앱 메시지에서 API를 호출하는 connected content 방식으로 메시지를 작성한다.


그런데 문제가 발생했습니다. 위 과정으로 마련한 API를 connected content 방식으로 호출하여 테스트를 해봤는데 값을 받아오지 못하는 것이었어요. Braze 문서를 찾아보니 connected content 방식으로 API 값을 받아올 때 소요 시간은 최대 2초 이내여야 한다는 제한이 있었습니다. 인앱 메시지 구성에 너무 많은 시간이 소요되면 팝업에 지연이 발생하니 납득할 수 있는 가이드이긴 하지만, 아무래도 쿼리를 날려 결과를 받아와 리턴해주다보니 2초 이내로 응답을 만들어주기는 어려웠어요.



API 구축하고 호출하기 - Webhook

차선책으로 대상이 될 만한 라이더 분들에게 미리 custom attribute 값을 기록해두는 Webhook 캠페인을 만들고, 이렇게 기록된 값을 활용해 인앱 메시지에서 해당 값을 불러오는 방식으로 변경했습니다. 먼저 앞서 구축한 API에 연결된 함수를 수정해줘야 합니다. 결과값을 리턴해주는 것이었는데, 이제 그 값을 Braze user track API를 호출해 custom attribute로 기록해줘야 하는 것이죠. 이러한 흐름입니다.

  1. 운행을 종료했으나 배달을 완료하지 않았던 라이더 분들 대상

  2. 다음 운행 시작 시 Webhook 캠페인을 트리거

  3. Webhook 캠페인 내에서 마련해둔 API를 호출, custom attribute로 기록

  4. 배달을 완료하지 않고 운행을 종료할 경우 팝업되는 인앱 메시지에서 기록해둔 custom attribute 값 사용



지금까지 내부 데이터 기반의 직접 구축한 API, Webhook 캠페인과 인앱 메시지 캠페인을 함께 구성하여 라이더 분들의 액션을 유도할 수 있는 정보를 제공하는 방안을 살펴봤습니다. 자세히 설명하지는 않았으나 API를 직접 구축해보는건 AWS 무료 계정 범위 내에서도 충분히 가능합니다. 한번 익혀두면 볼륨이 작은 캠페인 또는 빠른 테스트가 필요할 때 개발 도움 없이 마케터 스스로 활용해 볼 수 있어요.



마치며


Braze를 통해 배민커넥트 앱을 활성화 시키고, 서비스 지표를 효율적으로 개선할 수 있는 사례와 아이디어를 살펴봤습니다. 적절한 인앱 메시지와 Webhook과 같은 도구를 활용해 좀 더 매끄러운 커뮤니케이션으로 만들어 나가는 저희의 노력을 소개했어요. 앞으로도 배민커넥트 앱에서 라이더 분들과의 다양한 커뮤니케이션을 통해 더 활발하고 긴밀하게 연결될 수 있도록 하려고 합니다!


이런 글도 있어요

이런 글도 있어요

Ⓒ Woowa Youths Inc.

Ⓒ Woowa Youths Inc.

Ⓒ Woowa Youths Inc.