Categories
Development Personal

안드로이드앱에 광고 넣은지 어느덧 2개월

두달전인 지난 4월 24일, 개인적으로 만들어 쓰던 안드로이드용 MSN 클론인 MSN Talk에 광고를 달았다.

처음에는 AdMob으로 시작했다. 내가 사용하는 많은 무료앱들이 AdMob을 쓰고 있었기 때문이였다. 가입절차도 단순했고, 돈을 PayPal로 넣어주니 Google AdSense보다도 편리하다. (난 영국계좌가 있기 때문에 AdSense로부터 들어오는 금액이 EFT로 들어와서 3~4일안에 은행계좌로 받을 수 있긴 함)

블로그에 붙였던 광고는 돈이 전혀 안됐었고 (그래서 떼버렸다), 한글 Javadoc에 붙인 AdSense에서는 한달에 120~150 클릭밖에 안나왔었으니 모바일앱은 어떨까.. 하는 마음에 호기심으로 시작한거다.

그러나 유료앱이였던 MSN Talk을 무료앱으로 전환한지 6주만에 ‘갑자기’ 광고를 넣었기 때문에, 욕을 바가지로 먹었다. 소심한 나는 앱에 광고를 단지 5일만에 광고를 내렸고, 다시 3일정도 고민한 뒤 설정에 ‘Suppress Ads’ 라는 옵션을 넣어 업데이트를 했고 민심은 회복됐다.

여기서 한가지 재미있는 것은 Suppress Ads 옵션을 넣었음에도 불구하고 광고수익이 거의 떨어지지 않았다는 것이다. 민심은 회복하고 광고수익은 거의 떨어지지 않는다라.. 매력적이였다.

그렇게 또 한달이 지나갔다. 광고를 표시하지 않을 수 있는 옵션이 있었지만 5월 한달동안 Daily 광고수익은 3배가 됐다.

3배가 된 광고수익을 보고 있자니 돈 욕심이 생기기도 하고 호기심도 생겨서 Suppress Ads 옵션을 빼보기로 했다. 옵션을 빼는 것과 동시에 Google AdSense for Mobile Application 베타사용자에 선택되는 행운을 얻어 AdSense를 붙이고 Fill Rate 해결사인 AdWhirl를 이용해 AdMob/AdSense를 돌아가며 보여줄 수 있게 했다.

그리고 3일만에 일일 광고수익이 또 2배가 됐다. 한꺼번에 많은 변수를 넣어서 정확히 어떤 요소가 수익증가를 일으켰는지 알 수 없다. 한가지 알 수 없는 것은 Suppress Ads를 빼고 항상 광고가 노출될 수 있도록 Google AdSense와 AdWhirl을 넣은 6월 3일부터 광고 짜증난다는 댓글이 거의 올라오지 않는다는 것이다. Suppress Ads가 있었을 때도 해당 옵션을 찾지 못한 사람이 있었는지 2-3일에 한번씩은 Ads are annoying 댓글이 꼭 달렸었는데, 별점 1-2점짜리 댓글이 올라오는 경우는 광고와 무관하게 앱의 퀄리티가 떨어지거나 버그가 있을 때 뿐이다. “광고가 짱나긴 하지만, xxx가 좋네!” 라고 댓글을 남기는 사람들은 대부분 별점 4~5점을 주기 때문에 광고가 앱의 명예를 크게 훼손하는 일은 없는거라 생각한다. (MSN Talk은 여태까지 댓글이 1,800개 넘게 달렸고 Rating을 6,200개 넘게 받았다. 평점은 4.31.)

나 또한 시각정보 자체차단능력이 약한 사람이라 광고를 무지 싫어해서 Google Chrome에서 Ads Blocker를 쓰는 사람이고, Google의 Chief Economist인 Hal Varian이 말했듯 2%의 사용자가 광고를 클릭하고, 그 광고를 클릭한 사람들 중 sales를 일으키는 사람은 2%다. 그럼 0.04%. Advertiser들은 0.04%를 얻기 위해 광고를 내고, 나같은 Publisher들은 2% (내 클릭률은 2%보다 낮지만)를 위해 광고를 단다.

