sgkstudio.
엔지니어링

홈페이지제작업체 검색광고 전환율, 업계 평균 9.8%를 믿었다가 생긴 일

홈페이지제작업체 검색광고에서 리드가 안 나온 원인은 입찰 배선이 아니라 전환율 가정 하나였습니다. 키워드마다 “클릭 하나에 얼마까지 써도 되는가”를 계산하는 공식에 업계 평균 전환율 9.8%가 들어 있었고, 우리 데이터로 다시 재 보니 0.75%였습니다. 13배 부풀린 숫자 하나가 감당할 수 없는 키워드 9종에 광고비를 쓰게 만들고 있었습니다. 이 글은 처음에 엉뚱한 곳을 의심한 과정과 그 의심이 왜 틀렸는지까지 그대로 남긴 기록입니다.

2026-10-2430일 실적: 네이버 ₩354,265(246클릭) · 구글 ₩136,294(19클릭) · 합계 ₩490,559 · GA4 generate_lead 2건(둘 다 naver/cpc, 7월 13일·7월 22일) · 계약 0건최근 7일: ₩357,060 소진 · 유료 리드 0건가정값: 업계 벤치마크(WordStream) 클릭→리드 전환율 9.8% → 클릭 가치 천장 ₩27,562실측: 2/265 = 0.75% · 95% 상한 2.6% · 가정의 1/13정정 후: 천장 ₩2,109(안전계수 0.5 반영) · 홈페이지제작 키워드 13종 자동 OFF · 활성 키워드 16종 → 8종먼저 의심한 배선 결함: 7월 24일 폐기 서비스 무시 버그, 7월 26일 구글 TARGET_SPEND 입찰가 무시: 둘 다 실재했지만 리드 0을 설명하지 못했다미검증으로 남은 값: 계약률 0.15(계약 0건)

증상: 30일 동안 ₩490,559를 쓰고 계약은 0건

2026년 7월 29일, 두 광고 채널의 30일 실적을 처음으로 같은 표에 놓았습니다. 그전까지는 채널별로 노출·클릭·비용을 따로 봤고, “쓴 돈 대비 무엇이 돌아왔나”를 한 축으로 맞춰 본 적이 없었습니다.

숫자는 이렇습니다. 네이버 검색광고에 ₩354,265를 써서 246클릭, 구글 애즈에 ₩136,294를 써서 19클릭. 합계 ₩490,559에 클릭 265회였습니다. 이 돈이 만든 상담 신청(GA4 generate_lead)은 2건이었고, 둘 다 네이버 유료 클릭(naver/cpc)에서 7월 13일과 7월 22일에 들어왔습니다. 계약은 0건이었습니다.

통계 카드. 30일 실적. 네이버 354,265원 246클릭, 구글 136,294원 19클릭, 합계 490,559원 265클릭, 상담 신청 2건, 계약 0건, 최근 7일 357,060원 소진에 유료 리드 0건
두 채널 30일 실적을 한 표에 처음 놓은 날의 숫자

더 나쁜 쪽은 최근 7일이었습니다. 이 기간에만 ₩357,060를 썼는데 유료 리드는 0건이었습니다. 30일 소진액의 대부분이 마지막 한 주에 몰렸고, 그 한 주는 아무것도 남기지 않았습니다. 양 채널은 이 시점에 잔액이 바닥나 이미 멈춰 있었습니다. 다시 충전할지를 정해야 하는 순간이었고, 충전하면 같은 키워드가 같은 입찰가로 그대로 다시 켜지는 구조였습니다.

처음 의심한 것: 광고가 경매에 제대로 나가고 있었나?

리드가 안 나올 때 가장 먼저 떠오른 가설은 “광고가 의도대로 집행되지 않고 있다”였습니다. 우리 구조는 기준 파일이 키워드별 켜기·끄기와 입찰가를 계산하고, 스크립트가 그 값을 채널에 밀어 넣는 방식입니다. 계산이 맞아도 밀어 넣는 배선이 새면 엉뚱한 키워드에 돈이 나가거나, 맞는 키워드가 경매에 못 나갑니다.

