당근 광고가 만들어지는 곳, DSP

서비스 | 2024-08-06
당근 광고가 만들어지는 곳, DSP_포스트썸네일

당근은 우리 동네 사장님들부터 기업까지 누구나 사용할 수 있는 광고 시스템을 가지고 있습니다. 앞서 1편 ‘전단지를 대체할 당근 광고의 등장’ 글을 통해 광고 시스템을 온라인 세상에서 “광고 전단지”를 잘 만들고 잘 나눠주는 체계라고 소개한 적이 있는데요. 이번 글에서는 그 체계의 일부인 Demand Side Platform(DSP)에 대해 알아보겠습니다.

이 글을 읽고 나면 당근 광고 아키텍처 중 검은색으로 표시한 영역을 이해할 수 있습니다. 이 그림은 신규 입사자분들의 온보딩을 위해 활용하는 그림이기도 한데요. 조금 흐릿한 것 같다고요? 더 자세히 보고 싶다면… 당근 광고실은 언제나 열려 있습니다!

DSP란 무엇일까?

DSP는 Demand Side Platform의 줄임말로, 광고주가 광고지면을 구매하기 위해 사용하는 소프트웨어 플랫폼입니다. 일반적으로 광고주는 자신이 광고하고 싶은 지면을 적절한 가격에 구매해야 그곳에 원하는 내용을 채워 넣을 수 있죠. 광고주가 원하는 조건의 광고 지면이 생길 때마다 이를 자동으로 구매할 수 있도록 해주는 곳이 바로 DSP입니다.

그렇다면 어떤 DSP가 좋은 DSP일까요? 광고주가 돈을 쓴 것보다 광고로 벌어들인 수익(ROAS, Return On Ad Spend)이 더 클 때 좋은 DSP라고 할 수 있습니다. 광고주의 순수익이 늘어나면 DSP가 받는 수수료도 늘어나니 광고주의 성공이 곧 DSP의 성공이라 볼 수 있죠.

DSP를 통해 광고하기

광고주들은 당근의 DSP를 통해 당근 광고지면을 구매할 수 있습니다. 이때, ROAS를 극대화하기 위해 광고주들은 광고를 집행하고 성과를 확인하는 과정을 반복하게 되는데요. 먼저 각각의 단계가 어떻게 흘러가는지 살펴보겠습니다.

Step 1. 광고 집행

첫 번째 단계는 광고를 만드는 겁니다. 일반적으로 DSP를 통해 광고를 만들 때는 광고의 목적, 타겟, 디자인을 정해야 하는데요. 그중 가장 먼저 분명히 할 것은 광고의 목적입니다. 무엇을 왜 광고하는지 모른다면 이를 보는 사용자들도 광고주의 목적에 맞는 행동을 할 수 없기 때문입니다. 광고 집행에 적합한 목적을 몇 가지 예시로 들어보겠습니다.

  • 헬스장 관장님 🏋️ : 헬스장에 방문하는 손님을 늘리고 싶어. 
  • 젤라또 가게 사장님 🍨 : 가게에 방문하는 손님을 늘리고 싶어. 
  • 온라인 쇼핑몰 사장님 🛍️ : 웹사이트에서 구매하는 사람을 늘리고 싶어.

목적을 정한 후에는 광고를 볼 타겟층을 정해야 합니다. 광고는 목적에 따라 타겟이 다를 가능성이 높기 때문인데요. 앞서 든 예시를 이용해 각 광고 목적에 적합한 타겟층을 예상해 보겠습니다. 이해를 돕기 위한 예시일 뿐 권장사항은 아님을 밝힙니다.

  • 헬스장 관장님 🏋️ : 주변 지역에 광고하고 싶어. 근처에 살거나 주변 회사에 다니는 사람들은 광고를 본 후에 방문할 가능성이 높지만 몇 시간 거리에 사는 사람들은 광고를 봐도 주기적으로 방문하기 어려울 거야.
  • 젤라또 가게 사장님 🍨 : 가게가 위치한 XX구에 광고하고 싶어. 집에서 조금 거리가 있더라도 맛집처럼 보이면 사람들은 기억해 두었다가 방문할 거야. 주로 20~30대가 방문하니 이 사람들을 타겟팅하면 높은 구매 전환을 이끌어낼 수도 있겠어.  
  • 온라인 쇼핑몰 사장님 🛍️ : 우리 쇼핑몰은 전국배송을 해줄 수 있기 때문에 전국에 광고하고 싶어. 우리 쇼핑몰은 30대 남성들이 주 고객이니 그들을 타겟팅해야겠어.

