개발자에게 질문: Braze 통합, AWS EventBridge 활용 및 사전 프로젝트 연구 우선 순위 지정에 대한 myDNA 선임 소프트웨어 개발자 Elliott Millar

게시 됨: 2022-04-30

개발자는 고객이 마케팅 활동을 지원하기 위해 Braze 플랫폼을 원활하게 통합하고 활용할 수 있도록 하는 데 중요한 역할을 합니다. 개발자들이 Braze와 관련하여 수행하는 작업과 그들의 경험에 대해 자세히 알아보기 위해 저는 최고의 유전 건강 브랜드인 myDNA의 선임 소프트웨어 개발자인 Elliott Millar와 함께 했습니다. 그가 말한 내용은 다음과 같습니다.*

myDNA와 귀하의 역할에 대해 간단히 말씀해 주시겠습니까?

myDNA는 호주 멜버른에 본사를 둔 유전 건강 회사입니다. 우리는 유전적 결과에 따라 사람들에게 조언을 제공합니다. 고객은 뺨 면봉을 보내면 DNA 결과를 처리하고 DNA 통찰력과 유전학 관련 권장 사항을 제공합니다.

myDNA는 의료 종사자가 환자의 약을 보다 정확하게 처방하는 데 도움이 될 수 있는 약물유전체학 제품으로 시작했으며 이는 많은 사람들의 삶에 큰 변화를 가져왔습니다. 이제 유전학이 식이, 운동, 수면, 피부 노화와 같은 건강 측면에 어떻게 영향을 미치는지 보여주는 풍부한 DNA 연구가 많이 있으므로 myDNA에는 이제 일반 건강 제품도 있습니다. 그 제품은 사람들에게 DNA 통찰력과 권장 사항, 그리고 myDNA Unlocked 앱을 통해 유전 결과를 기반으로 한 개인화된 식사 및 피트니스 계획을 제공합니다. 이것이 바로 Braze가 필요한 이유입니다. 우리는 Braze를 사용하여 앱을 통해 이 개인화된 콘텐츠를 고객에게 제공하여 고객의 행동을 바꾸고 웰빙 목표를 달성하도록 돕습니다.

저는 myDNA의 수석 소프트웨어 개발자입니다. 저는 10월부터 그 역할을 맡아 왔으며 제가 주도한 첫 번째 프로젝트 중 하나는 Braze를 myDNA Unlocked에 통합하는 것이었습니다. 저는 풀스택 개발자이기 때문에 SQL 데이터베이스에 도달하거나, .net 백엔드를 설정하거나, React Native로 작업을 수행하거나, Objective-C를 처리하는 등 소프트웨어 제품군에서 거의 모든 작업을 수행할 수 있습니다. 그것은 별로 중요하지 않습니다. 저를 어디든지 데려다 주십시오.

Braze를 통합하는 것이 myDNA의 첫 번째 프로젝트 중 하나라고 말씀하셨습니다. 그 프로젝트의 일정이 어땠는지 말씀해 주시겠습니까?

글쎄, 나는 11월에 그것을 집어 들었고 그 과정은 겨울 방학을 포함하지 않고 3개월 조금 걸렸다. 프로젝트가 내 손에 들어오면 시작됩니다. 내가 참여하기 전에 Braze로 수집할 사용자 지정 이벤트와 사용자 지정 속성을 설정하는 온보딩 프로세스가 있었습니다. 프로젝트를 시작하기 6~8주 전쯤이었던 것 같아요.

Braze 통합 프로젝트를 시작하기 전에 조사를 했습니까?

나는 엄청난 양의 연구를 했다. 저는 LAB[Learning at Braze]에서 20시간 분량의 비디오를 시청했고 이 소프트웨어에 대한 모든 것을 알아야 했기 때문에 엄청나게 많은 문서 페이지를 읽었습니다. 그것이 작동하는지 또는 무엇을해야하는지 어떻게 알 수 있습니까? 나는 또한 고객 경험(CX) 팀의 관점에서 모든 것을 알아야 했습니다. 왜냐하면 그들은 주로 Braze를 소유할 팀이기 때문입니다. 실제로 어떻게 사용할까요? iOS 및 Android에서는 어떻게 작동합니까? 처음에는 이 프로젝트에 누가 참여할지 정말 몰랐고, 내가 프로젝트를 이끌고 있다면 무슨 일이 일어나고 있는지 모든 것을 알아야 업무를 할당하고, 모든 것을 파악하고, 적절한 견적을 얻으십시오.

