AI 자동화 부업 6개월 총결산 — 수익, 실수, 그리고 앞으로의 계획

📚 이 글은 “개발자가 AI 자동화로 부업하는 실전 기록” 시리즈입니다.

29편: Google Analytics 4 연동 실전 — 방문자 데이터로 콘텐츠 전략 바꾼 이야기

달력을 보다가 멈칫했다. 이 시리즈의 첫 글을 올린 게 올해 초였는데, 벌써 6개월이 지났다. data/published.json을 열어보니 항목이 29개 쌓여 있었다. 솔직히 말하면, 나조차도 이렇게 오래 꾸준히 할 줄은 몰랐다.

완벽주의로 인해 2달을 설계만 하다 글 한 편도 못 올렸던 내가, 자동화 시스템을 만들고 나서야 겨우 첫 글을 올렸고, 그게 지금은 30편째가 됐다. 이번 글은 화려한 성공담이 아니다. 29편을 쌓으면서 실제로 뭘 바꿨고, 뭘 틀렸고, 수익은 어떻게 됐는지를 있는 그대로 적는다.


29편이 쌓이기까지 — 자동화 파이프라인이 세 번 바뀌었다

처음 구조는 단순했다. Python 스크립트가 Claude API를 직접 호출해서 글을 생성하고, 그 결과를 WordPress에 올리는 방식이었다. 코드 한 파일에 API 호출 + 발행 로직이 다 들어가 있었다. 문제는 Claude API 토큰 비용이었다. 글 한 편에 쓰는 토큰이 쌓이다 보니, 자동화를 돌릴수록 비용 걱정이 늘었다.

두 번째 구조는 Slack 봇 트리거를 추가한 것이었다. 슬랙에서 명령을 치면 글이 발행되는 방식인데, 이건 로컬 PC가 켜져 있어야 한다는 전제가 있었다. Windows Task Scheduler로 스케줄링도 해봤는데, 노트북을 닫거나 절전 모드가 되면 그냥 실패였다.

세 번째이자 현재 구조는 23편에서 전환한 방식이다. Claude API 직접 호출을 완전히 걷어냈다. 지금은 Claude Code 세션이 직접 글을 작성하고, Python 스크립트는 발행만 담당한다. 이렇게 하면 API 토큰 비용이 0원이다. 실제로 이 시스템을 지금도 쓰고 있고, 오늘 이 글도 같은 방식으로 작성해서 발행하고 있다.

현재 파이프라인의 핵심은 src/publish_draft.pyrun() 함수다. 실제 코드를 그대로 옮기면 이렇다:

⚙️ 참고: 아래는 이 저장소의 실제 src/publish_draft.py 코드 일부입니다. Claude Code가 작성한 드래프트를 받아 4단계 파이프라인으로 처리합니다.

def run(draft_path: Path, status: str = "publish", skip_threads: bool = False) -> dict:
    draft = load_draft(draft_path)
    episode = draft["episode"]

    # 중복 발행 방지
    published = load_published()
    if any(p["ep"] == episode for p in published):
        raise SystemExit(f"이미 발행된 에피소드입니다: {episode}편 (published.json 확인)")

    # 1. WordPress 발행
    wp_result = publish_post(...)

    # 2. published.json 갱신
    published.append({
        "ep": episode,
        "title": wp_result["title"],
        "url": wp_result["url"],
        "date": date.today().isoformat(),
    })
    save_published(published)

    # 3. Notion 기록 (실패해도 계속)
    result["notion"] = log_to_dashboard(...)

    # 4. Threads 포스팅 (실패해도 계속)
    result["threads"] = post_to_threads(...)

    return result

WordPress 발행 → 이력 기록 → Notion 대시보드 → Threads SNS. 이 4단계가 매일 자동으로 돈다. Notion이나 Threads가 실패해도 WordPress 발행은 유지된다. 6개월 동안 이 구조를 유지하면서 바꾼 건 주로 각 단계의 세부 구현이었지, 전체 흐름은 안정적으로 돌아가고 있다.

가장 큰 변화는 23편의 Claude Code 전환이었다. API 비용을 없앤 것이 시스템 지속 가능성을 완전히 다르게 만들었다.