이 의심에는 근거가 있었습니다. 같은 주에 실제로 배선 결함 두 개를 찾아 고쳤기 때문입니다.

  • 7월 24일: 기준 파일이 “사람이 정한 키워드 설정은 보존한다”는 규칙을 지나치게 넓게 적용해, 이미 폐기한 서비스나 판매 서비스에 연결되지 않은 키워드까지 꺼지지 않고 있었습니다. 수리 후 109개 키워드가 강제 OFF로 바뀌었고, 실제로 켜져 있던 24개 키워드가 꺼졌습니다.
  • 7월 26일: 구글 캠페인 입찰 전략이 TARGET_SPEND(클릭수 최대화)라서, 스크립트가 계산해 넣은 키워드 입찰가(6,660~14,399원)를 구글 경매가 한 번도 쓰지 않고 있었습니다. 계정을 연 7월 5일 이후 누적 노출은 3회였습니다. MANUAL_CPC로 바꾸고 나서야 계산한 입찰가가 경매에 반영됐습니다.

두 결함 모두 “계산한 값과 실제 집행이 다르다”는 같은 모양이었습니다. 그래서 리드 0도 같은 종류의 문제라고 보기 쉬웠습니다. 배선을 고쳤으니 이제 숫자가 따라올 것이라는 기대였습니다.

무엇으로 확인했나: 집행 상태 조회와 소진 대비 성과 대조

배선 가설은 두 단계로 확인했습니다. 첫째는 채널 쪽 상태 조회입니다. 구글 무노출 건에서는 계정·캠페인·광고그룹·소재·키워드 상태를 전부 조회했고 전부 ELIGIBLE, 정책 위반 0건, 결제 잔액 ₩50,000, 랜딩 페이지 3종이 구글 광고 크롤러(AdsBot)에 200 OK를 돌려준다는 것을 확인했습니다. 계정 차단이라는 첫 의심은 여기서 지워졌습니다. 이어서 change_event와 keyword_view의 search_rank_lost_impression_share를 교차 조회해, 데이터가 남은 3일 모두 순위 때문에 놓친 노출이 90% 이상이라는 것을 찾았고, 그 끝에 입찰 전략 문제가 있었습니다.

둘째는 기준 파일과 라이브 상태의 차이를 세는 감사 명령(audit)과 검증(verify)입니다. 두 수리 뒤 차이는 0건이었습니다. 즉 7월 말 시점에는 “계산한 대로 집행되고 있다”까지는 확인된 상태였습니다.

그다음에 한 일이 이 글의 출발점인 소진 대비 성과 대조입니다. 채널 리포트의 비용·클릭과 GA4의 generate_lead를 같은 30일 창에 놓고, 클릭 265회에서 리드가 몇 건 나왔는지를 셌습니다. 관측 수단은 새로 만든 것이 아니었습니다. 이미 쌓이던 두 숫자를 한 번도 나눠 보지 않았을 뿐입니다.

알리바이: 배선을 고친 뒤에도 리드는 0이었다

배선 가설은 리드 0을 설명하지 못했습니다. 두 결함을 고친 7월 24일·26일을 포함한 최근 7일 동안 ₩357,060를 썼고, 유료 리드는 0건이었습니다. 수리 직후 기준 파일과 라이브의 차이도 0이었습니다. 집행이 계산대로 정확히 이뤄졌다면 문제는 집행이 아니라 계산 쪽에 있어야 합니다. 배선은 실제로 고장 나 있었지만, 그건 “돈이 엉뚱하게 나간 이유”였지 “돈이 리드를 못 만든 이유”가 아니었습니다.

두 번째로 검토한 설명은 표본입니다. 리드 2건은 작은 숫자이고, 2건이 3건만 됐어도 전환율은 크게 달라집니다. 그러니 판단을 미루고 더 모으자는 선택지가 있었습니다. 이 설명도 버렸습니다. 이유는 둘입니다. 하나, 최근 7일 ₩357,060·리드 0이라는 구간이 따로 존재해서 우연 한 번으로 보기 어려웠습니다. 둘, 이 상황에서 판단 보류는 곧 재충전하고 같은 키워드에 계속 쓰자는 뜻이었습니다. 표본을 모으는 비용을 계속 광고비로 내는 셈입니다.

배선은 실제로 고장 나 있었다. 그러나 그것은 돈이 엉뚱하게 나간 이유였지, 돈이 리드를 못 만든 이유가 아니었다.

진짜 원인: 클릭 가치 천장의 9.8%는 어디서 왔나?

