증상 — 30일에 49만 원을 쓰고 상담 신청 2건, 계약 0건
검색광고 두 채널을 30일 굴린 결과를 소진 대비 성과 축으로 처음 맞대 봤다. 네이버에 354,265원을 써서 246클릭, 구글에 136,294원을 써서 19클릭, 합계 490,559원이었다.
그 돈이 만든 상담 신청은 2건이다. 방문자 행동 계측(GA4)의 상담 신청 이벤트 기준이고, 둘 다 네이버 유료 검색 유입이며 7월 13일과 7월 22일에 하나씩 들어왔다. 계약으로 이어진 건은 0건이다.
더 나쁜 쪽은 최근 구간이었다. 마지막 7일만 끊어서 보면 357,060원을 쓰는 동안 유료 검색에서 들어온 상담 신청이 0건이다. 전체 기간 성과의 대부분이 앞쪽에 몰려 있었다는 뜻이다.
이 대조를 30일이 지나서야 처음 했다는 점도 함께 적어 둔다. 그전까지 채널을 보는 방식은 「노출은 나오나」·「클릭 단가가 튀지 않나」처럼 채널 안에서 닫히는 질문이었다. 소진액과 상담 신청 건수를 같은 줄에 놓기 전에는 두 채널 모두 「정상 집행 중」으로만 보인다.