그래서 저는 Liquid Personalization, Connected Content, 사용자 정의 속성 및 사용자 정의 이벤트, 통합 방법, IP 온난화가 무엇이며 수행하는 방법, 푸시 프라이밍에 접근하는 방법, 그런 종류의 것들에 대한 자습서를 확인했습니다. 시스템에서 일이 일어나고 있다는 이유로 4억 5천만 개의 데이터 포인트를 씹는 대신 자신의 API를 망가뜨릴 위험이나 델타를 어떻게 사용해야 하는지와 같이 연결된 콘텐츠를 통해 알아야 할 여러 가지를 배웠습니다. 그리고 문서에는 웹훅을 설정하는 방법부터 Braze API 및 SDK가 작동하는 방법에 이르기까지 모든 것이 있습니다.

그리고 작업이 끝나면 Confluence에 섹션을 만들어 기본적으로 Braze에서 얻은 이 모든 정보를 다른 개발자를 위한 멋진 소비 형식으로 필터링했습니다. 그렇게 하면 24시간 안에 최신 정보를 얻어야 하는 경우에도 필요한 모든 정보가 하나의 중앙 위치에 있었습니다. 저는 항상 제가 수행한 모든 연구를 기반으로 Braze와의 통합을 도표화한 방대한 문서를 작성했습니다. 그래서 시간이 되었을 때 준비가 된 느낌이 들었습니다.

Braze를 통합하기로 결정한 이유에 대해 간단히 말씀해 주시겠습니까?

Braze를 사용하면 비즈니스 사례와 모든 것이 myDNA에서 근무하기 훨씬 이전에 완료되었습니다. 하지만 제 관점에서 볼 때 CX 팀에 고삐를 부여하고 개발자 상호 작용이나 개입 없이 고객과 직접 상호 작용할 수 있도록 하면 정말 큰 이점이 있습니다. 우리의 기존 접근 방식은 새로운 기능을 구현하고 출시하기 위해 많은 개발 작업이 필요했기 때문에 CX 팀이 사용자에게 제공할 상호 작용 및 콘텐츠를 제어하기가 더 어려워졌습니다.

그 과정의 일부로 우리는 기본적으로 Braze를 활용할 때 파악해야 하는 세 가지 주요 접점이 있음을 발견했습니다.

  • CX 팀의 메시징 제어를 지원하기 위해 모바일 앱에 SDK 설치

  • Braze를 AWS EventBridge에 연결하여 빠르게 이동하고 시간에 민감한 데이터 관리

  • Braze를 Hightouch, FiveTran 및 기타 기술과 함께 사용하여 덜 긴급한 데이터 처리

SDK 및 메시징과 관련된 첫 번째 터치포인트를 안내해 주시겠습니까?

Braze를 모바일 앱에 통합하기 전에 앱을 래핑하고 Apple App Store 및 Google Play에 배포하는 데 사용한 도구인 Expo를 사용했습니다. Braze는 Expo를 지원하지 않으므로 Braze와 통합하기 전에 Expo를 제거하고 베어 워크플로를 사용하기 시작해야 했습니다. 이는 새로운 빌드 파이프라인을 설정하는 것과 같이 우리가 처리해야 하는 상당한 양의 기술 부채를 의미했습니다. 또한, 우리의 경우에는 iOS용 Objective-C와 Android용 Java, React Native를 통합해야 작업을 시작하고 실행할 수 있었습니다. 그것은 큰 작업이었지만 우리는 내부적으로 도움을 주고 모든 것을 실현할 수 있는 훌륭한 팀이 있었습니다. [ 참고: Braze는 최근 iOS 및 Android SDK를 업데이트하여 각각 Swift 및 Kotlin을 활용했습니다.]

우리는 모바일 앱을 배포했고 드라마 없이 모든 것이 잘 작동했습니다. 그리고 일단 모바일 앱에서 Braze SDK를 실행하게 되자 그곳에서 일어나는 모든 사용자 참여를 캡처하는 데 사용할 수 있었습니다. 따라서 사용자가 시스템과 상호 작용할 때 사용자 지정 이벤트를 시작하고 푸시 알림, 인앱 메시지, 콘텐츠 카드 등과 같이 CX 팀이 사용하는 모든 다양한 메시징 채널을 알리고 전원을 공급하는 데 분명히 도움을 받고 있습니다. 그 좋은 것들.