계산 쪽을 거슬러 올라가자 입력값 하나가 나왔습니다. 판매 서비스 설정 파일(offers.json)의 홈페이지제작 항목에 click_to_lead_rate가 9.8%로 적혀 있었습니다. 출처는 WordStream의 업계 벤치마크였습니다. 자사 데이터가 하나도 없던 시절에 대용치로 넣은 값이 그대로 남아 있었습니다.

이 값은 그냥 참고 숫자가 아니었습니다. 스크립트는 전환율·계약률·안전계수를 곱해 키워드별 클릭 가치 천장을 계산하는데, 9.8%가 만든 천장이 ₩27,562였습니다. 최소입찰가가 ₩12,540~29,740인 홈페이지 키워드 9종이 이 천장 아래로 들어와 “집행해도 남는다”는 판정을 받고 있었습니다. 시스템은 정확하게 작동했고, 정확하게 틀린 숫자를 따랐습니다.

실측과 비교하면 차이가 분명합니다. 클릭 265회에 리드 2건, 2/265 = 0.75%입니다. 벤치마크의 1/13입니다. 표본이 작다는 반론을 감안해 95% 신뢰구간 상한을 잡아도 2.6%로, 벤치마크에 한참 못 미칩니다. “운이 나빠서 낮게 나왔다”를 최대한 너그럽게 봐도 9.8%는 나올 수 없는 숫자였습니다.

막대 그래프. 클릭에서 리드로 넘어가는 비율. 업계 벤치마크 9.8%, 자사 실측 95% 상한 2.6%, 자사 실측 0.75%
같은 지표 세 개: 가정, 가장 너그러운 실측, 실측

고친 방법: 전환율을 실측으로 바꾸고 기준 파일을 다시 만들었다

수리는 입력값 한 곳에서 했습니다. click_to_lead_rate를 실측 0.75%로 바꾸고, 같은 항목에 rate_source 필드를 두어 표본 수(n)·기간·데이터 출처를 적었습니다. 숫자만 바꾸면 다음에 누가 이 값을 봐도 근거를 알 수 없기 때문입니다.

천장은 전환율에 비례합니다. 9.8을 0.75로 나누면 약 13이고, 천장도 ₩27,562에서 ₩2,109로 같은 비율만큼 내려갔습니다(안전계수 0.5 반영). 이 상태로 기준 파일을 다시 계산하자 홈페이지제작 계열 키워드 13종이 “경제성 미달(economic_fail)” 판정을 받아 자동으로 꺼졌고, 활성 키워드는 16종에서 8종으로 줄었습니다.

표. 정정 전후 비교. 클릭→리드 전환율 9.8%에서 0.75%, 출처 업계 벤치마크에서 자사 실측 2/265, 클릭 가치 천장 27,562원에서 2,109원, 활성 키워드 16종에서 8종, 홈페이지 키워드 최소입찰 12,540~29,740원은 정정 전 천장 안에서 정정 후 천장 밖으로
입력값 하나를 바꾸자 아래 판정이 전부 따라 움직였다

채널에는 아무것도 밀어 넣지 않았습니다. 두 채널이 잔액 소진으로 이미 멈춰 있었으므로 지금 바꿀 라이브 상태가 없었습니다. 대신 중요한 것은 다음 충전 순간입니다. 이전 구조였다면 충전하는 즉시 9.8% 기준으로 같은 키워드가 다시 켜졌을 것이고, 이제는 기준 파일이 그 키워드들을 꺼진 채로 둡니다.

왜 입찰가만 내리지 않았나?

수리 방향을 정하면서 버린 대안이 세 개 있습니다. 결론보다 이 기각 이유가 다른 광고주에게 더 쓸모 있을 것 같아 그대로 남깁니다.

  • 벤치마크는 두고 입찰가만 낮추기: 기각. 홈페이지 키워드는 최소노출가가 ₩12,540 이상이라 그 아래로 내리면 노출 자체가 0이 됩니다. 돈은 안 나가지만 데이터도 안 쌓이고, 틀린 가정은 파일에 그대로 남습니다.
  • 95% 상한 2.6%를 채택: 기각. 상한을 점추정처럼 쓰면 같은 낙관 편향을 한 단계 작게 반복할 뿐입니다. 다만 상한으로 계산해도 홈페이지 키워드 9종은 전부 탈락해, 어느 쪽을 택해도 결론은 같았습니다.
  • 표본 n=2가 작으니 판단 보류: 기각. 앞에서 적은 대로 최근 7일 ₩357,060·리드 0 구간이 따로 있고, 보류는 재충전 후 계속 쓰기와 같은 뜻이었습니다.