이 글은 그 원인을 처음에 광고 설정 탓으로 짚었다가, 광고와 무관한 파일에 박힌 숫자 하나로 되돌아온 기록이다. 결론부터 적으면 우리가 쓰던 검색광고 전환율 값은 우리 데이터가 아니라 남의 평균이었고, 그 값이 감당 못 할 키워드에 입찰 허가를 내주고 있었다.
처음 의심한 것 — 또 광고 설정이 어긋난 것 아닐까?
첫 가설은 배선이었다. 돈은 나가는데 성과가 없으면 광고가 엉뚱한 자리에 걸렸거나 설정이 또 어긋났다고 보는 편이 자연스럽다. 이 의심에는 근거가 될 만한 이력도 있었다.
- 구글 광고는 계정을 연 뒤 누적 노출 3회·지출 0원으로 사실상 집행이 없던 구간이 있었다. 원인은 캠페인 입찰 전략이 클릭수 최대화 방식이라, 우리가 계산해 밀어 넣은 키워드 입찰가 6,660~14,399원이 경매에서 통째로 무시되던 구조였다. 수동 입찰로 바꾸고서야 13개 키워드의 실효 입찰가가 반영됐다
- 네이버 쪽에서는 유지보수 작업 도중 광고 그룹 전체가 꺼지는 사고가 있었다. 그룹의 켜짐 여부를 계산할 때 사람이 승인한 예외 키워드를 빼고 세는 버그였다
- 한 번이라도 켜진 키워드가 이후 어떤 상태가 되어도 그 상태로 고정되던 버그도 있었다. 뒤늦게 109개 키워드가 강제 종료 대상으로 잡혔고 그중 실제 라이브가 24개였다
즉 최근 몇 달 동안 이 영역에서 실제로 잡힌 문제는 전부 배선 문제였다. 같은 증상이 또 나왔으니 같은 층을 먼저 보는 게 합리적이었다.
그것을 확인하는 데 쓴 수단 — 무엇으로 봤나
의심을 확인하려고 쓴 관측 수단은 네 가지다. 어느 하나도 새로 만들지 않았고, 이미 돌고 있던 것들이다.
- 채널 리포트 원자료 — 기간별 소진액·노출·클릭. 광고가 실제로 노출되고 클릭을 사 왔는지를 여기서 본다
- 방문자 행동 계측의 상담 신청 이벤트 — 건수뿐 아니라 유입 채널과 날짜가 함께 남는다. 유료 검색이 만든 건인지 아닌지를 가르는 유일한 수단이다
- 키워드 설정 파일과 라이브 상태를 맞대는 대조 명령 — 우리 파일이 꺼짐으로 판정한 키워드가 실제로 켜져 있는 식의 어긋남을 건수로 뱉는다. 다른 점검에서 14건이 나온 적이 있다
- 구글 쪽 노출 손실 지표 교차조회 — 순위 때문에 잃은 노출 비중을 보면 광고가 경매에서 밀리고 있는지 알 수 있다
이 네 개를 한 줄에 세우면 「광고가 안 돌았나」와 「광고는 돌았는데 성과가 없나」가 갈린다. 두 상황은 화면에 똑같이 보이지만 처방이 정반대다.
대조 명령을 굳이 도구로 만들어 둔 이유도 여기 있다. 광고 콘솔 화면은 지금 켜져 있는 것만 보여 주지, 우리 파일이 어떤 판정을 내렸는지는 모른다. 두 쪽을 사람 눈으로 맞대면 키워드가 수십 종만 넘어가도 놓친다. 어긋남을 건수로 뱉는 명령이 있어야 「설정 탓인가」라는 질문에 몇 분 안에 답할 수 있다.
알리바이 — 광고는 정상적으로 돌고 있었다
배선 가설은 첫 번째 수단에서 죽었다. 30일 동안 클릭이 265건 들어왔다. 광고가 걸리지 않았다면 클릭 자체가 없다. 돈이 나갔다는 사실 자체가 노출과 클릭이 있었다는 증거다.
구글 쪽도 마찬가지였다. 입찰 전략을 수동으로 바꾼 뒤 13개 키워드의 실효 입찰가가 전부 반영된 것을 확인했고, 설정 파일과 라이브 상태의 어긋남은 0건이었다. 이번 30일 구간의 19클릭은 그 수리가 끝난 뒤에 실제로 산 클릭이다.
그래서 이번 증상은 이전 사고들과 원인 층이 달랐다. 광고는 제대로 돌아서 265클릭을 사 왔고, 그 클릭이 상담 신청 2건을 만들었다. 문제는 광고가 일하지 않은 게 아니라, 그 클릭을 그 값에 사기로 한 판단이었다.
여기서 한 가지를 더 확인했다. 클릭이 특정 며칠에 몰려 튄 것도 아니었다. 상담 신청 2건이 7월 13일과 7월 22일로 열흘 넘게 떨어져 있고, 그 사이에도 소진은 계속됐다. 즉 「어느 하루 설정이 잘못 걸려 돈이 샜다」는 형태의 사고도 아니었다.
증상이 같아도 원인은 다른 층에 있을 수 있다. 「돈은 나가고 성과가 없다」는 배선 결함의 증상이면서 동시에 정상 작동의 증상이기도 하다.
진짜 원인 — 판단 근거 파일에 박힌 남의 평균 9.8%
우리는 어떤 키워드에 얼마까지 입찰할지 사람이 매번 정하지 않는다. 판매 서비스마다 파라미터 파일에 클릭에서 상담으로 넘어가는 비율, 상담에서 계약으로 넘어가는 비율, 거래 단가를 적어 두고, 거기서 클릭 한 번의 가치 천장을 계산한 다음 그 천장 아래 자리만 켠다.
홈페이지 제작 서비스의 클릭에서 상담으로 넘어가는 비율 항목에는 9.8%가 들어 있었다. 출처는 WordStream 업계 벤치마크다. 자사 데이터가 한 건도 없던 시점에는 맞는 선택이었다. 문제는 그 뒤로 우리 데이터가 265클릭만큼 쌓이는 동안 값이 그대로 남아 있었다는 점이다.
벤치마크를 넣은 것 자체는 실수가 아니다. 자사 데이터가 0건인 상태에서 천장을 계산하려면 어딘가에서 값을 빌려 와야 하고, 업계 평균은 그 자리에서 쓸 수 있는 가장 나은 대용치다. 실수는 그 값이 임시라는 사실이 파일 어디에도 적혀 있지 않았다는 점이다. 값 옆에 출처도, 표본 수도, 「우리 데이터가 쌓이면 교체한다」는 조건도 없었다. 그래서 265클릭이 쌓이는 동안 아무도 그 칸을 다시 열어 볼 이유를 갖지 못했다.
같은 자로 실측하면 2 / 265 = 0.75%다. 가정값의 13분의 1이다. 표본이 작으니 넉넉하게 잡자며 95% 상한을 써도 2.6%로, 벤치마크 9.8%에는 여전히 닿지 못한다.

