CRM 마케팅에서 적합한 시점에 고객에게 메시지를 전송하는 것은 고객과 의미있는 관계를 구축하고 유지하는 데에 핵심적인 요소입니다. 적합한 시점에 메시지를 전송하여 고객에게 가치 있는 메시징 경험을 제공하면 고객이 효과적으로 프로덕트에 인게이지될 수 있습니다.
브레이즈(Braze)는 고객에게 적합한 시점에 메시지를 보내기 위한 세 가지 메시지 전송 방식(Delivery Types)을 제공합니다. 캠페인을 지정된 시간에 전송하거나(Scheduled), 유저가 특정 행동을 수행했을 때 전송하거나(Action-based), 또는 외부에서 API 요청이 왔을 때 전송(API-triggered)할 수 있습니다.
이번 포스트에서는 먼저 브레이즈 외부에서 API를 호출하여 메시지가 전송하도록 하는 API-triggered 캠페인에 대해 알아보겠습니다. API-triggered 캠페인의 기능 설명, 활용 예시, 단계별 설정 방법 및 고려 사항을 소개합니다.
이어서 내부 서버에서 메시지 전송 시점을 포함한 캠페인의 모든 구성요소를 결정한 뒤 브레이즈 API를 통해 메시지를 전송하는 API 캠페인에 대해서도 다룰 예정입니다.
API-triggered 캠페인이란, 외부에서 API 요청(Request)을 받았을 때 메시지가 발송되도록 하는 ‘API-Triggered Delivery’ 전송 방식을 사용한 캠페인입니다. API-triggered 캠페인을 활용하여 고객사 내부 서버에서 메시지 전송을 요청한 시점에 유저에게 메시지가 전송되도록 설정할 수 있습니다.
API-triggered 캠페인은 고객에게 (1)가장 적합한 시점에 (2)개인화된 메시지를 전송하기 위해 필요합니다. 예를 들어 유저가 상품 재입고 알림을 등록한 경우, (1)상품 재입고 즉시 (2)재입고 알림 상품의 정보를 담은 메시지를 전송하여 효과적으로 고객이 인게이지될 수 있도록 할 수 있습니다.
브레이즈를 통해 메시지를 전송하기 때문에 브레이즈로 수집한 유저 프로필 데이터를 활용하여 개인화 메시지를 손쉽게 적용할 수 있고, 캠페인 성과를 실시간으로 확인할 수 있다는 장점도 있습니다.
API-triggered 캠페인은 브레이즈에서 수집하기 어려운, 고객사 내부 서버의 정보가 바뀐 시점을 인식하여 자동화된 메시지를 전송할 때 활용합니다. 예를 들어, 다음과 같은 상황에 활용할 수 있습니다.
배송 시작, 재입고, 새로운 콘텐츠 업로드와 같이 고객사 내부의 정보가 업데이트되는 시점은 브레이즈 SDK를 통해서는 파악하기 어렵습니다. 이러한 정보의 변경은 고객사 내부 서버에서만 파악할 수 있습니다.
브레이즈는 고객사 내부 정보가 바뀌는 시점에 고객에게 메시지를 전송할 수 있도록 하는 API-triggered 캠페인을 제공합니다.
API-triggered 캠페인을 활용하려면 다음의 세 가지 단계를 고려할 수 있습니다.
(1) API-triggered 캠페인 설정하기
(2) API 요청으로 캠페인 트리거하기
(3) API 요청 시 전달하는 ‘trigger_properties’를 활용하여 메시지 개인화하기
지금부터 각 단계별 활용 방법을 구체적으로 알아보도록 하겠습니다.
가장 먼저 브레이즈에서 API-triggered 캠페인을 설정하는 방법을 알아보겠습니다.캠페인 생성 시 ‘Schedule Delivery’ 단계에서 ‘API-triggered Delivery’를 선택하면 API-triggered 캠페인을 사용할 수 있습니다.
API-triggered Delivery 방식을 선택하면 ‘API Trigger Options’에 ‘CAMPAIGN ID’와 ‘SENDING CAMPAIGNS VIA CURL’ 정보가 나타납니다. CAMPAIGN ID는 API 요청 시 “campaign_id”에 입력할 값을 의미합니다. SENDING CAMPAIGNS VIA CURL은 CAMPAIGN ID를 포함하여 어떤 방식으로 브레이즈에 API 요청을 해야하는지를 안내하는 예시입니다.
이어서 API 요청 시 어떤 정보를 입력해야 하는지 알아보겠습니다.
브레이즈에서는 API-triggered 캠페인과 관련된 다양한 API Endpoint를 제공하고 있으며, 각 API Endpoint가 요구하는 규격에 맞춰 API를 요청해야 합니다.
이번 포스트에서는 API 요청 즉시 캠페인을 트리거하는 ‘Send campaign messages via API-triggered delivery’ API Endpoint를 활용해서 API-triggered 캠페인을 운영하는 방법을 안내하겠습니다.
API-triggered 캠페인을 트리거하기 위한 API 규격은 다음과 같습니다. 브레이즈가 제공하는 API 규격에 맞게 파라미터(parameter)를 입력해야 합니다. 아래에서 각각의 파라미터가 의미하는 바에 대해 알아보겠습니다.
1) Authorization: Bearer {{YOUR-REST-API-KEY}}
API 요청에 필요한 브레이즈 API Key입니다. 브레이즈 API Key는 대시보드의 Settings > API Keys 에서 확인하실 수 있습니다. API Key가 존재하지 않는 경우 ‘Create New API Key’ 를 통해 생성할 수 있습니다.
2) campaign_id (필수, string)
캠페인 설정 단계에서 API-triggered Delivery 방식 선택 시 나타나는 ‘CAMPAIGN ID’ 입니다.
주의사항
브레이즈 대시보드에서 캠페인 통계를 확인하기 위해서는 API 요청 시 캠페인 ID를 반드시 입력해야 합니다.
3) send_id (선택, string)
개별 메시지 전송에 대한 id 값 입니다.
4) trigger_properties (선택, Object)
trigger_properties는 API 요청 시 메시지 개인화에 활용할 수 있는 정보입니다. trigger_properties는 메시지를 받는 모든 유저에게 적용되는 정보입니다.
5) broadcast (선택, boolean)
캠페인 또는 캔버스가 타겟팅하는 전체 세그먼트(Segment)에게 한 번에 메시지를 보내도록 하는 기능입니다. broadcast를 ‘true’로 설정하면 예상보다 많은 유저들에게 메시지가 전송될 수 있기 때문에 주의가 필요합니다.
기본 설정값은 ‘false’입니다. broadcast를 ‘true’로 설정하는 경우에는 ‘7) recipients’를 설정할 수 없습니다.
6) audience (선택, connected audience object)
Connected Audience 기능을 활용하여 메시지를 보낼 대상을 설정합니다. Connected Audience에 대한 자세한 내용은 Connected audience object를 참고해주세요.
7) recipients (선택, object)
recipients는 broadcast와 달리 개별 유저에게 메시지를 전송하고 싶을 때 활용합니다. recipients를 사용하려면 broadcast 값을 ‘false’로 설정해야 합니다.
아래 a)~e) 하위 파라미터를 입력하여 세부 유저를 타겟팅하여 메시지를 전송할 수 있습니다.
a) user_alias (선택, user alias object)
메시지를 수신할 유저의 user alias를 입력합니다.
b) external_user_id (선택, string)
메시지를 수신할 유저의 external_id를 입력합니다.
주의사항
user_alias 또는 external_user_id 중 하나는 필수로 입력해야 합니다. 또한 두 값 중 하나의 값만 입력할 수 있습니다.
c) send_to_exsiting_only (선택, Boolean)
‘true’로 설정 시 브레이즈에서는 기존에 존재하는 사용자에게만 메시지를 전송합니다. user_alias와 함께 사용할 수 없습니다.
d) trigger_properties (선택, Object)
recipients로 설정한 개별 유저에게 적용되는 메시지 개인화 정보입니다.
참고사항
4) trigger_properties와 7-d) trigger_properties를 모두 입력할 경우 7-d) trigger_properties 정보가 반영됩니다.
e) attributes (선택, Object)
메시지가 전송되기 전에 유저의 attributes 값을 생성하거나 업데이트합니다.
예를 들어 AB180이라는 external_id를 가진 유저에게 상품정보(AB맨투맨)와 상품가격(20,000)을 전송하고 싶다면 아래와 같이 API를 호출할 수 있습니다.
API 요청 단계에서 전송한 trigger_properties 정보를 활용하면 메시지를 개인화할 수 있습니다. ‘Message Compose’ 단계에서 파란색 ‘+’ 버튼을 누르면 아래 사진과 같이 개인화 태그를 사용할 수 있습니다.
‘Personalization Type’으로 ‘API Trigger Properties’ 선택 후, API 요청 시 trigger_properties로 전송한 key 값을 ‘Property Name’에 입력합니다. ‘Default Value’는 trigger_properties에 product_name이라는 값이 없을 때 반영되는 정보입니다.
참고사항
개인화 메시지는 Compose Messages 단계에서 파란색 ‘+’ 버튼이 있는 Title, Message, Button, Image, Web URL, Deeplink 등의 영역에서 모두 활용할 수 있습니다.
모든 정보를 입력했다면 ‘Insert Personalization’ 버튼을 눌러 개인화 태그를 적용합니다.
아래는 API Trigger Properties를 활용하여 개인화 메시지를 구현한 예시입니다. 개인화 태그를 적용하면 왼쪽 이미지와 같이 중괄호({})를 포함한 개인화 태그가 나타납니다.
‘(2) API 요청으로 캠페인 트리거하기’에서 요청한 API에 의해 트리거된 캠페인은 오른쪽 이미지와 같이 메시지가 전송됩니다.
캠페인을 기획할 때 API-triggered 캠페인의 필요성을 인지하고, 메시지 전송 시점 및 메시지 개인화에 활용할 데이터를 구체화합니다.
[마케터의 체크리스트]
1) 캠페인 기획 목적에 맞는 API Endpoint를 선택합니다.
브레이즈는 API-triggered 캠페인과 관련된 다양한 API Endpoint를 제공하고 있습니다. 캠페인 기획 의도에 맞는 API Endpoint 활용이 필요합니다. 아래는 API-triggered 캠페인 관련 API Endpoint 예시입니다.
캠페인(Campaign)
캔버스(Canvas)
2) API를 통해 어떤 정보를 받아와서 메시지에 활용할지 정리합니다.
개인화 메시지 전송을 위해 개발자에게 어떤 정보가 필요한지 전달하기 위한 사전 작업입니다. ‘trigger_properties’로 받아야 할 정보를 정리하여 개발자에게 전달합니다.
API 요청을 위해 필요한 사항을 설정하는 단계입니다. 개발자는 마케터의 요청을 확인한 후 적합한 API Endpoint를 선택하고, 마케터가 요청한 정보를 전송합니다.
[개발자의 체크리스트]
1) Endpoint 사용에 필요한 API Key 권한을 설정합니다.
브레이즈 API Endpoint를 사용하기 위해서는 요구되는 권한이 API Key에 설정되어 있어야 합니다. Send campaign messages via API-triggered delivery API Endpoint의 경우 ‘campaigns.trigger.send’ 권한을 반드시 포함해야 합니다.
API Endpoint 별로 요구하는 권한이 다르기 때문에 API 요청 전 권한 보유 여부를 확인해야 합니다. 권한은 브레이즈 대시보드의 Settings > API Keys에서 활용하는 API key를 클릭하면 확인할 수 있습니다.
2) 예상 API 호출량을 정합니다.
브레이즈는 API Endpoint의 호출량을 제한하고 있습니다. Send campaign messages via API-triggered delivery API Endpoint는 아래와 같이 API 호출량이 제한되어 있습니다.
API Endpoint별 호출량 제한이 다르기 때문에, 활용하려는 API Endpoint에 맞는 발송량을 파악한 후 요청 횟수를 결정합니다.
필요에 따라 마케터와 아래 옵션을 사용하는 방안에 대해 논의할 수 있습니다.
캠페인 전송 방식을 ‘API-triggered Delivery’로 설정하고 캠페인을 운영에 필요한 추가적인 요소를 설정하는 단계입니다.
1) 발송 시점을 API-triggered Delivery로 설정하고, 발송 타겟과 목표 전환(Conversion) 등 캠페인 운영에 필요한 항목들을 추가로 설정합니다.
2) 개인화 태그 기능으로 API Trigger Property를 활용하여 메시지 내용을 구성합니다.
3) 의도에 맞게 동작하는지 테스트 진행 후 캠페인을 운영합니다.
4) 캠페인 애널리틱스(Campaign Analytics)에서 캠페인 성과를 확인합니다.
브레이즈 대시보드에서는 캠페인 ID와 전환(Conversion)만 생성하고, 캠페인을 구성하는 다른 요소들은 Braze Message API를 사용해 직접 메시지를 전송하는 캠페인입니다.
API-triggered 캠페인의 경우 메시지 전송 시점을 서버에서 결정하고, 다른 사항들은 브레이즈 대시보드에서 결정합니다. 반면 API 캠페인의 경우에는 고객사 내부 서버에서 메시지 전송 시점, 타겟 유저 등을 모두 결정하고, 브레이즈 대시보드에서는 발송 결과 데이터만 확인할 수 있습니다.
고객사 내부 서버에서 캠페인에 대한 모든 내용을 판단하여 직접 메시지를 보내면서, 브레이즈에서 캠페인 성과를 확인하고 싶을 때 활용합니다. ‘예약완료’와 같은 광고성이 아닌 정보성 메시지 발송에 대한 성과를 확인해야 하는 등의 경우에 활용할 수 있습니다.
API 캠페인도 API-triggered 캠페인과 같이 Braze를 통해 메시지를 전송함으로써, Braze로 수집한 유저 프로필 데이터를 타겟 유저 선정에 활용하고 자동화된 캠페인 성과를 실시간으로 확인할 수 있습니다.
API 캠페인을 활용하는 방법은 다음과 같습니다.
(1) API 캠페인 생성하기
(2) 브레이즈 Message API를 활용하여 캠페인 전송하기
API 캠페인은 브레이즈 대시보드의 ‘Create Campaign’에서 ‘API Campaigns’를 선택하여 생성할 수 있습니다.
API 캠페인을 생성한 후 전송할 채널과 전환 정보, 그리고 추가 옵션(Additional Options)을 설정합니다. 그리고 캠페인 ID와 전송할 채널의 ‘MESSAGE VARIATION ID’를 활용하여 브레이즈 Message API에 메시지 전송을 요청합니다.
주의사항
브레이즈 대시보드에서 캠페인 통계를 확인하기 위해서는 API 요청 시 캠페인 ID를 반드시 입력해야 합니다.
API 캠페인을 트리거하기 위해서는 브레이즈의 Message API를 활용합니다. 아래는 ‘Send messages immediately via API only’ API Endpoint를 활용한 예시입니다.
API 캠페인을 트리거하기 위한 API 규격은 다음과 같습니다. 브레이즈가 제공하는 API 규격에 맞게 파라미터(parameter)를 입력해야 합니다.
예를 들어 external_id가 AB180인 유저에게 AB맨투맨 재입고를 알려주는 iOS Push 메시지를 전송하려는 경우 아래와 같이 API 요청을 할 수 있습니다.
캠페인을 기획할 때 API 캠페인의 필요성을 인지하고, 메시지 발송 시점 및 메시지 내용 등을 구체화합니다.
[마케터의 체크리스트]
1) 캠페인 기획 목적에 맞는 API Endpoint를 선택합니다.
브레이즈에서는 API 캠페인 전송을 위한 API Endpoint를 제공하고 있습니다.
2) 어떤 내용을 API 캠페인으로 전송할지 정리합니다.
메시지 내용, 타겟 유저, 프리퀀시 캐핑(Frequency Capping) 사용 여부 등 API 요청 시 필요한 정보를 정리하여 개발자에게 전달합니다.
API 요청하여 메시지를 전송하는 단계입니다. 개발자는 마케터가 요청한 정보를 바탕으로 API를 요청하여 메시지를 전송합니다.
[개발자의 체크리스트]
1) Endpoint 사용에 필요한 API Key 권한을 설정합니다.
브레이즈 API Endpoint를 사용하기 위해서는 요구되는 권한이 API Key에 설정되어 있어야 합니다. Send messages immediately via API only API Endpoint의 경우 ‘messages.send’ 권한을 반드시 포함해야 합니다.
각 API Endpoint가 요구하는 권한이 다르기 때문에 요청 전 필요 권한이 무엇인지 확인해야 합니다. 권한은 브레이즈 대시보드의 Settings > API Keys에서 활용하는 API key를 클릭하면 확인할 수 있습니다.
2) 예상 API 호출량을 정합니다.
브레이즈는 API Endpoint의 호출량을 제한하고 있습니다. 예를 들어 Send messages immediately via API only API Endpoint는 아래와 같이 API 호출량이 제한되어 있습니다.
API Endpoint별로 호출량 제한이 다르기 때문에, 활용하려는 API Endpoint에 맞는 발송량을 파악한 후 요청 횟수를 결정합니다.
1) 의도에 맞게 동작하는지 테스트 진행 후 캠페인을 운영합니다.
2) 캠페인 애널리틱스에서 캠페인 성과를 확인합니다.
지금까지 API-triggered 캠페인과 API 캠페인의 기능과 활용 방법에 대해 알아보았습니다.
이제 여러분들은 재입고, 예약 완료와 같이 브레이즈 SDK가 인식하지 못하는 시점에도 캠페인을 트리거하여 메시지를 전송할 수 있게 되었습니다. 이때 브레이즈로 수집한 유저 프로필 데이터를 활용하여 캠페인 타겟 유저를 설정하거나 개인화 메시지를 손쉽게 적용할 수 있고, 캠페인 성과를 실시간으로 확인할 수도 있습니다.
API-triggered 캠페인과 API 캠페인을 활용하여 고객과의 연결을 강화하고 CRM 성과를 향상시키는 데 도움이 되기를 바랍니다!