세 대안 모두 “틀린 숫자는 그대로 두고 증상만 다룬다”는 공통점이 있었습니다. 입력값을 고치면 증상 쪽 조정은 따로 할 필요가 없어집니다.

같은 실수를 막는 장치는 무엇인가?

이번 실수의 모양은 “데이터가 없을 때 넣은 대용치가, 데이터가 생긴 뒤에도 계속 판정을 내린다”입니다. 그래서 장치도 값 하나를 고치는 데서 멈추지 않고 세 곳에 걸었습니다.

  • 값마다 출처를 붙인다. rate_source에 n·기간·데이터 출처를 적습니다. 벤치마크인지 실측인지, 실측이면 몇 건에서 나왔는지가 값 옆에 보입니다. 이후 다른 분석에서도 이 값을 “0.0075(n=265)”로 출처와 함께 가져다 썼습니다.
  • 판정은 기준 파일이 자동으로 한다. 천장이 시장 입찰가보다 낮으면 사람 손을 거치지 않고 economic_fail로 꺼집니다. 전환율을 바꾸자마자 13종이 꺼진 것도 이 장치 덕분입니다.
  • 재충전이 손실 구조를 되살리지 못한다. 채널 잔액을 채우는 일과 키워드를 켜는 일이 분리돼 있어서, 충전해도 기준 파일이 끈 키워드는 꺼진 채로 남습니다.
흐름도. 정정 전: 업계 벤치마크 9.8%에서 클릭 가치 천장 27,562원, 홈페이지 키워드 9종 통과, 재충전 시 자동 재개. 정정 후: 자사 실측 0.75% n=265에서 천장 2,109원, 13종 economic_fail 자동 OFF, 재충전해도 꺼진 채 유지
입력값 → 천장 → 판정 → 재충전: 같은 흐름에서 입력값만 바뀌었다

한 달 뒤인 8월 24일 갱신된 키워드 데이터로 다시 보니, 홈페이지제작업체 키워드의 시장 입찰가는 19,486원, 우리 천장은 2,095원으로 9.3배 차이가 났습니다. 0.75%로 바꾼 판정이 일시적인 숫자가 아니었다는 확인입니다. 같은 퍼널을 구조 단위로 다시 감사한 기록은 광고 전환 퍼널 감사에 따로 정리했습니다.

아직 풀지 못한 것

이 수리로 천장이 정직해졌다고 말하기는 아직 이릅니다. 공식의 다른 입력값인 계약률(close_rate) 0.15도 계약 0건 상태라 검증된 적이 없습니다. 실측이 들어오면 천장은 더 내려갈 수도 있습니다. 지금 천장은 여전히 낙관 쪽입니다.

예외도 하나 남았습니다. 병원홈페이지제작 키워드는 사람이 직접 켜 두도록 고정한 설정(manual_override)으로 양 채널 집행을 유지하고 있었는데, 그 승인 근거가 “클릭 가치 천장 27,562 이내라 수익성이 성립한다”였습니다. 천장이 2,109로 내려간 지금은 그 전제가 사라졌으므로 다시 확인해야 할 항목으로 표시했습니다. 자동 판정이 사람의 명시적 결정을 덮어쓰지 않게 만든 장치가, 이번에는 틀린 숫자를 보존하는 쪽으로 작동할 수 있다는 뜻입니다.

마지막으로 사업상 대가가 있습니다. 홈페이지제작 축의 유료검색 유입은 사실상 0이 됐습니다. 이 축의 손님은 이제 검색 콘텐츠와 직접 연락으로 와야 하고, 그 대체 경로가 실제로 도는지가 다음 판정 대상입니다. 광고비 구조나 키워드 천장 계산을 함께 점검하고 싶다면 상담으로 문의해 주세요.

같은 방식으로 우리 업무를 재보고 싶다면

이 글에 쓴 계측·판정·자동화는 저희가 실제로 매일 돌리는 방식 그대로입니다. 어떤 작업을 자동화할 수 있고 어디를 사람이 잡아야 하는지, 현재 업무 흐름을 놓고 같이 짚어 드립니다.

새 글이 올라오면 알려 드립니다

이런 계측 기록을 새로 쓰면 메일로 한 통 보냅니다. 광고나 판촉은 보내지 않습니다.