광고 타겟을 정했다면 이번에는 광고의 디자인을 정해야 합니다. 광고 지면에는 주로 사진과 문구, 영상 등을 디자인해 올릴 수 있으며 실제 이용자들이 매력을 느낄 만한 내용을 담아야 참여를 쉽게 이끌어낼 수 있습니다. 예시로 사장님들이 어떤 문구를 만들었는지 확인해 보겠습니다. 

  • 헬스장 관장님 🏋️ : 우리 지점 선생님들은 보디빌딩 대회 수상 경력도 많고 회원님들의 근육량 증가와 체지방 감소도 잘 이끌어내기 때문에 무료 PT 한 번만 해줘도 30회권을 끊을 거야. 이걸 이용해 사진과 문구를 만들어보자.
  • 젤라또 가게 사장님 🍨 : 우리 가게 젤라또는 이탈리아 정통 젤라또의 쫀쫀함이 특징이야. 현지인이 방문해서 맛있게 먹고 간 적도 있지. 이걸 이용해 사진과 문구를 만들어보자.
  • 온라인 쇼핑몰 사장님 🛍️  : 여름 휴가를 가고 싶은 사람들이 많으니 옷을 사면서 여행 기분을 만끽하라는 문구를 만들어 봐야겠어. 당근 광고를 보고 온 사용자들을 위한 할인 쿠폰을 준다고 하면 구매도 이끌어낼 수 있을 거야. 

위와 같은 고민의 결과로 아래와 같은 문구를 짤 수 있을 거예요. 

  • 헬스장 관장님 🏋️ 피지크 대회 수상 코치들의 PT를 무료로 받아보세요!
  • 젤라또 가게 사장님 🍨 현지인들도 먹고 가는 정통 이탈리아 젤라또 맛집!
  • 온라인 쇼핑몰 사장님 🛍️ 🏖️ 휴가철 옷은 OO에서! 당근 이웃 한정 20% 할인쿠폰 지급! 

Step 2. 성과 확인

목적에 맞는 타겟층과 디자인으로 광고를 집행한 이후에는 광고 성과를 확인해야 합니다. DSP를 통해 확인할 수 있는 광고 성과로는 노출, 클릭, 전환이 있는데요. 뒤로 갈수록 광고주 체감효과가 큰 요소입니다. 예시의 광고를 통해 각 광고주가 얻은 성과와 광고비, 그로 인한 매출을 살펴보며 광고효과를 확인해 보겠습니다.

먼저 노출은 사용자들에게 광고가 몇 번 보였는지를 의미합니다. 광고 노출은 타겟 크기에 비례해 늘어나기 때문에 일반적으로 광고 노출이 광고 효과를 대변하지는 않습니다. 헬스장 관장님의 광고가 다른 사장님들의 광고보다 적게 노출되었다고 하더라도 같은 동네 사람들에게만 광고한 관장님의 광고가 지출대비 수익이 높을 수 있습니다.

다음으로 클릭은 광고를 본 사람들이 광고를 몇 번 눌러봤는지를 의미합니다. 일반적으로 노출대비 클릭인 클릭률을 통해 광고가 얼마나 매력적인지를 판단하며 클릭률이 높을수록 매력적인 광고라고 볼 수 있습니다. 온라인 쇼핑몰 사장님의 광고는 다른 광고들에 비해 클릭률이 낮은 편인데요. 광고 클릭이 무조건 매출향상으로 이어지는 것은 아니지만 일반적으로 0.1%는 낮은 클릭률이기 때문에 DSP의 입장에서 개선을 요구할 때가 있습니다.

다음으로 전환은 광고를 클릭한 사용자들 중 몇 명이 구매, 채팅 등의 행동을 했는지를 의미합니다. 광고주가 직접적으로 체감할 수 있는 성과인 만큼 이후 광고 추가 집행 여부에도 가장 큰 영향을 미치는 지표입니다. 이 때문에 전환을 잘 만들어주는 DSP는 입소문이 나기도 합니다. 당근 광고도 전환율을 높이기 위해 많은 요소를 고민하고 있죠. 이제 성과 지표는 모두 수집됐으니 광고비 대비 수익을 계산해 보겠습니다.

