본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 01. 12:11

Claude와 n8n을 사용해 일일 Meta 광고 관리자 구축하기 — ROAS를 7일 만에 72% 증가시킨 방법

요약

Claude와 n8n을 활용하여 Meta 광고 데이터를 자동으로 분석하고 보고하는 워크플로우 구축 방법을 소개합니다. API를 통해 수집된 데이터를 구조화하여 LLM에 전달함으로써, 광고 관리 시간을 45분에서 5분으로 단축하고 ROAS를 크게 개선한 사례를 다룹니다.

핵심 포인트

  • Meta Graph API를 통한 캠페인 데이터 자동 수집
  • Code 노드를 활용한 데이터 구조화로 LLM 추론 효율 극대화
  • Claude를 활용한 맞춤형 광고 성과 분석 및 요약 보고
  • 광고 관리 시간 단축 및 ROAS 72% 향상 성과 달성

매일 아침 Meta Ads 대시보드를 검토하는 데 45분을 소비했습니다. 지출액을 확인하고, 저조한 성과 캠페인을 찾아내고, 일시 중지할 것과 확장할 것을 결정하는 작업이었습니다. 매일매일요.

그래서 저는 이 과정을 자동화했습니다. 전체 아키텍처는 다음과 같습니다.

수동 광고 관리의 문제점

Meta Ads Manager는 데이터를 제공하지만, 의사결정을 제공하지는 않습니다.

사용자는 다음을 해야 합니다:

  1. 대시보드 로드하기
  2. 날짜 범위로 필터링하기
  3. 캠페인들을 머릿속으로 비교하기
  4. 무엇을 할지 결정하기
  5. 변경 사항 적용하기

이 과정은 30~60분이 소요되며, 며칠에 걸쳐 쌓아온 맥락(context)을 필요로 합니다. LLM은 이러한 패턴 인식 능력을 가지고 있습니다. 필요한 것은 데이터를 입력해 주는 것뿐입니다.

아키텍처

Schedule Trigger (매일 오전 7시)
    → Meta Graph API (7일간 캠페인 지표)
    → Code Node (캠페인별 상태 플래그 계산)
...

1단계: Meta API에서 캠페인 데이터 가져오기

캠페인 인사이트를 위한 Meta Graph API 엔드포인트는 다음과 같습니다:

GET https://graph.facebook.com/v19.0/{account_id}/insights

각 캠페인에 대해 제가 가져오는 파라미터는 다음과 같습니다:

fields: "campaign_name,impressions,clicks,spend,ctr,cpc,cpm,roas,reach"
date_preset: "last_7d"
level: "campaign"

HTTP Request 노드는 쿼리 파라미터의 액세스 토큰을 통해 인증을 처리합니다.

2단계: 상태 플래그 계산하기

Claude에게 전달하기 전에, Code 노드가 간단한 플래그를 미리 계산합니다:

const status = 
  roas < 1   ? 'CRITICAL' :   // 손실 중
  roas < 2   ? 'LOW'      :   // 목표치 미달
...

이렇게 하면 Claude에게 원시적인 숫자가 아닌 구조화된 데이터를 제공할 수 있습니다. Claude는 산술 계산이 아니라 추론(reasoning)에 집중하도록 합니다.

3단계: Claude 프롬프트

제가 사용하는 프롬프트는 스페인어입니다. 왜냐하면 제 고객들이 LATAM 지역이기 때문입니다:

Analiza estas métricas de Meta Ads (últimos 7 días) y dame reporte ejecutivo:

Gasto total: $[X]
...

요약본을 읽기 전까지는 대시보드를 열지 않습니다.

7일 후의 결과

  • 총 지출 (Total spend): -38% (손실을 내는 캠페인을 더 빠르게 중단함)
  • 평균 ROAS (Average ROAS): 1.8x → 3.1x
  • 광고 관리 소요 시간: 일일 약 45분 → 일일 약 5분
  • 놓친 최적화 (Missed optimizations): 0 (Claude가 내가 놓치기 쉬운 패턴을 포착함)

핵심 통찰: Claude는 결정을 내리지 않습니다. 결정은 제가 합니다. 하지만 Claude는 제가 커피를 마시기 전, 매일 아침 올바른 정보를 가질 수 있도록 보장합니다.

워크플로우가 (아직) 하지 못하는 것

변경 사항 자동 적용 (Auto-apply changes): 이 워크플로우를 확장하여 ROAS가 3일 연속 1 미만인 캠페인을 자동으로 일시 중단하도록 만들 수 있으며, 이때 Telegram 확인 절차를 거치도록 설정할 수 있습니다. 분석 품질을 먼저 검증하고 싶었기에 이 기능은 포함하지 않았습니다.

캠페인 간 예산 최적화 (Cross-campaign budget optimization): 성과가 낮은 캠페인에서 성과가 좋은 캠페인으로 예산을 자동으로 이동시키는 기능입니다. Ads Management API를 통해 가능하지만, 쓰기 권한 (write permissions)이 필요합니다.

소재 성과 (Creative performance): 현재 버전은 캠페인 수준 (campaign-level)의 데이터를 분석합니다. 광고 수준 (ad-level)의 소재 분석(어떤 이미지/영상이 성과를 내는지)을 위해서는 level: "ad"를 사용하는 두 번째 API 호출이 필요합니다.

n8n 템플릿

저는 이 과정을 다음과 같은 구성의 가져오기 가능한 워크플로우로 패키징했습니다:

  • 전체 6개 노드 워크플로우 JSON
  • Supabase 무료 버전 사용 (벡터 DB 불필요 — 순수 API 방식)
  • Telegram + 이메일 전송 옵션
  • Meta API 권한 설정을 위한 가이드

Gumroad에서 확인 가능합니다: "Meta Ads Claude Manager n8n" 검색

Meta API 설정이나 Claude 프롬프트 튜닝(prompt tuning)에 대해 궁금한 점이 있으신가요? 댓글을 남겨주세요.

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0