본문으로 바로가기
Archive for AI Study
Project

뤼튼에서 광고 소재 제작을 AX로 바꾸기

뤼튼에서 그로스마케팅팀의 광고 소재 제작과 운영을 AX로 바꾸는 일을 맡았다. 스토리 데이터를 가져와서 광고에 쓸 소구점을 뽑고, 이미지 배너나 영상, 플레이어블로 만들어 e2e로 라이브까지할 수 있게 하는 작업이었다.

뤼튼에서 그로스마케팅팀의 광고 소재 제작과 운영을 AX로 바꾸는 일을 맡았다. 스토리 데이터를 가져와서 광고에 쓸 소구점을 뽑고, 이미지 배너나 영상, 플레이어블로 만들어 e2e로 라이브까지할 수 있게 하는 작업이었다.

Series C 투자를 대비해서(지금은 유니콘이 됐다!), 늘어난 광고 예산을 받아낼 수 있을 만큼 소재를 만들고, 실제로 내보낼 수 있는 흐름을 만드는 게 먼저였다. 생성 모델이 그림 한 장을 잘 만드는 것과, 매일 여러 스토리의 광고를 만들어 운영하는 것 사이에는 해야 할 일이 꽤 많았다.

왜 소재를 많이 만들어야 했나

기존에는 마케터가 광고 효율이 좋을 만한 스토리를 고르고, 어떤 형식으로 만들지 기획한 다음 디자이너와 소통해서 배너를 만들었다. 이 흐름에서 일주일에 제작하는 배너는 최대 7~10개 정도였다. 기획과 제작 자체도 시간이 들지만, 마케터와 디자이너 사이의 소통, 마케터들 사이의 조율도 제작량을 제한했다.

시리즈 C 투자 이후 광고 예산이 늘어나면서 그 예산을 집행할 소재가 필요했다. 내가 투입된 이유도 이 제작 병목을 줄이기 위해서였다. 그렇다고 사람이 기획하던 광고를 모두 자동 생성 광고로 바꾸지는 않았다. 사람은 가설과 기획을 거친 소재를 만들고, AX 쪽은 더 많은 스토리를 빠르게 광고로 만들어보는 두 흐름을 함께 운영했다.

초반에는 자동화 쪽에서도 광고 효율이 좋을 스토리를 골라야 한다고 생각했다. 그런데 CPO와 그로스 본부장님과 여러 미팅을 하면서, 좋아요 랭킹 순으로 후보를 넓게 가져오는 방향으로 정리됐다. 특정 스토리의 성과를 미리 맞히려고 하기보다, 상위권부터 많은 스토리를 내보내고 잘된 광고를 따로 모으자는 결정이었다.

하루 1,000개의 광고 배너를 내보내고 그중 성과가 좋은 소재를 위닝 캠페인으로 모으는 것이 당시 구상이었다. 넓게 탐색하는 광고 집행은 위닝 소재를 찾기 위한 비용으로 보고, 따로 모은 위닝 캠페인은 사람이 기획한 광고만큼 또는 그 이상의 효율을 내는 것을 목표로 했다. 목표 제작량과 실제 달성량, 위닝 캠페인의 성과는 구분해서 봐야 한다. 여기서는 그 목표를 받아서 어떤 시스템을 만들었는지부터 정리하려고 한다.

스토리 하나가 광고가 되기까지

입력은 서비스의 스토리 데이터였다. 제목과 소개만 있는 게 아니라 세계관, 시작 상황, 이미지, 장르 태그, 유저 댓글 등이 함께 있었다. 이 정보를 광고 제작에 쓸 수 있는 형태로 바꾸고, 생성 결과가 실제 매체 규격에 맞도록 후처리해야 했다.

스토리 전처리부터 소재 제작까지의 전체 흐름

스토리 전처리부터 소재 제작까지의 전체 흐름

스토리 전처리의 데이터 흐름

스토리 전처리의 데이터 흐름

큰 흐름은 다음과 같다.

  1. 운영 DB를 미러링한 BigQuery에서 광고 후보 스토리를 가져온다.

  2. 삭제·비공개·차단된 스토리와 광고 대상에서 제외할 콘텐츠를 걸러낸다.

  3. 스토리와 이미지 데이터를 정리하고 소구점 전략을 저장한다.

  4. 같은 전략을 입력으로 이미지, 모션, 롱폼, 플레이어블 등의 소재를 만든다.

  5. 규격별 결과물을 저장하고 검수·업로드 흐름으로 넘긴다.