왜 숫자 하나가 키워드 9종을 통과시켰나?
전환율이 천장을 만들고, 천장이 입찰 허가를 만든다. 9.8%를 넣으면 클릭 한 번의 가치 천장이 27,562원으로 계산된다. 그런데 우리가 노리던 홈페이지 제작 계열 키워드 9종의 최소입찰가가 12,540~29,740원이다.
두 숫자를 나란히 놓으면 왜 그 자리에 계속 입찰했는지가 보인다. 천장이 27,562원인 세계에서 12,540원짜리 자리는 싸 보인다. 검토가 부실했던 게 아니라, 검토가 참조한 상수가 13배 낙관이었다.
실측 0.75%로 바꾸고 산식의 안전계수 0.5까지 반영하면 같은 천장이 2,109원이 된다. 그 세계에서는 12,540원짜리 자리가 전부 감당 밖이다. 같은 키워드, 같은 시장, 같은 계산기인데 상수 하나로 판정이 뒤집힌다.

이 구조가 위험한 이유는 실패하는 방식에 있다. 잘못된 상수는 예외를 던지지 않고, 로그를 남기지 않고, 대조 명령에서 어긋남으로 잡히지도 않는다. 조용히 승인 도장을 찍는다. 그래서 발견이 가장 늦다.
고친 방법 — 값 하나를 바꾸자 활성 키워드가 16종에서 8종으로
고친 것은 세 가지다.
- 전환율 값을 실측 0.75%로 교체하고, 값 옆 출처 항목에 표본 수·측정 기간·데이터 출처를 함께 적었다. 숫자만 바꾸면 다음에 이 파일을 여는 사람이 또 어디서 온 값인지 모른다
- 파일을 다시 빌드했다. 홈페이지 제작 계열 13종이 경제성 미달로 자동 종료 판정을 받았고, 활성 키워드가 16종에서 8종으로 줄었다
- 채널 반영은 하지 않았다. 두 채널 모두 잔액 소진으로 이미 멈춰 있었고, 재충전은 결제 행위라 사람이 결정할 영역이다
세 번째가 이 정정의 실제 가치다. 광고가 멈춰 있는 동안에는 잘못된 상수를 고쳐도 당장 아낀 돈이 0원이다. 대신 충전하는 순간 손실 구조가 자동으로 되살아나지 않는다. 멈춰 있을 때 고치는 편이 켜져 있을 때 고치는 것보다 싸다.