그 시점에서 우리는 통찰력 이후의 여정을 Braze로 옮길 수 있었습니다. 고객 중 한 명이 DNA 결과를 얻은 후에 발생하는 흐름이라고 합니다. 우리는 CX 팀이 이러한 고객과 상호 작용할 수 있기를 바랍니다. 고객이 식사 계획, 운동 계획 등 모든 좋은 일을 잘하고 있을 때 진심으로 축하해 주기를 바랍니다. CX 팀은 푸시, 인앱 메시지, 콘텐츠 카드 및 이메일 전반에 걸쳐 다양한 사용자 여정을 시작하기 위해 몇 가지 놀라운 캔버스를 구축하고 있습니다.

처음에는 Expo 배출과 관련하여 푸시 알림에 몇 가지 문제가 있었지만 AWS EventBridge를 사용하여 문제를 해결할 수 있는 정말 멋진 방법을 찾아냈습니다. 따라서 Expo를 통해 푸시 알림을 실행하는 대신 EventBridge 파이프라인에 파이프를 연결하여 Braze가 실행되면 푸시와 함께 보낼 사용자 지정 이벤트가 있고 동적 콘텐츠와 함께 메시지가 전송됩니다. 사용자가 관련 업데이트를 받자 마자 Braze가 푸시 토큰을 집어 들고 떠나기 때문에 Expo와 관련된 문제를 우회했습니다. 그러나 이러한 사전 및 사후 인사이트 여정이 Braze로 마이그레이션되기 전에는 모든 것이 CRM을 통해 그대로 계속 작동할 수 있었습니다.

EventBridge에 대해 이야기하면서 Braze와 관련하여 이를 어떻게 사용하고 있는지 간단히 말씀해 주시겠습니까?

글쎄요, 모든 것은 Braze와 관련하여 어떤 종류의 데이터를 가져와야 하는지 생각했을 때 시작되었습니다. 본질적으로 우리가 파악해야 하는 두 가지 다른 데이터 하위 집합이 있습니다. 가능한 한 빨리 Braze에 들어가야 하는 정말 중요한 것이 있습니다. 바로 시기 적절하고 빠르게 이동하는 데이터입니다. 반면에 실제로 시간에 민감하지 않지만 여전히 Braze로 이식해야 하는 추가 데이터가 있습니다. 느리게 움직이는 항목의 경우 하이터치 데이터 동기화를 통과할 수 있습니다. 이에 대해서는 나중에 설명하겠습니다. 그러나 빠르게 이동하는 데이터의 경우 EventBridge를 활용하기로 결정했습니다.

빠르게 움직이는 데이터란? 글쎄요, 누군가가 우리 제품에 등록하면 가능한 한 빨리 Braze로부터 환영 이메일을 받아야 합니다. 등록하는 새 사용자를 위해 활성화될 수 있는 다양한 항목의 전체 파이프라인을 처리하는 등록 단계 기능이 있습니다. 그 일환으로 사용자가 CRM에서 설정되면 사용자가 환영 이메일과 같은 콘텐츠 수신을 시작할 수 있도록 모든 정보가 Braze로 전달되어야 합니다. 따라서 우리는 그 데이터를 전달할 방법을 찾아야 합니다.

결과적으로 EventBridge는 해당 사용 사례에 매우 적합합니다. 우리는 해당 AWS 아키텍처를 호스팅하는 새로운 이벤트 리포지토리를 생성했으며, 모든 설정 및 배포에 AWS CDK[클라우드 개발 키트]를 사용하기 때문에 매우 쉬웠습니다. 방금 AWS에서 myDNA 이벤트 버스를 생성했으며 구독하려면 실행 중인 특정 서비스에 대해 CDK에 새 규칙을 작성하고 해당 버스에 연결하기만 하면 됩니다. , 그런 다음 해당 버스에 도달하는 모든 항목에 대해 표준 패턴 매핑을 수행합니다.

이 접근 방식을 사용하면 주문 업데이트, 고객 등록 및 기타 몇 가지 특정 사항과 같은 주요 사용자 이벤트를 듣고 싶습니다. 모든 다른 마이크로서비스가 Braze에 연결되어 있지 않아도 됩니다. EventBridge가 이를 가능하게 합니다. 게다가 양방향 도로가 있습니다. 따라서 데이터를 Braze로 이동하든 Braze에서 웹훅을 실행하든 모두 기본 EventBridge 아키텍처를 통과할 수 있습니다.

이벤트를 EventBridge로 전송하고 이 매개변수를 사용하여 이 사용자에 대해 이 특정 이벤트를 시작하고 싶습니다. 그리고 우리가 거기 앉아 있는 서비스가 무엇이든 그것을 듣고 구독하고 원하는 것을 시작할 수 있습니다.

