안녕하세요. 번개장터 엔지니어 이명휘입니다. 이번에는 번개장터의 오랜 숙원이었던 CPC(클릭당 과금) 광고 개발기에 대해서 포스팅을 하려합니다. 저희가 개발한 CPC광고에 대해서 설명하기 전에 번개장터의 광고체계에 대해서 짚고 넘어가려 합니다.
자선기업 및 비영리단체를 제외한 대부분 기업의 궁극적인 목표는 수익을 창출하는 것입니다. 더나아가 수익은 기업 전체의 가치를 평가하고 측정하는데에 있어서 가장 쉽게 접근할 수 있는 지표이기도 합니다. 고객에게 질높은 서비스를 제공함과 동시에, 이를 기반으로 수익창출을 해낼 수 있다면 이는 해당 기업의 목표를 충분히 달성하고 있는 것이라고 생각합니다. 이처럼 수익을 창출하는 회사들은 주요 수익모델을 가지고 있습니다. 중고거래 서비스를 제공하는 번개장터 또한 광고라는 매체를 통해 수익모델을 형성하고 있습니다.
현재 번개장터의 광고체계는 크게 외부광고와 내부광고로 나눠져 있습니다. 외부광고는 번개장터의 광고 배너를 특정 지면에 노출해주는 형식의 광고입니다. 외부광고는 번개장터로 유입된 고객분들을 매력적인 배너를 통해 광고주의 웹사이트나 링크로 이동시키는 것을 목적으로 합니다. 반대로 내부광고는 번개장터 자체의 서비스 로직을 통해서 광고주의 중고물품을 눈에 띄게 보여주는 역할을 합니다. 내부광고는 외부광고에 비해 번개장터의 자체 서비스와 직접적으로 연관된 광고이기 때문에 개발의 복잡성이 높으며, 번개장터에서 가장 큰 비율을 차지하는 주요 수입원이기도 합니다.
그럼 번개장터 내부광고에 대해서 더 깊게 알아보도록 하겠습니다. 내부광고는 광고 지면에 따른 분류와 과금방식에 따른 분류로 나눠볼 수 있습니다. 아래는 그에 대한 간단한 설명입니다.
검색광고(Search Advertising) - 유저가 번개장터의 검색기능을 이용했을 때 광고물품이 노출되는 방식입니다. 검색 키워드의 적합도에 따라 알맞는 광고가 상위에 노출 됩니다. 검색기능과 연관되어 있기 때문에 개발시 노출로직에 대한 복잡성이 높습니다. (검색품질 문제, 페이지네이션 문제, 광고노출 비율 문제 등)
번개장터 검색 광고의 노출 예
디스플레이 광고(Display Advertising) - 번개장터 어플리케이션 메인지면에 물품이 노출되는 방식의 광고입니다. 고객의 수요가 많은 메인 지면인만큼 많은 트래픽을 보장받을 수 있습니다.
번개장터 디스플레이 광고의 노출 예
이외에도 번개장터는 CPI(Click Per Install), CPA(Click Per Action) 등의 여러 과금방식에 따른 광고를 진행하고 있지만, 저희가 직접적으로 개발하지 않은 외부광고와 관련된 방식이기 때문에 설명은 생략하도록 하겠습니다.
다양한 디지털 광고의 특성
CPC광고는 1998년에 Goto.com에서 처음 도입한 것으로 알려져 있습니다. 그후 2002년부터는 구글에서 정식적인 비즈니스 광고 모델로 선택하기 시작하였습니다. 위 그림에서 나오는 바와 같이 최근 많은 사용되는 디지털 광고들은 다양한 특징을 가지고 있습니다. 그중 CPC광고는 성과를 최적화 하기위한 노력 및 광고효율(ROI)이 어느한쪽으로 치우지지 않는 성향을 가지고 있습니다[1].
광고주 입장에서 CPC광고는 성과에 따른 과금이 이루어지기 때문에 꽤나 매력적인 광고 방식으로 다가올 수 있습니다. CPM, CPT광고에 비해서 노출되는 횟수가 적어질 수는 있지만, 고도화된 개인화 검색이나 추천기능을 이용해 더욱 향상된 타겟팅이 가능하다는 장점이 있습니다.(물론 다른종류의 광고도 타겟팅은 가능합니다) 이는 해당 광고 물품에 큰 관심을 가지고 있는 유저에게만 노출될 수 있다는 것을 의미합니다. 타겟팅된 결과에 관심을 가지는 유저는 물품을 클릭 할 확률이 높기 때문에 구매로 이어지는 경우가 많다고 볼수 있습니다. 이러한 이유로 여러 IT 공룡기업들은 광고 타겟팅에 대한 연구와 개발에 박차를 가하고 있습니다[2-6]. 우리 번개장터도 Prod2Vec이나 복합 신경망을 이용하여 유저 타겟팅에 대한 연구 및 개발을 진행중에 있으며, 추후 상세한 포스팅을 진행하도록 하겠습니다[7-8].
앞서 말씀 드린바와 같이 번개장터 CPC광고는 메인(디스플레이 광고)와 검색(검색 광고)지면 모든 곳에 속할 수 있습니다. 이 글에서 소개하고 있는 번개장터의 새로운 CPC광고는 검색지면을 기준으로 개발했습니다. 검색광고 지면은 유저가 입력한 키워드에 따른 정확한 타겟팅이 가능하기 때문에 광고주와 번개장터 모두에게 수익을 창출할 수 있는 효과를 제공하기도 합니다. 추후에 디스플레이광고 지면(메인지면)에도 CPC광고가 들어갈 수 있도록 현재 기획중에 있습니다.
보기에는 간단한 CPC광고를 제작하기 위해서는 기술적으로 많은 부분을 신경써줘야 합니다. 다음은 기술적으로 필요한 사항들을 정리한 내용입니다.
우선 첫째로 실시간으로 물품 클릭과 노출에 대한 로그를 수집할 수 있어야 합니다. 그 이유는 해당 광고에서 클릭과 노출 로그는 많은 정보를 내포하고 있기 때문입니다. 광고주에게 클릭 및 노출 정보는 광고의 성과와 분명하게 이어지는 부분이기 때문에 반드시 관리 페이지에 해당정보를 표기해줘야 합니다. 또한, 광고에 대한 CTR(Click Per Impression) 계산 및 과금정보를 실시간으로 정산하는 기능이 필요하기 때문에 실시간 로깅에 대한 체계가 기반이 되어야 합니다. 실시간 로깅에 대한 기술적 명세 및 구축사항은 다음 장에서 살펴보기로 하겠습니다.
검색지면을 사용하는 CPC광고이기 때문에 노출순위를 결정하는 방안을 잘 생각해야합니다. 무작정 사용자가 설정한 예산을 바탕으로 노출순위를 정하게 되면 검색품질을 떨어뜨리는 결과를 낳게됩니다. 이때문에 다른 기업의 사례를 통해 케이스스터디를 진행했습니다. 최종적으로 광고물품의 품질(CTR)과 검색 키워드 적합도 그리고 사용자가 설정한 예산 이 세가지를 요소를 이용하기로 하였습니다. 각각의 요소에 따라 가중치를 다르게 부여한 후 정규화(Normalization)하는 과정을 거쳤습니다. 결국 각각의 물품은 점수가 매겨지며 이를 기반으로 노출순서가 정해지도록 하였습니다.
마지막으로는 검색지면이 특정 광고들에 편중되지 않도록 해야합니다. 이를 조금 더 자세히 말씀드리면, 인기가 많고 큰 예산을 설정한 광고만이 지속적으로 상위에 노출되는 상황이 벌어질수도 있습니다. 이를 해결하기 위해서는 새롭게 신청되는 유망한 광고들에게도 충분한 기회를 부여하여, 광고물품의 품질과 관련해 조금 더 높은 점수를 쌓을 수 있도록 해야합니다. 그래서 우리는 사전노출이라는 개념을 정립하였습니다. 신생 CPC 광고물품에게는 특정 기간(조건)동안의 상위노출을 의무화하여 유저들의 클릭을 유도 하도록 하였습니다.
다음 글에서는 번개장터의 첫 CPC광고를 제작하는 과정에서 겪었던 기술 스택 및 문제사항들을 더 상세하게 풀어보도록 하겠습니다.
글쓴이 - 이명휘 : 번개장터 주식회사 엔지니어(컴퓨터공학 학사 / 건축공학 석사)
머신러닝에 기반한 최적화 및 신재생에너지에 대한 연구를 했습니다.
흥미로운 논문에 대한 리뷰를 취미로 합니다.
Web : developeco.com
ResearchGate : bit.ly/2HF9M9x
Github : /Myeonghwi