이 글은 넷플릭스 기술 블로그에 올라온 Subir Parulekar, Gopal Krishnan의 글 ‘Engineering to Improve Marketing Effectiveness’ 의 번역 버전입니다. Part1, 2, 3
저자의 허락하에 번역하였으며, 이해 부족과 번역의 미숙함에 의한 문제는 오롯이 저의 부족함 때문입니다. 딱딱한 번역이 되지 않기 위해 약간 표현을 바꾼 번역도 있으니 필요시 원문과 비교하며 보는 것도 좋겠습니다.저는 넷플릭스와 어느 이해관계도 없고 단지 제가 관심 갖던 내용이어서 번역하겠다고 부탁드렸습니다.
번역을 허락해주었을 뿐만 아니라 초안을 보내주면 한국 동료에게 검수를 부탁하겠다 해주신 Gopal Krishnan님께 정말 감사드립니다. 적극적으로 도움에 응하시는 태도가 저에게 큰 감동이었고, 앞으로 다른 사람과 커뮤니케이션 할 때 큰 귀감이 될 것 같습니다. 추가로 취업준비와 겹쳐 번역하겠다고 허락받은 시점보다 굉장히 늦게 번역을 마쳤는데 죄송하고, 다시 한 번 감사합니다.
Part1은 마케팅에 광고 기술을 녹이려는 철학, 동기, 접근 방법에 대해 얘기하고, Part2는 대규모로 광고를 만들고 관리하는 것에 대해, Part3는 대규모로 판매 미디어를 이용하는 방법에 대해 얘기합니다.
넷플릭스에서의 마케팅 기술에 대한 세번째 블로그 기록입니다. 이번 편은 캠페인 구성과 판매 미디어 배포에 책임이 있는 마케팅 기술 시스템에 중점을 둘 것입니다. 첫번째 글은 대규모 광고소재 개발과 지역화에, 두번째 글은 광고 통합과 전송을 통해 광고 규모를 키우는 것에 대해 다뤘습니다. 넷플릭스의 마케팅팀은 우리 컨텐츠와 브랜드에 대한 인지도를 높이고 새로운 고객이 우리 서비스에 가입하게 하는 것에 관심있습니다. 우리는 전세계 사람들에 닿기 위해 판매 미디어와 자사 미디어 그리고 평가 미디어를 모두 사용합니다. 우리는 어떤 작품을 어떤 시장에서 홍보할지 결정하는 일에 아트와 과학 양쪽의 도움을 받죠. 넷플릭스의 마케팅 기술 팀은 우리 마케팅 팀이 시간과 돈을 아낄 수 있게 자동화하고 실험하는 것에 힘씁니다. 이런 마케팅 캠페인은 넷플릭스 자체 플랫폼 외의 서비스와 채널에서 (예 - 소셜 미디어) 브랜드 인지도를 높이는데 기여합니다.
우리가 어떤 문제를 푸는가?
마케팅 기술 팀의 목표는 넷플릭스 마케터들이 효율적으로 관리하고 측정하고 실험하며, 판매 미디어에 들어가는 노력을 덜어내는 전략을 배워가도록 확장 가능한 시스템을 구축하는 것입니다.
증분(incremental - 마케팅이 없었을 때 대비 마케팅에 의해 그 순간 추가적인 고객을 유치한 정도 - 역자주) 마케팅 효과 개선하기: 넷플릭스는 판매 미디어를 통해 비즈니스에 증분가치를 촉진하려고 합니다. 예를 들어, 사람들을 가입하게 하려는 목적으로 캠페인을 진행한다면, 전체 가입자 중 캠페인을 통해 가입한 사람들만 측정하면 됩니다. 우리는 캠페인 가입자를 진행 중인 실험과 통제집단/실험집단을 통해 측정합니다. 이를 통해 우리는 전체 가입자 (상관성) 와 증분 가입자 (인과성) 사이의 차이를 이해할 수 있게 됩니다. 더 자세한 정보는 다음 글들을 참고해주세요 - 증분적 입찰과 기여와 광고 효과 측정(현재 이 링크는 사라진 것으로 보임 - 역자주).
큰 규모의 마케팅 가능케 하기: 이제 넷플릭스는 190개 이상의 국가에서 서비스하며 수많은 언어로, 수많은 컨텐츠로, 오직 마케팅만을 목적으로 한 수십억의 광고비로 광고합니다. 어떤 작품에 대한 트레일러는 순식간에 여러 언어, 영상비, 자막, 실험성 변화를 가진 수백개의 광고가 되죠. 우리 마케팅 기술 플랫폼은 세계적 규모의 외부 광고 플랫폼에서 다양한 캠페인을 모으고 전달하는 과정을 돕고 어떤 조합이 좋을지 계획을 세우는 일을 합니다.
쉬운 실험: 우리가 넷플릭스 제품에 대해 실험하는 방식과 비슷하게, 넷플릭스 마케팅팀 역시 판매미디어에 들어가는 돈을 어떻게 하면 잘 썼다고 소문날지 알기 위해 실험합니다. 마케팅기술 팀은 마케팅 파트너들이 전략적이고 창의적인 결정하는 데 더 많은 시간을 쓰도록 돕는 기술을 만들려고 합니다. 우리 팀은 실험을 통해 본능으로부터 가장 좋은 퍼포먼스를 내는 캠페인으로 사람들을 이끕니다. 우리는 A/B 테스트나 거리기반 실험 방법론을 통해 이런 실험을 진행합니다.
준실시간 측정: 다양한 글로벌 광고 플랫폼에 판매 미디어를 운영하는 광고주로서 우리 시스템은 캠페인의 효과에 대해 정확하면서 준실시간으로 결과를 제공해야 합니다. 그래서 우리는 데이터가 캠페인 비용에 맞춰 조정하고 최적화하게 합니다. 고객을 유입시킨다는 우리의 목적에 맞게요.
우리가 어떻게 문제를 푸는가?
우리가 문제해결을 위해 사용하는 기술 시스템은 다음과 같이 나눠 볼 수 있습니다:
- 판매미디어를 구입하고 계획을 효율화하는 업무흐름을 자동화하는 시스템 (미디어 계획)
- 창작물 개발과 지역화, 광고 자산모음에서 광고를 조립하는 시스템
- 마케팅 캠페인의 생성과 집행을 하는 시스템 (캠페인 관리 시스템)
- 구글 같은 플랫폼에서 집행된 캠페인에서 분석정보와 인사이트를 수집하는 시스템 (광고 인사이트)
- 마케팅 비용 최적화를 위해 진행되고 있는 캠페인의 비용을 변경하는 시스템 (광고 비용 최적화)
아래 표는 판매 미디어 마케팅 캠페인의 굉장히 단순화된 라이프사이클입니다.
이 글은 주로 캠페인 관리와 광고 자산 최적화 시스템을 다루겠습니다.
캠페인 관리 시스템
미리 말하자면 여기 나올 전문용어들은 조금 낯설 수 있습니다. 하나의 캠페인은 아이디어와 주제를 담은 광고의 집합입니다. 하나의 광고 캠페인은 보통 프로그래매틱, 역방향 광고(digital reverse), TV, 전단지, 입간판 같은 여러 미디어 채널을 통해 광고됩니다. 하나의 캠페인은 다음과 같이 구성됩니다:
- 목적: 한 캠페인은 특정 목표와 목적을 가집니다.
- 타겟 시청자: 캠페인에 의해 타게팅된 시청자와 지역 내 언어의 집합을 의미합니다.
- 목록: 목록은 캠페인을 구성하는 모든 광고에 대한 정보를 가집니다. 작품, 링크, 광고 포맷 (비디오 광고, 캐러셀 (피드에서 옆으로 사진과 글로 된 광고를 넘기게 하는 방식 - 역자주) 등) 의 리스트를 가집니다.
- 자산: 자산은 캠페인과 관련있는 비용을 가리킵니다. 이 비용을 일 단위로 돌아가는 캠페인 활동에 쓸 수도 있고 (일별 자산), 캠페인의 라이프타임 전반에 걸쳐 쓸 수도 있습니다 (라이프타임 자산).
프로그래매틱 입찰은 특정 맥락에, 특정 인터넷 사용자에게, 광고를 노출시킬 기회를 얻기 위해 진행되는 자동화된 입찰입니다.
넷플릭스의 프로그래미틱 마케팅팀은 광고 플랫폼에 마케팅 캠페인을 계획하고 세팅하고 실행하는 역할을 합니다. 각각의 캠페인은 별도의 구성, 지역과의 조합, 광고 목록 등을 필요로 하죠. 우리는 캠페인 관리 시스템을 캠페인 제작 과정에서 큰 부분을 자동화하기 위해 만들었습니다. 이 시스템은 광고 목록 구성, 자산 추천, 실험, 시청자, 캠페인 구성의 복잡함을 추상화 (프로그래밍에서 추상화는 추상적인 얘기보다는 개념화, 단순화에 가까움 - 역자주) 시킴으로서 캠페인 제작 과정을 자동화시킵니다.
캠페인의 복잡합은 더 커지곤하는데 원인은 프로그래매틱 마케팅팀이 종종 캠페인의 일환으로 실험도 진행하기 때문입니다. 예를 들어, 우리는 30초 광고와 6초 광고의 상대적인 효과를 비교하는 실험을 위해 캠페인을 하기도 합니다. 다른 실험들은 자산 할당량 같은 최적의 캠페인 매개 변수를 정하기 위해 진행됩니다. 세팅된 시스템 없이 이런 모든 조합을 알아내는 것은 캠페인 구성 시간과 복잡성에서 말도 안되는 비용증가를 초래합니다.
이런 문제를 해결하기 위해 우리의 캠페인 관리 시스템은 계획 유형 (레시피) - 캠페인 유형, 목적 등에 대한 사전에 구성된 조합 - 에 대한 개념을 지니고 있습니다. 이런 기능덕에 한 장소에서 국가와 플랫폼을 초월한 적절한 레시피를 선택하고 정보를 구성할 수 있게 됐습니다. 덕분에 극적으로 캠페인 구성시간을 줄이고, 에러나기 쉬운 수동 과정을 빼고, 실험에서 얻는 확신을 높일 수 있었습니다.
시스템 구조
캠페인 관리 서비스는 목적달성을 위해 다양한 기술에 의존합니다. 대다수의 서비스 레이어는 Kotlin과 자바로 작성되었습니다. Cassandra는 대부분 데이터의 최우선 저장소입니다. UI는 Node.js 위에 만들어졌고 React 컴포넌트를 통해 REST로 연결된 백엔드 서비스와 커뮤니케이션시킵니다. Titus는 광고 플랫폼에 비디오를 업로드하는 것 같은 무거운 일을 하는데 사용되는 컨테이너 기반 업무를 제공합니다.
광고 자산 최적화 시스템
우리가 증분적 신규가입을 늘리겠다는 목적으로 마케팅 캠페인을 할 때, 우리는 세계적으로 마케팅 자산을 소비해야 하는 어려움을 마주합니다. 예를 들어, 증분적 가입과 수익이 궁극적 목표라고 할 때 미국이나 태국 중에 어디에 추가적인 돈을 사용해야 할까요? 쉽게 말해 이건 비용할당 문제이긴 비용할당 문제인데, 이면에 넷플릭스 제품과 시장의 케미, 미디어 비용 같은 측정 어려운 요소가 있는 문제인 것이죠.
우리는 이 문제를 증분적 수익을 극대화하도록 동적으로 자산 배분하는 시스템을 구축하여 해결합니다. 이 시스템은 진행중인 캠페인의 효과 데이터를 광고 플랫폼에서 가져와 나라와 자금이 지불되는 플랫폼 그리고 캠페인의 남은 날짜마다 그에 맞는 자산 배분을 계산합니다.
시스템 구조
자산 최적화 시스템에는 세 가지 메인 요소가 있습니다. 프론트엔드는 캠페인 메타데이터 (캠페인 요약, 시작일과 종료일, 자산 등) 접근을 위한 CRUD 인터페이스를 제공합니다. 또한 사용할 특정 자산을 확인하고 선택하고 실행하도록 돕는 넷플릭스의 작업 조율 엔진인 Meson을 사용합니다. 다음 요소는 비용, 향상도 등의 지표를 계산하고 Hive테이블에 저장하는 데이터 ETL(Extraction, Transformation, Loading - 추출, 변환, 적재를 의미하며 데이터베이스 이용을 위한 과정) 파이프라인입니다. 세번째 요소는 S3로부터 캠페인 메타데이터를, Hive로부터 비용/향상도 지표를 읽어오고 머신러닝 모델을 통해 나라와 광고 플랫폼에 맞는 자산 할당량을 계산하는 벡엔드입니다. 업데이트된 자산 할당량은 API 통합을 통해 외부 플랫폼으로 새로 전달(git류 시스템에 익숙하다면 push로 이해)됩니다.
앞으로의 도전
우리 사업이 발전하고 있기 때문에, 우리 시스템은 더 가속화된 실험과 확장된 창작품 목록을 잘 지원하도록 스케일을 키워야 할 필요가 있습니다. 또한 업무흐름에서 자동화 가능한 것은 최대한 자동화로 처리하게끔 미세조정을 이어갈 것입니다. 광고 캠페인을 만드는데 더 적은 시간과 노력이 들어갈수록, 우리 사업이 발전하는 속도가 더 빨라질 것입니다. 우리의 목표는 효과적이고 강건하며 규모를 키울 수 있는 마케팅 플랫폼을 계속해 만들어가는 것입니다. 각각의 부분합보다 위대하고, 궁극적으로 소비자에게 행복을 주기 위해서 말이죠!
결론
정리하자면, 우린 세계적 규모에서 넷플릭스 캠페인을 만들고 전달하고 최적화하는 메커니즘에 대해 얘기나눴습니다.
번역을 마치며
매번 글 상단에 적었듯이 번역을 허락해주신 Gopal Krishnan님께 정말 감사한 마음입니다.
다만 제가 번역이 늦어지면서 링크드인 메일로 결과물을 공유드렸을 때 장기간 답을 못받아
저자의 교정 과정 없이 올린 글이라는 점 말씀드립니다.
번역 과정의 문제는 온전히 제 역량 문제입니다 :)
개인적으로 넷플릭스 광고에 노출되면서 최적화 마케팅을 어떻게 진행했을까 궁금해 찾아봤고
공유하고 싶어 번역까지 하게 됐습니다.
잘 모르는 데이터 엔지니어링 파트가 생각보다 많긴 하지만 한 번 읽어보면 좋을 것 같네요.
운이 좋게 첫 글은 저자의 허락을 받고 번역글을 올렸지만
생각보다 저자에게 연락이 닿는 경우가 적어 연락이 가능하다면 연락하는 걸 원칙으로 하되
그 외에는 그냥 번역하는 방향으로 진행해야겠습니다.
또, 번역이라는 작업이 생각보다 어렵다는 걸 몸소 느낀 시간이었습니다.
누군가에게 도움이 되었으면 합니다.