솔직히 틀렸던 것들 — 6개월 치 실수 공개

화려한 성공 이야기보다 이쪽이 더 도움이 될 것 같아서 먼저 정리한다.

실수 1: excerpt에 시리즈 안내 문구를 계속 넣었다. 처음 몇 달 동안 excerpt 필드에 “이 글은 AI 자동화 부업 시리즈의 N번째 글입니다”라고 썼다. Yoast SEO 플러그인이 이걸 메타 설명으로 노출하는 바람에, 검색 결과에서 보이는 글 설명이 항상 시리즈 소개로 시작했다. 클릭률이 올라갈 리 없었다. 지금은 excerpt에 시리즈 안내 금지라는 규칙이 명시돼 있지만, 초기에 발행한 글들은 이미 그렇게 올라가 있다.

실수 2: Windows Task Scheduler로 스케줄링한 것. 6편에서 구축한 방식인데, 노트북이 절전 상태거나 꺼져 있으면 발행이 그냥 건너뛰어졌다. 자동화라고 만들어놨는데 사람이 PC 앞에 있어야 돌아가는 구조였다. 지금은 GitHub Actions로 전환해서 서버 의존 없이 돌아간다.

실수 3: 처음에 글 주제 선정 기준이 모호했다. 초반에는 “AI 자동화 관련이면 된다”는 식으로 주제를 잡았다. 나중에 보니 비슷한 주제를 살짝 다른 각도로 쓴 글이 몇 편 있었다. 애드센스 심사 이후 “가치가 별로 없는 콘텐츠”라는 피드백을 받은 것도 이 시기 글들 때문이었을 것이다. 그 이후로 주제 선정 기준을 “이 저장소에서 실제로 있었던 일” 중심으로 바꿨다.

실수 4: Mailchimp 뉴스레터 자동화(27편)를 너무 일찍 만들었다. 구독자가 0명인 상태에서 뉴스레터 발송 시스템부터 만들었다. 기술적으로는 잘 돌아가는데, 구독자 없는 시스템은 그냥 돌아가는 코드다. 순서를 반대로 해서 먼저 트래픽을 만들고 그다음에 구독자 유입을 고민했어야 했다.

💡 팁: 자동화 부업에서 “지금 당장 필요하지 않은 기능을 미리 만드는 것”은 시간 낭비다. 트래픽이 생기면 그때 뉴스레터를 만들어도 늦지 않는다.

실수는 많았지만, 자동화 시스템 덕분에 다음날 다시 발행할 수 있었다. 실수가 치명타가 되지 않은 건 파이프라인이 계속 돌아갔기 때문이다.


수익화 현황 — 애드센스 승인 이후의 현실

16편에서 구글 애드센스 승인 결과를 공개했다. 승인을 받았고, 이후 카카오 애드핏(18편)도 연동했다. 현재는 구글 애드센스, 카카오 애드핏, 쿠팡파트너스 세 채널이 활성화돼 있다.

솔직히 말하면, 광고 수익은 기대보다 낮다. 트래픽이 없으면 광고 수익도 없다는 건 알고 있었는데, 막상 세 채널을 다 연동해놓고 실제 수익을 보면 그 숫자가 체감이 된다. 구글 서치콘솔(21편)과 GA4(29편)를 연동한 이후로 방문자 데이터를 보게 됐는데, 내 글들이 실제로 검색에 노출되고 있는지부터 파악하는 게 우선이었다.

쿠팡파트너스는 클릭 기반이라 방문자가 링크를 클릭해야 수익이 생기는 구조다. 기술 블로그에서 쿠팡 링크를 자연스럽게 노출하는 게 쉽지 않다는 걸 뒤늦게 깨달았다. 개발자가 쿠팡 제품을 살 때 내 블로그를 거쳐서 클릭할 이유가 없다.

수익화 다각화(25편)에서 전자책이나 컨설팅 이야기를 했는데, 이건 아직 시작도 못했다. 시스템을 구축하는 데 시간이 더 걸렸고, 콘텐츠의 양이 어느 정도 쌓인 지금에야 생각해볼 수 있는 단계가 됐다.

