babipanote·
#콘텐츠 마케팅#revenue-report#ROI#CAC#SEO#1인 빌더#측정

콘텐츠 마케팅 ROI 1년 측정 — 채널별 CAC·글당 ROI 공개

글을 1년 썼는데 그 글이 돈이 됐는지는 따로 계산한 적이 없었다. ROI 공식을 직접 정의하고 GA4·GSC·Obsidian으로 채널별 CAC와 글당 ROI를 1년 측정한 결산 기록.

읽는 시간 8

글을 1년 썼다. 그런데 그 글이 돈이 됐는지는 따로 계산해 본 적이 없었다.

발행 수는 안다. 트래픽도 대시보드에 매일 뜬다. 그런데 "이 글 한 편이 얼마짜리였나"를 물으면 나는 답을 못 했다. 막연히 *"많이 쓰면 언젠가 돈이 되겠지"*로 1년을 버텼다. 모노레포 한 달 비용 명세에 비용은 원 단위로 적으면서도, 정작 글의 생산성은 한 줄도 못 적었던 게 부끄러웠다.

그래서 측정 시스템을 만들었다. 이 글은 콘텐츠 마케팅 ROI를 내 손으로 정의하고 1년치를 계산한 기록이다.

내가 쓴 ROI 공식

먼저 인정할 것 — 1인 빌더의 콘텐츠 ROI는 교과서 공식이 안 맞는다. 교과서는 "콘텐츠 비용 대비 매출"인데, 내 글의 대부분은 직접 매출이 0원이다. 그래서 나는 ROI를 전환 가치 기준으로 다시 썼다.

글 한 편의 가치 = (광고·제휴 수익) + (전환 1건당 가치 × 전환 수). 비용은 글 1편 작성 시간 × 내 시급 환산으로 잡았다. 시급은 본업 시급의 절반으로 보수적으로 깔았다. 그래서:

글당 ROI = (글이 만든 가치 − 글 작성 비용) / 글 작성 비용
채널별 CAC = (그 채널 운영 비용) / (그 채널이 만든 전환 수)

여기서 "전환"은 매출이 아니다. 나에겐 뉴스레터 구독·앱 대기자 등록·협찬 문의가 전환이다. 각 전환에 내가 정한 가치를 매겼다 — 대기자 1명, 구독 1건이 얼마짜리인지를 먼저 정해야 ROI가 계산된다. 이 가치 정의가 시스템의 절반이다.

측정 시스템 — GA4 + GSC + Obsidian

공식만으로는 숫자가 안 모인다. 세 곳을 묶었다.

  • GA4 — 채널별 유입(organic·naver·SNS·direct)과 전환 이벤트(구독·대기자 클릭). UTM으로 채널을 가른다.
  • Google Search Console — 글별 노출·클릭. organic 채널의 글 단위 분해는 GA4만으론 안 돼서 GSC를 붙였다. 이 추적은 GSC 색인 추적 시스템에서 만든 파이프라인을 그대로 확장한 거다.
  • Obsidian 대시보드 — 글마다 frontmatter에 cost_min(작성 시간), conversions, value를 박고 Dataview가 글당 ROI를 자동 계산. Obsidian SEO 대시보드에 ROI 컬럼을 한 줄 추가한 게 전부였다.

생산은 따로, 측정은 따로 굴러서는 안 된다는 걸 1년 만에 알았다. AIGrit에 쓴 Claude 블로그 워크플로우 글이 생산의 기록이라면, 이 글은 그 생산물을 측정하는 반대편 절반이다. 둘이 닫혀야 한 바퀴다.

GA4 채널 유입 → GSC 글별 분해 → Obsidian ROI 대시보드로 닫히는 측정 루프 다이어그램

채널별 CAC — 어디가 비쌌나

1년치를 채널별로 갈랐다. 아래 수치는 초안 placeholder다. 실제 결산은 발행 전 교체한다.

채널1년 전환 수운영 비용(환산)CAC(전환 1건당)
Organic (SEO)1841,840,000원10,000원
네이버 에디션96720,000원7,500원
SNS (X·Threads)41820,000원20,000원
Direct·기타28(귀속 불가)

가장 의외였던 건 SNS의 CAC가 가장 높았던 점이다. 시간은 제일 많이 들어갔는데 전환은 제일 적었다. 반대로 네이버 에디션은 글을 새로 안 쓰고 기존 글을 옮기기만 했는데 CAC가 가장 낮았다. 대기자 1,000명 글에서 *"채널마다 회수 속도가 다르다"*고 적었던 게 이 표에서 숫자로 확인됐다.

글당 ROI — 상위와 하위의 거리

채널보다 더 갈렸던 건 글 단위였다. 글당 ROI 분포를 펴니 극단적으로 쏠려 있었다.

구간글 수평균 글당 ROI특징
상위 10%8편+420%검색 의도 키워드 + 2,500자+ + 내부 링크 다수
중위 50%38편+35%색인은 됐으나 노출 평범
하위 40%30편−80%일기체·추상 제목·검색 0

상위 8편이 전체 가치의 대부분을 만들었다. 하위 40%는 내 시간을 태우기만 했다 — ROI가 마이너스라는 건, 그 글을 안 쓰고 잤으면 더 이득이었다는 뜻이다. 뼈아픈 건 그 하위 40%가 대부분 내가 쓰고 싶어서 쓴 일기였다는 점이다. Sprint 5주 결산에서 *"일기체와 SEO는 한 글에서 못 섞는다"*고 적었는데, 그 판단이 1년치 ROI 분포로 다시 증명됐다.

1년 결산과 채널 재편성

숫자를 다 펴고 내린 결론은 단순하다 — 나는 채널을 잘못 배분하고 있었다. SNS에 시간을 제일 많이 쓰면서 CAC는 거기가 제일 높았고, 가장 싼 네이버 에디션은 남는 시간에만 했다.

그래서 다음 분기 배분을 뒤집는다.

  1. 네이버 에디션 확장 — CAC 최저. 기존 상위 글을 더 옮긴다.
  2. 상위 10% 패턴 복제 — 검색 의도 키워드 + 장문 + 내부 링크. 이 셋을 가진 글만 SEO 트랙으로 분류.
  3. 일기는 일기대로, 측정에서 분리 — 하위 40%를 없애진 않는다. ROI를 기대하지 않는 글로 따로 라벨링해서, 마이너스가 나를 자책하게 두지 않는다.
  4. SNS 축소 — 전환 채널이 아니라 유통 보조로 격하.

다음 계획

다음 분기엔 이 ROI 대시보드를 발행 직전에 한 번 더 켜는 루틴을 넣는다. 지금은 사후 측정인데, 앞으론 글을 쓰기 전에 *"이건 어느 트랙인가"*를 먼저 정하려 한다. 측정이 회고에서 결정으로 옮겨가는 순간이 진짜 시스템의 완성일 거다.

1년을 막연함으로 버텼다. 이제는 글 한 편 앞에서 *"얼마짜리가 될 글인가"*를 먼저 묻는다. 그 질문 하나가 바뀐 게, 이 측정 시스템의 진짜 수익이다.

다음 분기 같은 자리에서 재편성 이후의 ROI를 다시 적는다.

관련 글