광고 효과를 판단하기 위해서는 광고비 대비 수익(ROAS)을 계산해야 합니다. 업종에 따라 차이가 있지만 일반적으로는 광고비의 4배가 넘는 매출이 발생하면 효과적인 광고로 판단합니다. 만약 광고주의 마진율이 목표한 수치보다 낮을 경우 ROAS를 더 올려야 하며 그러기 위해서 광고주는 Step 1 ‘광고 집행’으로 돌아가 타겟이나 디자인을 수정해 광고한 뒤 성과를 확인하는 과정을 반복해야 합니다. 

이러한 과정은 광고주가 광고에 얼마나 익숙한지에 따라 난이도가 다릅니다. 따라서 당근의 DSP는 지면구매 전략을 세세하게 설정할 수 있는 전문가모드와 일부 선택지를 제외한 나머지를 최적화해 알아서 처리해주는 간편모드를 제공하고 있는데요. 각각의 서비스를 제공하기 위해, 당근의 광고실이 어떤 고민을 하고 있는지 조금 더 구체적으로 이야기해 보려 합니다. 

성장할수록 마주해야 하는, DSP의 기술적 챌린지

당근의 DSP를 통해 광고주들은 광고지식이 없어도 광고지면을 효율적으로 구매할 수 있습니다. 이를 가능하게 하기 위해서 광고실의 소프트웨어·머신러닝 엔지니어들은 몇 가지 어려움을 극복해야 하는데요. 그중 확장성, 도메인 복잡성, 심사 자동화를 살펴보겠습니다.

챌린지 1. 확장성 

확장성은 많은 기술 면접의 주제이자 빠르게 성장하는 산업을 대표하는 기술적 허들입니다. 한 해에도 몇 배씩 늘어나는 광고라는 원천 데이터를 가진 DSP는 광고실 내외부 서비스들이 필요할 때마다 광고 데이터를 제공해야 합니다. 

문제는 이 데이터가 수백만 건에 달한다는 것인데요. DSP 뒷단에 위치하는 서비스들은 1초에 수천 번, 수십만 개의 광고를 대상으로 컴퓨터 연산을 하기 때문에 아무리 좋은 데이터베이스를 사용하더라도 그 요청들을 DSP가 직접 받아줄 수는 없습니다. 그래서 일부 요청은 캐싱을 붙인 API로, 일부는 이벤트로, 또 일부는 데이터베이스 스냅샷으로 처리해야 하는데요. 당연하게도 모든 문제를 한번에 처리할 은총알은 없기 때문에 요구사항에 따라 유연하게 대응해야 하며 어떤 방법이 가장 직관적이고 장기적으로 유지보수하기 쉬운 방식인지 고민해야 합니다.

챌린지 2. 도메인 복잡성

광고라는 도메인은 복잡합니다. 대부분의 고도화된 사업이 그렇듯 광고 또한 수많은 요구사항과 결정을 코드와 문서로 표현하고 있습니다. 당근의 DSP는 약 17만 줄의 코드와 60개의 테이블, 150개가 넘는 API로 구성돼 있으며 이는 사람의 기억력으로 관리할 수 있는 범주를 벗어납니다. 그렇기 때문에 팀 레벨에서 코드를 관리하고 발전시키기 위한 컨벤션이 존재하고 컨벤션의 일부로는 테스트 코드와 코드 리뷰, 통합 테스트와 점진적 배포가 있습니다. 

문서화 또한 중요합니다. 복잡한 기능의 구현과 정책을 문서화하지 않는다면 팀을 옮긴 이후에도 계속 그 사람을 찾는 일이 발생하며 작성자가 퇴사했다면 해당 기능을 다시 만드는 비효율이 발생할 수도 있습니다. 그렇기 때문에 당근 광고실의 엔지니어들은 주요 기능을 개발하기 전 "테크 스펙"을 작성합니다. 코드의 구현배경, 구현방안과 위험요소를 여러 사람들과 논의하며 작성하기 때문에 앞서 말한 비효율을 예방할 수 있습니다.

챌린지 3. 심사 자동화

마지막으로 광고 심사는 자동화가 필요합니다. 당근에서 광고를 만들거나 수정할 경우 심사를 받아야 하는데요. 그 건수는 하루 최대 수만 개에 달합니다. 어마어마한 양 때문에 사람이 일일이 하는 대신 컴퓨터가 개입해야 하는데요. 당근에서는 현재 약 70%의 광고를 자동으로 심사하고 있습니다. 이 비율을 올려야 광고주는 더 짧은 시간 안에 광고할 수 있고 DSP는 더 많은 수익을 발생시킬 수 있습니다. 이를 위해서는 머신러닝에 기반한 광고 연관도 분석, 유해도 검사가 필요하며 이는 앞으로 잘 해결해야 하는 과제 중 하나입니다. 