수익화 채널 현황 비고
구글 애드센스 활성화 트래픽 의존, 노출 있음
카카오 애드핏 활성화 국내 방문자 대상 보완
쿠팡파트너스 활성화 기술 블로그와 궁합 낮음
전자책 / 컨설팅 미착수 7개월차 목표

수익화 채널은 다 열려 있다. 이제 필요한 건 채널이 아니라 트래픽이다.


6개월 후 기술 스택 현황 — 지금 이 시스템이 돌아가는 방식

현재 이 블로그 자동화 시스템의 스택은 다음과 같다.

  • ✅ 글 작성: Claude Code (API 직접 호출 아님, 토큰 비용 0원)
  • ✅ 발행: Python + WordPress REST API + JWT 인증
  • ✅ 이력 관리: published.json + Notion 대시보드
  • ✅ SNS 배포: Threads API (본문 포스팅 + URL 댓글 자동 첨부)
  • ✅ 스케줄링: GitHub Actions (서버 의존 없음)
  • ✅ 분석: Google Analytics 4 + 서치콘솔 연동
  • ✅ 코드 공개: GitHub 오픈소스 (28편에서 공개)

호스팅 비용은 Hostinger 비즈니스 플랜 기준 월 $4.99다. 도메인은 무료로 포함됐다. 시스템 운영 비용 자체는 이게 전부다. Claude Code 비용은 Claude Pro 구독 요금에 포함되는 개념이고, 블로그 자동화 전용으로 추가 API 토큰을 쓰지 않는다.

29편이 이 스택으로 발행됐다. 카테고리별로 보면 개발 실전 기록이 가장 많고, AI 자동화 부업 운영 후기, 수익화 전략 순이다. 처음에 설정한 세 카테고리 비중이 지금도 유지되고 있다는 건, 주제 설정이 초반에 나름 잘 됐다는 뜻이기도 하다.

💡 팁: 28편에서 이 저장소를 GitHub에 오픈소스로 공개했다. 자동화 파이프라인 전체 코드가 올라가 있으니, 비슷한 시스템을 만들려는 사람은 참고할 수 있다.

월 $4.99로 돌아가는 자동화 블로그 시스템이 6개월째 유지되고 있다. 비용은 낮지만 커버리지는 꽤 넓어졌다.


7개월차 계획 — 앞으로 뭘 바꿀 건지

총결산 글이라고 해서 화려한 마무리를 쓰고 싶었는데, 사실 지금 상태는 “시스템은 잘 돌아가고 있지만 수익은 아직 초기 단계”다. 그걸 솔직하게 인정하는 것이 이 블로그의 시작부터 지켜온 컨셉이니까, 여기서도 그렇게 적는다.

7개월차 계획은 세 가지다. 첫째, 트래픽 성장에 집중한다. 지금까지는 자동화 시스템 구축에 비중을 뒀다면, 이제는 어떤 글이 검색에 걸리고 있는지 데이터를 보면서 콘텐츠 전략을 조정할 차례다. GA4와 서치콘솔이 이미 연동돼 있으니 데이터를 쓰면 된다.

둘째, SNS 채널을 늘린다. Threads는 이미 자동화됐고, 다음 편에서는 X(Twitter) API 연동을 다룬다. 같은 글을 여러 채널에 뿌리는 방식으로 유입 경로를 늘리는 게 목표다.

셋째, 전자책 초안을 만들어본다. “개발자가 AI로 블로그 자동화하는 법”이라는 주제로, 이 시리즈 29편의 내용을 정리한 것이 될 것이다. 당장 팔 수 있는 완성품보다 먼저 초안을 만들고, 그 과정을 글로 쓰는 게 이 블로그의 방식이니까.

6개월 동안 29편을 발행했다. 수익은 아직 작지만 시스템은 돌아가고 있고, 실수도 했지만 다음날 다시 발행할 수 있는 구조를 갖췄다. 7개월차에도 계속 기록할 예정이다.

📌 다음 편: 블로그 포스트 자동 SNS 공유 — X(Twitter) API 연동 실전

  • X(Twitter) API v2 인증 절차와 실제 연동 코드
  • Threads + X 동시 포스팅 파이프라인 구성
  • SNS 채널별 텍스트 포맷이 다른 문제를 어떻게 처리했는지

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top