나머지 98% 유저는 광고에 관심도 없고, 읽지도 않고, 그러므로 클릭할 가능성도 없는 사람인데 앱 개발자의 수익을 위해 귀중한 2G/3G 트래픽을 광고를 다운로드 하느라 날려먹어야 하고 주의력을 소모해야하고, 안그래도 조막만한 모바일 화면의 일부를 광고를 위해 내주어야 하는 것이다. 허허.. 참.

그 2달동안에도 순위가 꾸준히 올라가서 어느덧 Top Free – Communication 13위를 랭크하고 있고 (전체순위는 150위 정도) 광고수익도 충분히 올라서, 설령 앞으로 아무런 업데이트를 하지 않고 탱자탱자 놀더라도 현재 성장률로 미루어볼 때, 머지않아 성장률이 마이너스를 기록하고 MSN 공식앱이 나오더라도 최소 3개월은 현재 수익을 유지할 수 있다. 게다가 경쟁자가 나타나도 아무 상관없는 아이템들을 5개 정도 더 가지고 있고, 마켓볼륨이 3배정도 큰 아이폰에는 아직 진출도 하지 않았으므로 참으로 매혹적인 옵션인 것이다. 물론 여태까지 MSN Talk 개발에 투입한 정신적/육체적 에너지들를 생각해보면 일년에 앱 4개 이상을 찍어내진 못할 것 같지만.

그저 (내가 보기엔) 거지같은 광고를 달아 클릭당 50원정도의 금액을 모아 모아 돈을 벌고 있으며, 이 수익은 2% 미만의 사용자들이 채워주고 있고, 나머지 98% 이상의 사용자들을 귀찮게 하면서 돈을 벌고 있다는 게 불명예스러운 것이다.

그렇다할지라도 나처럼 돈이 필요해서 앱에 광고를 달 생각을 하시는 분들을 위해..

  • AdMob은 아시아권 Fill Rate이 엄청나게 낮다. 아마 Advertiser가 거의 없어서 그런게 아닌가 싶다. 한국은 10~30% 정도다. 아예 광고가 노출조차되지 않는것이다. 재미로 해보는 게 아니라면 반드시 북미와 유럽을 노려라.
  • Google AdSense for Android 베타 지원에 성공했다면, Activity.onDestroy에서 꼭 AdSense 컴포넌트 속의 WebView를 찾아 destroy()를 불러줘라. 배터리 많이 먹는다고 욕먹기 싫으면.
  • 본문에도 잠시 언급했지만, Ad Fill이 실패했을때, 다른 업체 광고들을 자동으로 채워주는 AdWhirl을 적극 검토하라. AdWhirl for iPhone의 경우 AdMob, Google AdSense, iAd, inMobi, Jumptap, MdotM, Millenial Media, MobClix, Quattro, VideoEgg 등 수많은 광고회사들을 지원한다.
  • 일 수익이 $30가 넘어가기 시작하면, 매일/매시간마다 수익을 확인하고 오만가지 생각을 하며 시간죽이는 경험을 피할 수 없을 것이다. 대쉬보드를 하나 만들어 노동을 줄이는 것은 효과가 크지 않다. 소프트웨어 개발자의 정체성을 잃지 않도록 유의하라. 명상이나 반신욕을 추천한다.
  • 부정클릭을 유도하는 짓을 절대로 하지 마라. 정상 패턴을 벗어나는 행동을 하기 전에는 반드시 AdMob이나 Google에 이메일을 보내서 이런이런거 해보려고 하는데 이게 Policy에 위배되는 것이냐- 물어보고 진행해라. AdMob은 뻘 질문해도 2-3일안에 꼭 회신해준다. 매우 친절하게.
  • Google Checkout을 쓸 수 있는 국가가 몇 개 없다. 유료앱으로 돈을 벌려면 iPhone으로 가라. 안드로이드앱으로 돈을 벌려면 지금 시점에서는 광고다.
Categories
Development Personal productivity

선택과 중독

나는 흐름타서 일하는 것에 대해 중독이 있다. 물 흐르듯 진행을 못하고 매번 깊이있게 생각하고 선택하여 일하는 것은 내게 고문이나 다름없다.