이제 우리는 다른 모든 것과 분리된 Braze로 물건을 보낼 수 있는 이 멋진 아키텍처를 설정했습니다. 따라서 등록 단계 기능이 실행되고 "이봐, 새 사용자를 만들었습니다."라고 말하고 Braze 서비스에서 이를 수신합니다. 그리고 그것은 단계 기능을 실행합니다. 이봐, 나는 XYZ를 하고 그것을 Braze로 보낼 것이다. 그 일부로 우리는 콜백 패턴을 가지고 있습니다. 결국 Braze 설정이 실패하면 Braze가 해당 사용자를 생성하지 않고 등록을 성공적으로 완료할 수 없기 때문에 심각한 실패입니다. 이렇게 하면 Braze 작업이 실패하면 전체 등록을 위한 단계 기능이 실패합니다. 그리고 이 모든 것이 AWS에서 내부적으로 처리되었습니다. 훌륭합니다.

제가 언급하지 않은 것은 Braze의 진입점이 필요했다는 것입니다. 우리는 CX 팀에 키를 넘겨주고 그들이 우리 앱에서 실행되는 작업을 제어할 수 있도록 하려고 했습니다. 그 조치 중 하나는 통찰력을 공개하는 것이었습니다. 그 여정은 실제로 CRM과 연결되어 있었습니다. 기본적으로 여기에 참여 이벤트가 있습니다. 오늘은 이 인사이트를 공개하고, 3일 후에는 이 인사이트를 공개하는 등의 방식으로 진행됩니다. 그리고 우리는 이 여정을 사용자를 위해 더욱 역동적으로 바꾸고 싶었습니다. .

Braze 캠페인 또는 Canvas의 일부로 이를 수행하려면 사용자에게 개별적으로 통찰력을 보여줄 수 있어야 했으며, 이는 올바른 정보를 포팅하기 위해 서비스의 일부 엔드포인트에 도달하는 방법을 찾는 것을 의미했습니다. 고맙게도 Braze에는 웹훅과 연결된 콘텐츠라는 두 가지 멋진 기능이 있습니다.

통합하는 동안 우리는 그것을 수행하는 방법을 알아 내려고 노력했습니다. 그리고 말 그대로 우리의 정확한 사용 사례인 AWS의 이 비디오를 우연히 발견했습니다. EventBridge에 대한 이벤트를 트리거할 외부 서비스에서 웹훅을 실행하는 방법은 무엇입니까? 말 그대로 API 게이트웨이를 생성하고 올바른 매핑 템플릿을 설정하는 방법을 안내하는 단계별 비디오 자습서가 되었습니다. 그리고 이를 따른다면 이 접근 방식을 통해 본문 입력을 받아 EventBridge 세부 정보 개체에 매핑한 다음 버스로 보낼 수 있습니다. 이제 API 키로 강력하게 보호됩니다. 이제 누구든지 해당 인증으로 원하는 형식으로 데이터를 보낼 수 있는 진입점이 있으며 이벤트 버스로 실행됩니다. 그리고 우리는 "완벽하다"라고 말했습니다.

터치포인트 3과 Braze 및 Hightouch 데이터 동기화를 사용하는 방법에 대해 말씀해 주시겠습니까?

세 번째 터치포인트는 매우 간단합니다. Hightouch, Fivetran 및 기타 기술을 사용하여 다른 위치에서 데이터를 수집하고 데이터 웨어하우스와 호환되는 멋진 형식으로 변환한 다음 이를 지속적으로 Braze에 파이프하는 것입니다.

이것은 실제로 앞서 이야기한 느리게 움직이는 데이터를 위한 것입니다. 즉, 보유하는 것이 중요하지만 시간이 지남에 따라 덜 중요해지지 않는 항목 또는 사용자의 연령대와 같은 추가 메타데이터는 특정 시점에서 사용되지만 현재는 필요하지 않은 것입니다. 정보가 급하지 않기 때문에 동기화가 시작되고 기본적으로 변경된 사항이 있는지 묻도록 설정했습니다. 예? 좋습니다. 여기 델타가 있습니다. 아니? 그런 다음 아무 것도 하지 마십시오.

마지막 생각들

Braze 플랫폼의 기술적인 측면에 대해 더 자세히 알고 싶으십니까? Building Braze 제품 블로그 에서 제품, 설계 및 엔지니어링(PDE) 조직의 독점 스토리, 학습 및 통찰력을 얻고 Braze 설명서 를 통해 제품 의 모든 부분을 살펴 보십시오 .

*이 변환은 길이와 명확성을 위해 편집되었습니다.