여기서 공통 입력을 잘 만드는 게 중요했다. 형식마다 세계관과 소구점을 다시 해석하게 하면 같은 스토리인데도 광고가 서로 다른 이야기를 할 수 있다. 그래서 훅, 타깃 감정, 소구점, CTA 방향 등을 strategy_json으로 저장해 후속 제작에서 재사용했다.

기존에 다른 팀에서 만들어 둔 스토리 요약과 추천용 태그도 활용했다. 처음부터 모든 정보를 새로 만들 필요는 없었다. 이미 있는 데이터가 광고 제작에서는 어떤 역할을 할 수 있는지 찾고, 없는 정보는 어떻게 처리할지를 정하는 일이 전처리의 상당 부분이었다.

생성 버튼 뒤에 있어야 하는 것들

실제 운영 화면은 세 서비스의 소재를 통합해서 생성할 수 있게 구성했다. 목표 편집에서 형식별 비율과 소재 개수를 조정하고, 고급 설정에서는 장르 로테이션을 바꿀 수 있다. 운영자가 매번 내부 처리 순서를 이해해야 하는 방식보다는, 그날 필요한 제작량을 조정하고 결과를 확인할 수 있는 형태가 필요했다.

세 서비스의 통합 소재 생성 화면

세 서비스의 통합 소재 생성 화면

형식별 생성 목표와 장르 로테이션 설정

형식별 생성 목표와 장르 로테이션 설정

애니메이션 티저의 플랜 생성 화면

애니메이션 티저의 플랜 생성 화면

스토리보드 플랜을 확인하는 과정

스토리보드 플랜을 확인하는 과정

모든 형식을 같은 방식으로 처리하지는 않았다. 애니메이션 티저는 스토리를 선택해 먼저 스토리보드 플랜을 만들고, 플랜을 확인한 뒤 영상 생성 모델을 호출한다. 완성된 영상은 검수 탭에 노출하고, Drive에 올려 글로벌 마케터분들이 확인할 수 있게 했다. 비싼 영상 생성 전에 수정할 수 있는 단계를 두는 편이 운영에도 맞았다.

배너 한 장을 만드는 중에도 실패할 수 있는 지점이 여럿 있었다. 원본 이미지 URL이 죽어 있거나, 생성 모델이 정책상 차단하거나, 얼굴을 못 찾아 규격 변경 때 캐릭터가 잘릴 수 있다. 실제로 클릭했을 때 원본 스토리가 살아 있는지도 확인해야 한다. 제작 당시에는 공개 상태였는데 이후 제작자가 내리거나 차단되는 경우가 있었기 때문이다. 이런 문제들은 모델 호출 하나만 잘해서 해결되지는 않았다.

제작량 이후의 일

후반에는 만드는 형식을 늘리는 작업과 함께, 안전성·IP 탐지, 이미지 검색, 해외 서비스 디자인, 위닝 소재 기반 후보 발굴도 고도화했다. 처음에는 소재를 만들 수 있게 하는 일이 중심이었다면, 운영을 시작한 뒤에는 어떤 소재를 만들지, 만들면 안 되는 것은 무엇인지, 실패한 결과를 어떻게 다시 처리할지가 더 구체적인 문제가 됐다.

마케터분들의 가설과 디자이너분들의 레퍼런스도 계속 입력으로 들어왔다. 나는 그 판단을 생성 규칙과 데이터 흐름으로 옮겼다. 장르별 디자인을 맞추거나 위닝 소재를 재활용할 때도, 어떤 정보를 시스템에 남겨야 다음 제작에서 반복해서 쓸 수 있을지 고민했다.

이후 글에서는 이 흐름을 이루는 작업들을 나눠서 기록하려고 한다. 데이터가 광고 기획으로 바뀌는 과정부터 시작해서, 이미지 검색과 생성, 필터링, 해외 확장, 성과를 예측하려던 실험까지. 각각을 구현하면서 선택했던 방법과 실제로 잘 안 됐던 지점을 함께 남기려고 한다.

Project

Continue exploring

더 읽어보기

모든 글