출처를 값 옆에 적는 일은 사소해 보이지만, 이번 사고의 재발 여부를 실제로 가르는 칸이다. 이제 그 항목에는 표본이 265클릭이라는 것, 30일 집계라는 것, 방문자 행동 계측의 상담 신청 이벤트에서 왔다는 것이 함께 적혀 있다. 다음에 이 값을 보는 사람은 「믿을지 말지」가 아니라 「표본이 늘었는지」를 판단하면 된다.
기각한 대안 세 가지
값을 바꾸는 대신 생각해 본 길이 세 개 있었고 셋 다 접었다.
- 벤치마크는 두고 입찰가만 낮춘다 — 접었다. 이 자리들의 최소노출가가 12,540원 이상이라, 낮추면 노출 자체가 0이 된다. 돈은 안 쓰지만 데이터도 안 쌓여서 다음 판정도 똑같이 못 한다
- 95% 상한 2.6%를 값으로 쓴다 — 접었다. 상한을 점추정처럼 쓰면 같은 낙관 편향을 한 번 더 반복한다. 다만 상한으로 계산해도 홈페이지 키워드 9종은 전부 탈락해 결론은 바뀌지 않는다
- 표본 2건은 너무 작으니 판단을 미룬다 — 접었다. 마지막 7일에 357,060원을 쓰고 상담 0건인 구간이 따로 있고, 이 상황에서 보류는 사실상 충전한 뒤 계속 태우겠다는 말과 같다
두 번째 대안을 접으면서도 계산은 해 봤다. 상한 2.6%로 천장을 다시 잡아도 9종 전부가 최소입찰가 아래로 내려오지 않는다. 결론이 같은 계산을 굳이 해 본 이유는, 이번 판정이 표본 크기 때문에 뒤집힐 여지가 있는지 미리 닫아 두기 위해서였다.
같은 실수를 막는 장치
한 번 고친 값은 다시 낡는다. 그래서 값이 아니라 값을 다루는 방식을 함께 바꿨다.
- 출처 없는 숫자를 남기지 않는다 — 파라미터마다 표본 수·기간·데이터 출처를 값 옆에 적는다. 출처 칸이 비어 있으면 그 값은 실측이 아니라 대용치로 취급한다
- 판정은 이전 상태를 존중하지 않는다 — 판매 서비스에 매핑되지 않았거나 경제성 미달이면 예전에 어떤 상태였든 종료로 수렴한다. 이 장치가 없던 시절 109개 키워드가 낡은 판정 그대로 굳어 있었다
- 사람이 끈 것을 자동 적용이 되살리지 않는다 — 설정 파일과 라이브가 어긋나면 켜짐이 아니라 꺼짐 쪽으로 맞춘다
그래도 남는 구멍이 하나 있다. 사람이 직접 승인해 고정해 둔 예외 키워드는 자동 판정이 건드리지 않는다. 보호 장치이면서 동시에 사각지대다. 이번 건에서도 병원 홈페이지 제작 키워드가 예외로 살아 있었는데, 그 승인의 근거 문구가 「클릭 가치 천장 27,562원 이내라 수익성이 성립한다」였다. 천장이 2,109원으로 내려온 지금 그 전제는 사라졌으므로, 자동으로 끄는 대신 사람이 다시 볼 항목으로 남겼다.
같은 축에서 한 번 더 확인한 것도 있다. 콘텐츠로 같은 자리를 노렸을 때도 결과는 비슷했다 — SEO 콘텐츠 노출이 안 붙은 원인을 다시 잰 기록에서, 시장 입찰가가 우리 단가 천장의 몇 배인 자리는 광고로도 콘텐츠로도 이기지 못한다는 쪽으로 정리됐다.
남는 것 — 성사율 15%는 아직 확인도 반증도 안 됐다
전환율은 실측으로 갈아 끼웠지만 그다음 칸은 그대로다. 상담에서 계약으로 넘어가는 비율 0.15는 계약이 0건이라 여전히 미검증이다. 즉 지금 천장도 여전히 낙관 쪽에 서 있다.
한 달쯤 뒤 같은 파일을 다시 열었을 때 세 가지가 더 나왔고, 셋 다 결론을 낙관 쪽으로 밀고 있었다.
- 유효 상담이 9건이 아니라 6건이었다. 자체 테스트로 넣은 제출 3건이 상태값 때문에 중복·스팸 필터를 통과해 섞여 있었다
- 성사율 0.15는 손익분기를 역산해 얻은 값이 아니라, 최초 커밋에 「가정값」이라는 표시와 함께 들어온 임의값이었다
- 천장 산식에서 안전계수 0.5가 빠져 있었다. 실제 판정 함수는 이 계수를 곱하므로 손익분기 기준이 2배로 올라간다
표본이 없어 못 하던 판정도 방향을 뒤집으니 가능했다. 「성사율이 얼마인가」는 계약 0건에서 답할 수 없지만, 「지금 클릭 단가에서 본전이 되려면 성사율이 얼마여야 하나」는 계약 0건에서도 계산된다. 가장 유리한 조합에서도 42.4%가 필요했고, 우리가 쓰던 가정값은 15%다.

세 항목의 방향이 전부 같다는 점이 중요하다. 유효 상담은 실제보다 많게 세고 있었고, 성사율은 근거 없이 높게 잡혀 있었고, 안전계수는 빠져 있어 기준이 절반으로 느슨했다. 낙관은 한 군데서 크게 나기보다 이렇게 여러 칸에서 조금씩 같은 방향으로 쌓인다.
대체 경로도 아직 얇다. 콜드메일은 406클릭에 상담 0건이고 95% 상한이 0.74%라, 유료 검색 실측 0.75%와 통계적으로 구분되지 않는다. 검색으로 자연 유입되는 쪽은 28일 40클릭이다. 그래서 이 정정이 답한 것은 「어디에 돈을 쓸까」가 아니라 「어디에 없는지」다.
같은 종류의 상수가 남의 평균으로 채워진 채 돌고 있는지 한 번 훑어볼 만하다. 자사 데이터가 쌓이기 전에는 벤치마크가 최선이지만, 쌓인 뒤에도 남아 있으면 그때부터는 승인 도장이 된다. 비슷한 자동화를 검토 중이라면 상담에서 우리가 겪은 순서를 그대로 공유한다.
이 글은 SGK 스튜디오에서 검색광고 운영과 자동화를 맡고 있는 사람이 썼다.