연 1,000만 원짜리 CRM 툴, 월 3만원으로 직접 만들기

소개

저는 식품 제조, 판매를 동시에 하는 회사에 다니고 있습니다.

입사하자마자 신규 브랜드를 하나 맡아 아둥바둥 업무를 진행하고 있었죠.

기존에 판매하던 상품이 아니다 보니, 회사에서도 자사몰 세팅 및 CRM에 대한 준비가 잘 되어 있지 않았습니다.

심지어 식품 제조업 기반이 더 강하다 보니

기존에 사용하던 CRM 툴, 그러니까 브레이즈 혹은 채널톡같은

Saas 솔루션을 전혀 사용하고 있지 않았습니다.

당장 매출도 크게 나오지 않고 있어, 수 천 만원짜리 CRM 솔루션을

구매해달라고 요청할 수 없는 상황이었습니다.

하지만 재구매율은 겨우 4.9%에 불과 했기 때문에 어떤 방식으로든

CRM 솔루션이 필요한 상황이었습니다.

그래서 클로드코드+n8n+제미나이 조합으로 직접 만들어보고자 했고,

꽤나 만족스럽게 결과가 나왔습니다.

혹시 비슷한 상황에 계실 수 있는 마케터 분들을 위해 제가 구성한

CRM 프레임을 가볍게 알려드리고자 합니다.

구체적인 상황

재구매 고객의 가치는 명확했습니다.

신규고객유치 CPA는 34,000원. CRM으로 재구매를 유도하는 CPA는 겨우 1,500원 이었습니다.

무려 22배나 차이 나는 모습을 보여줬습니다.

한 번 구매한 고객을 다시 불러들이는 게 새 고객을 모객하는 것보다 훨씬 저렴하죠.

비싼 Saas 솔루션 대신 낮은 CPA를 유지하면서도, 고객 맞춤 자동화 CRM을 발송하는 게

이번 프로젝트 목표였습니다.

사용한 도구

스택은 상당히 단순했습니다. n8n(자동화 워크플로우) + Gemini 2.5 Flash(AI 맞춤 메시지 생성) + AWS EC2서버) + Solapi(문자발송).

저는 뼛 속부터 문과이고, 단 한 번도 제대로 된 코딩을 해 본적 없는 진짜 초보였습니다.

하지만 문제가 명확하니 어떤 도구를 사용해야하는지 클로드 코드가 제대로 알려줬습니다.

구조는 다음과 같습니다.

D+3은 리뷰 유도, D+14는 재구매 쿠폰 발송, D+21은 장기 이탈 방지 메시지가 발송될 수 있게 세팅했습니다.

해당 세팅 기준은 저희 자사몰 고객 재구매 주기(소수이지만.)와 일반적인 메시지 발송 주기를 클로드와 논의해서 결정했습니다.

비용은 AWS (1gb RAM) 7달러 서버 포함 3만 원 정도 되는 것 같습니다.

솔라피 솔루션은 메시지 당 과금 방식이기 때문에 초기 비용 외 추가 비용은 크게 들지 않을 수 있습니다.

완전 쉽지는 않았습니다. 버그가 있었거든요.

클로드코드는 직접 JSON 파일 작성을 해주니, 사실 n8n도 수월하게 만들 수 있을 줄 알았습니다.

생각보다 제가 직접 노드 구성하고, 수정하는 일이 상당히 많더라고요. 그래서 오류도 꽤 많았습니다.

버그 1. n8n 데이터 직렬화 문제

item.json['key'] 를 변수에 담으면 task runner 프록시 과정에서 데이터가 사라졌습니다.

object literal에서 직접 접근하는 방식으로 바꾸니 해당 버그는 해결되었스니다.

버그2. 날짜 파싱 오류

Google Sheets 노드에서 날짜가 "2026. 2. 27" 형식으로 저장되었습니다.

겉으로는 문제 될 부분이 없는데, 8자리 조건을 체크하는 로직이 이걸 제대로 읽지 못해서 정규식 파서로 교체하는 과정을 거쳤습니다. (물론 오류도 클로드가 잡아줬습니다.)

버그 3. 노드 간 데이터 참조 불가

가장 많이 속을 썩인 버그였습니다. 구글시트에 저장된 정보를 바탕으로 Java Script 코드가 끌어오야하는데 무슨 이유에서인지 제대로 참조를 못했습니다.

n8n task Runner 환경에서 다른 노드의 데이터를 $('NodeName').item.json으로 참조하면 항상 빈 객체가 반환되는 문제였죠.

그래서 Gemini 노드에서 직접 JSON 프롬프트에 전화번호를 포함시키는 방식으로 우회했습니다.

이 것 2 ~ 3가지 버그가 더 있었는데, 사실 워크플로우 설정보다 이런 자잘한 버그 잡는데 시간을 더 많이 할애 했던 것 같습니다. 스트레스도 많이 받구요. ^^

완성은 했지만, 조금 찝찝한 부분

어쨌든 정상적으로 메시지 발송, 발송 후 구글 시트 저장 등 원했던 기능은 아주 잘 작동하고 있습니다. 하지만 아직 두 가지 정도 치명적인 문제가 남아있습니다.

하나는 메시지 일관성 문제입니다. 제미나이 2.5 Flash 기반으로 메시지를 보내고 있습니다. 이름/주문내역/주문금액을 기반으로 맞춤 메시지를 보내게 되는 구조입니다.

하지만 LLM 특성상 상황에 따라 완전히 같은 정보를 담은 메시지를 보내기 힘들 때도 있고, 브랜드 톤앤매너와 상반되는 메시지를 보낼 때도 있습니다. (아직은 없지만)

이 부분은 추후 브랜드 톤앤매너를 완벽히 설정하거나, 보내기 전 승인 단계를 만들 필요가 있다는 생각은 했습니다. 후자의 경우 완전 자동화가 어렵겠다는 생각이 들어 일단 전자에 최대한 집중하고 있습니다.

다른 하나는 고객 데이터 수동 입력 문제였습니다. 카페24 자사몰 운영 중인데 API가 제대로 타고 들어오지 못하는 것 같이 보였습니다...만 이 문제는 지금 잘 해결해서 모든 주문 고객에 대한 정보를 정보수신 동의 여부에 따라 두 개 구글 시트에 잘 나누어져 저장되고 있습니다.

어쨌든 연간 1,000만원이 족히 넘는 CRM 솔루션을 겨우 월 3만 원도 안되는 돈으로 해결했다는 건 꽤나 고무적인 것 같습니다.

앞으로는 고도화를 통해 조금 더 다양하고 구매 전환에 집중할 수 있는 메시지를 만들어 봐야겠습니다.

핵심요약

  1. CRM CPA 1,500원 vs 광고 CPA 34,000원 — 재구매가 신규 유치보다 22배 싸다

  2. 채널톡 같은 SaaS 연 1,000~1,500만원 대신 n8n + Gemini로 월 3만원에 구현 가능

  3. 핵심 스택: n8n(자동화) + Gemini(메시지 생성) + AWS(서버) + Solapi(발송)

  4. 주요 버그 3종: 데이터 직렬화, 날짜 파싱, 노드 간 참조 — 2일 디버깅으로 해결

반응이 괜찮으면, 다음에는 카페24 구매 데이터를 중간에 후킹해서 구글 시트에 담고,

위 CRM n8n과 연결했던 과정을 설명드려

볼까 합니다.

감사합니다.

4
2개의 답글

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요