어떤 플랫폼을 만들 것인가? DSP의 정책적 챌린지

당근 광고실과 DSP팀이 해결해야 하는 문제 중에는 정책적 문제도 있습니다. 정책으로 풀어야 하는 문제는 딜레마처럼 느껴질 때가 많은데요. 광고실에서는 PM이나 엔지니어 등 직군에 구분 없이 이러한 챌린지를 함께 고민하고 있습니다. 그중 대표적인 두 가지만 살펴보겠습니다.

챌린지 1. ROAS 극대화 VS 광고비 소진

먼저, DSP는 ROAS 극대화와 광고비 소진 중 무엇을 선택할지 고민해야 합니다. DSP의 기본 목표는 ROAS 극대화입니다. 광고주가 효과적으로 광고를 집행할 수 있게 하는 거죠. 하지만 ROAS 극대화에 매몰될 경우, DSP는 지면을 보수적으로 구매하게 되고 이는 광고주 예산 미소진으로 이어집니다. 비즈니스 운영 측면에서 지속가능하지 않은 것이죠. 

구매한 광고지면에서 무조건 전환이 발생하는 것도 아니기 때문에 DSP는 어느 정도 수준 이상의 지면을 모두 구매하는 전략을 펼 수도 있는데요. 이렇게 되면 광고비는 잘 소진되지만 반대로 ROAS의 하락을 가져올 수 있다는 점에서 리스크입니다. 온라인 광고를 하는 광고주들은 여러 광고 플랫폼을 이용하는 경우가 많기 때문에, 다른 플랫폼보다 높은 ROAS를 보이면서도 최대한의 광고비를 소진시키기 위해 DSP는 균형을 잡기 위한 고민을 많이 해야 합니다. 

챌린지 2. ‘간편’모드를 얼마나 간편하게 만들 것인가

다음으로 당근 DSP는 간편모드에서 선택할 수 있는 옵션을 어디까지 열어줄 것인가에 대해 고민하고 있습니다. 동네 가게 사장님이 쉽게 이용할 수 있도록 만들어진 ‘간편모드’는 전문적인 광고 지식 없이도 광고할 수 있게 하는 미션을 가지고 있는데요. 간편모드는 연령, 성별과 같이 직관적인 타겟팅 옵션은 제공하지만 입찰, 예산 소진 방식 같이 광고주에게 헷갈릴 수 있는 선택지는 제공하지 않습니다. 광고 플랫폼이 타겟팅을 알아서 진행할 때  효율이 더 좋은 경우가 종종 있고, 해당 옵션이 오히려 광고주의 ROAS 극대화에 방해가 될 때가 있기 때문인데요. ROAS가 안 나오면 광고주가 떠날 수 있기 때문에 당근 DSP 팀은 간편모드를 얼마나 간편하게 제공할 것인지를 범위를 정해야 합니다. 실험과 가설, 검증과 배포라는 이름의 탐험이 필요한 시점입니다.

당근 광고 DSP, 함께 만들어요

당근 DSP 서버를 켜면 나오는 화면입니다. DSP를 만들고 있는 팀원들의 이름과 도트로 한 땀 한 땀 찍은 당근이를 볼 수 있답니다!

당근 DSP 서버를 켜면 나오는 화면입니다. DSP를 만들고 있는 팀원들의 이름과 도트로 한 땀 한 땀 찍은 당근이를 볼 수 있답니다!

DSP는 제가 입사하고 처음으로 만든 컴포넌트이기도 해서, 개인적으로 애정을 가지고 있는데요. 팀을 대표해 글을 쓸 수 있어서 기쁩니다. 

이번 글을 통해 DSP의 정의와 이용 방법, 팀이 마주하고 있는 기술적 챌린지와 정책적 챌린지를 함께 살펴보았는데요. 앞으로도 동네 가게를 더 북적이게, 동네를 더 활기차게 만들 광고를 위해 DSP 팀은 앞서 살핀 챌린지들을 하나씩 해결해 나가보려 합니다. 광고주의 지출보다 수익을 크게 한다는 것이 쉬운 미션은 아니지만, 당근 DSP는 이미 많은 성공 사례를 만들고 있으며 미래 또한 밝다고 생각해요. 치열하게 고민하며 제품과 함께 성장하고 싶은 여러분을 당근 광고실에서 기다리고 있겠습니다! 

광고로 더 활기찬 동네를 만들고 싶다면광고실 채용 공고 바로 가기 📢

Dale

Software Engineer, Backend

추천 포스트