본문 바로가기

Coding, Testing, Challenge/토스 미니앱

클릭 지표에 봇이 섞여 있었습니다.

20초 안에 15클릭

대시보드 숫자가 생각보다 좋게 나오면 누구나 잠깐은 기분이 좋아집니다.

저희도 SNS에서 앱으로 가는 링크에 클릭 17건이 쌓인 걸 보고 그랬습니다. 누르면 기록을 남기고 앱으로 넘겨주는 중간 링크였습니다.

이번 포스팅에서는 그 17건의 정체를 어떻게 가려냈는지, 봇 필터가 양쪽으로 틀린 이유, 그리고 판정 기준을 무엇으로 옮겼는지 정리해 보도록 하겠습니다.

⚠️ 링크 클릭 수를 유입 성과로 보고하고 계시다면 이 글의 표 하나만이라도 확인하시길 권합니다.

그러면 원본 기록부터 보겠습니다.

발행 직후 20초 동안 15건이 몰려 있었습니다

집계가 아니라 원본 기록을 열고 클릭 시각을 한 줄로 늘어놓았습니다.

23:05:57  23:05:58  23:06:04  23:06:05  23:06:06
23:06:07  23:06:13  23:06:14  23:06:14  23:06:17  ...

20초 안에 15건이고, 그 시각은 글이 올라간 바로 그 순간이었습니다.

기기도 갤럭시 S10, 갤럭시 A31, 윈도우 PC로 뒤섞여 있었습니다. 서로 다른 세 사람이 발행 20초 안에 함께 눌렀다고 보기는 어렵습니다.

발행 20초 안에 몰린 클릭 15건
글이 올라가자마자 20초 동안 몰린 클릭 15건

자기 이름을 밝히는 봇만 걸러지고 있었습니다

필터는 있었습니다. 아래처럼 UA 문자열에 특정 단어가 들어 있으면 빼는 방식이었습니다.

const BOT_HINTS = [
  'facebookexternalhit', 'twitterbot', 'slackbot',
  'bot/', 'crawler', 'spider', 'curl/', 'python-requests',
  ...
];

이 목록은 스스로 크롤러라고 적어 보내는 요청만 잡아냅니다.

링크 미리보기나 안전성 검사를 하는 쪽은 평범한 브라우저 UA를 달고 오기 때문에 그대로 빠져나갑니다.

저희 기록에서도 봇으로 분류된 게 156건, 사람으로 분류된 게 34건이었는데, 그 34건 상당수가 앞의 무더기였습니다.

조이려다 가장 귀한 사용자를 버리고 있었습니다

처음 손쓴 방향은 반대였습니다. 그쪽에서 오는 건 대부분 자동 요청이겠거니 짐작하고 목록에 instagram 과 threads 를 넣었습니다.

결과는 정확히 거꾸로였습니다.

인스타그램과 스레드 앱 안의 브라우저는 UA에 Instagram, Threads 를 그대로 붙여 보내기 때문입니다.

SNS에서 넘어온 진짜 사용자가 봇으로 분류돼 빠지고 있었고, 실제 UA 문자열 네 개를 구해 대조한 뒤에야 알아챘습니다.

숫자는 앱이 실제로 열린 것만 믿기로 했습니다

필터를 더 촘촘하게 다듬는 대신 보는 지표를 갈아 끼웠습니다.

지표믿을 수 있나
노출·도달플랫폼이 세는 값. 우리가 검증 못 함
링크 클릭봇이 섞임. 판정에 쓰면 안 됨
앱 실행믿을 수 있음

앱이 열리고 진입 파라미터까지 함께 넘어온 경우만 셌습니다. 봇은 앱을 열지 않기 때문입니다.

그 기준으로 다시 세니 SNS에서 온 앱 실행은 0건이었습니다. 클릭 17건이 보여 주던 그림은 거기서 사라졌습니다.

좋은 숫자일수록 원본을 한 번 더 열어야 합니다

도달에 비해 클릭 17건은 나쁘지 않다고 느껴지는 숫자였습니다. 그래서 한 번 더 들여다보지 않았습니다.

숫자가 나빴다면 원인을 찾느라 훨씬 일찍 원본을 열었을 겁니다.

저라면 기대보다 좋은 지표가 나왔을 때 오히려 원본부터 확인하겠습니다. 틀린 숫자는 좋은 쪽으로 틀렸을 때 가장 오래 살아남기 때문입니다.

클릭 기록을 다룰 때 지킬 네 가지

1. 성과 판정은 클릭이 아니라 설치, 실행, 구매 같은 마지막 행동으로 합니다.

2. UA 문자열만으로 봇을 거르지 않습니다. 조용한 봇은 통과하고 앱 내 브라우저는 억울하게 걸리기 때문입니다.

3. 숫자가 수상하면 집계 대신 원본 시각을 늘어놓아 봅니다.

4. 발행 직후 몇십 초 안에 몰린 클릭은 자동 요청으로 봅니다.

중간 링크로 유입을 재고 계신다면, 클릭 시각을 한 번 줄 세워서 발행 시각과 겹치는지부터 보시는 건 어떨까요?

그러면 오늘도 모두 스테이블 하세요.


만든 것들