내 머리속 working memory는 조리있게 관리되지 않는데다가 그 크기가 충분하지 않기 때문이다. 그로인해 내 working memory는 짧은 시간동안 많은 정보를 접근할  수 있는 대신 내구성이 현저히 떨어진다.

내구성이 떨어지는 이유를 정리해보면

  1. 외부 요소: 외부 자극으로 인해 본인의 의지와는 무관하게 주의력을 잃게 되는 것. 인간의 음성과 같은 패턴화 할 수 없는 소리, 냄새, 누군가의 신체접촉 등 일상생활에서 자주 만나게 되는 것들. 그리고 수많은 notification들. (twitter, facebook, me2day, email, sms, tail -f,  …)
  2. 내부 요소: working memory에 보관된 정보는 일정시간이 지나면 자연히 소멸됨.

외부 요소는 스스로를 격리시키거나 잠깐 성격 드러운 사람인척 하는 등 여러가지 흑마법을 사용하여 얼마든지 차단할 수 있다. 그러나 내부 요소는 우리가 지구인이기 때문에 어쩔 수가 없다. 동시에 기억할 수 있는 chunk가 5~9개라고 하는데, 이걸 죽을 때까지 단련하고 약물을 복용해봐야 10개도 못 넘을 것 같기 때문.

그래서 그 자체로서는 별 의미가 없어보이는 것들에 대해 따로 시간을 내어 훈련한다. 타이핑이 빨라야 한다. 최고 속도를 내는 것은 의미가 없다. 그저 working memory의 정보가 소멸되기전에 원하는 word들을 원하는 곳에 위치시킬 수만 있으면 된다. 아무런 의식적인 생각없이. 마우스를 이용하든 단축키와 시스템 클립보드를 사용하든 나처럼 무식하게 모든 글자를 다 입력하든 스스로의 working memory를 보존할 수만 있으면 된다. 이것이 몸속에 완벽히 장착되어 체화된다면, 특정 기능을 수행하는 코드가 300 글자라 치고 300개의 글자를 입력하는 동안 좋아하는 이성친구와 문맥을 잃지 않고 전화통화를 할 수 있어야 한다. (물론 심하게 과장한 것) 그러면 제한된 working memory를 낭비하지 않고도 미션을 수행할 수 있다.

물론 인생은 짧고 파이썬이 필요하듯, 체화시킨 매크로들이 각개전투하는 것은 비효율적이므로 각 매크로들을 머리속에서 적절히 MapReduce하여 유의미한 chunk로 만들어야 한다.

그런데 나는 좋은 설계자가 아니고, 척 노리스도 아니라 5일이상 흐름을 지속하기 어렵다. 매크로로 해결할 수 없는 복병들이 자꾸자꾸 나타난다. 이들은 매크로 중독의 마수로 제거할 수 없기 때문에 또다시 선택의 시간이 돌아온다. 그리고 선택에는 항상 책임감이 뒤따른다. 만약 그 선택이 아주 급한게 아니라면, 많은 경우 선택하기를 미룬다. 보다 나은 선택을 위한 준비과정이라고 스스로를 속이며.

선택의 시간이 돌아올 때마다 늘어진다. 당장 급하지는 않고 선택하기는 두려우니 잉여잉여 하는거다. 하기 싫은 것을 하고 싶은 것으로 만드는 흑마법은 후폭풍이 장난이 아니므로 더이상 시전할 수 없다.  그렇다면 선택을 더이상 미룰 수 없는 상태로 만들어야 한다.

나처럼 의지력이 비리비리한 많은 사람들에게는 언제까지 선택을 꼭 하겠습니다! 라고 자기 자신과 약속하는 것은 의미가 없다.

배수의 진을 쳐야한다. 가짜 말고 진짜. 얕은 물 말고 빠지면 정말 죽어버리는. 깊은 물을 주위에 찾을 수 없다면 개울가에 염산이라도 부어서. 롤백도 할 수 없도록. 그러다 역량 부족으로 정말 다칠 수도 있다. 만약 상처를 입는다해도 그만큼 강해지니 더할나위 없이 좋다는 생각으로.

수로 중간이 끊어져 있더라도 압력이 충분히 높으면 흐름이 끊기지 않는다.