업무 시스템실제 운영 중
크리에이티브 OS
메타 광고 성과를 읽고 다음 소재까지 만드는 광고 운영 시스템
5단계광고 판정 상태
- 누구를 위해
- 여러 광고 계정의 소재를 성과 근거로 교체·제작해야 하는 광고 운영팀
- 무엇이 문제였나
- 평균 CPL만 보면 데이터가 적은 광고까지 부진하다 하고, 무엇을 바꿀지는 알려 주지 않습니다.
- 무엇을 했나
- 메타 리드 광고 성과를 읽기 전용으로 동기화해 부진 광고와 원인을 가리고, AI로 대본·이미지·15초 영상 소재를 만들어 검수까지 잇는 사내 운영 시스템
- 무엇이 달라지나
- 광고 게시는 사람이 결정하고, 시스템은 근거와 다음 소재를 준비합니다.

어떻게 움직이나
한 건의 일이 처음부터 끝까지 어떻게 흘러가는지 순서대로 보여드립니다.
광고 성과가 다음 소재가 되기까지
재생을 누르거나 단계를 눌러 순서대로 살펴보세요.
부진한 소재만, 바꿀 이유와 함께
- 판정 상태
- 5단계
- 최소 판정 데이터
- 3일·노출 1,000
- 광고 게시
- 기본 꺼짐
광고 게시는 사람이 결정하고, 시스템은 근거와 다음 소재를 준비합니다.
직접 써보기
실제 화면은 사내 운영 대시보드이며 광고주·캠페인 이름을 가렸습니다. 체험에 넣는 숫자는 예시입니다.
사내 운영(내부망)2026-09-28 캡처내부망에서만 열리는 운영 대시보드를 읽기만 해서 찍었습니다. 광고주·브랜드·캠페인 이름은 모자이크했습니다.
오늘의 제작실
신호 탐색부터 검수까지 여섯 단계의 제작 테이프와 오늘 확인할 숫자를 모읍니다.
모자이크한 것
- 작업 공간 이름
부진을 가리고, 바꿀 것 하나를 고릅니다
광고 하나의 최근 성과를 넣으면 목표 CPL·비교 광고와 견줘 상태를 정하고, 교체할지와 무엇을 먼저 바꿀지 제안합니다. 금액은 정수(micros)로만 계산합니다.
- 현재 CPL
- 33,333원
- 비교 광고 5개의 중앙 CPL
- 20,000원
CPL이 광고주 목표 범위를 초과했습니다.
- 78%Link CTR이 동일 조건 광고 중앙값보다 뚜렷하게 낮습니다.
- 68%빈도가 높고 클릭 반응이 함께 낮습니다.
교체 판단 · 교체 (확신 84%)
절대 성과와 캠페인 비교 근거가 교체 방향을 지지합니다.
- 유지할 것
- 현재 오퍼·CTA의 핵심 약속은 유지
- 바꿀 것
- 첫 3초 Hook과 첫 화면 비주얼을 한 가지 가설로 교체
- 첫 문장·Hook
- 문제 상황을 첫 문장에 직접 제시하고 3초 안에 해결 기대를 연결
- 형식
- 4:5 피드 이미지와 9:16 스토리 변형을 같은 메시지로 제작
결과는 ad-automation@1e3efe1의 원본 코드를 이 브라우저에서 그대로 실행한 것입니다. 넣은 값은 예시이고 어디에도 저장·전송되지 않습니다. 판정은 제안까지입니다. 실제 서비스도 광고 중지·예산 변경은 하지 않고, 게시는 설정을 켠 경우에만 일시중지 초안으로 만들어 사람이 결정합니다.
실제 코드 보기
만든 범위
여러 광고주의 메타 리드 광고를 운영하는 팀을 위한 사내 시스템입니다. 메타 계정 성과를 읽기 전용으로 동기화하고 Get DB가 실제로 받은 리드로 리드 수를 갈아끼운 뒤, 목표 CPL과 같은 조건의 비교 광고를 기준으로 광고마다 다섯 단계 상태를 정합니다. 부진하면 소재·전달·랜딩 가운데 원인 후보를 좁히고, 교체할지와 무엇을 먼저 바꿀지 제안합니다. 새 소재는 AI로 대본·이미지·15초 영상을 만들어 검수 대기열로 보냅니다.
먼저 풀어야 했던 문제
- 평균 CPL 하나로는 못 고르는 교체 대상데이터가 적은 광고와 목표가 없는 광고까지 같은 잣대로 부진하다고 부르면 멀쩡한 소재를 버리게 됩니다.
- 매체가 세는 리드와 실제 리드의 차이매체의 리드 수는 픽셀 유실·중복 발화로 실제와 달라, 분모를 실측 리드로 바꿔야 했습니다.
- 성과 판단과 소재 제작의 단절무엇이 부진한지 알아도 다음 소재에서 무엇을 바꿀지로 이어지지 않으면 같은 실수를 반복합니다.
데이터가 업무로 이어지는 구조
- 01 · 읽기 전용 동기화메타 계정의 일별 성과를 읽어 SQLite에 쌓습니다. 동기화는 광고를 바꾸지 않습니다.
- 02 · 실측 리드 보정Get DB가 받은 리드로 리드 수를 갈아끼우고, 스팸은 분모에서 뺍니다.
- 03 · 판정 규칙최소 데이터·목표 CPL·비교 광고 중앙값을 정수(micros)로 견줘 다섯 단계 상태를 정합니다.
- 04 · 소재 제작과 검수교체 판단이 정한 한 가지 가설로 대본·이미지·영상을 만들고 검수 대기열에 올립니다.
구현한 기능
- META 캠페인 트리캠페인·광고그룹·소재를 파트별로 펼쳐 지출·리드·CPL과 DB·예약·내원을 함께 봅니다.
- 성과 판정설정 필요·관찰 중·정상·상대 부진 후보·부진 다섯 단계로 광고를 나눕니다.
- 원인 진단Link CTR·CPM·빈도·랜딩 조회율을 비교 광고와 견줘 원인 후보를 좁힙니다.
- 교체 판단유지·관찰·대조 소재 준비·교체 중 하나와, 유지할 것·바꿀 것·Hook·형식을 제안합니다.
- 20개 소재 실험실상품 하나로 소재 20개를 설계·제작하고 운영자 평가를 다음 제작에 반영합니다.
- 소재 라이브러리만든 소재의 상태와 버전을 한곳에서 찾고 승인합니다.
운영 안전장치
- 성과 동기화는 읽기 전용. 광고 초안은 별도 권한·계정 허용 목록·설정을 모두 켜야 일시중지 상태로만 만들 수 있고, 운영 설정은 꺼져 있음
- 금액은 정수(micros)로만 계산해 반올림 오차로 판정이 바뀌지 않음
- 목표 CPL이 없는 리드 0건 광고는 부진으로 단정하지 않음
- 동기화 데이터가 오래되면 새 판정을 보류
사용한 기술
React 19 · Vite · TypeScript · Express 5 · Node.js 24 (node:sqlite) · sharp · FFmpeg · Meta Marketing API(읽기 전용)
확인된 사실
- 운영
- 사내 운영
- 판정 상태
- 5단계
- 최소 판정 데이터
- 3일·노출 1,000
- 성과 동기화
- 읽기 전용
지금 운영 중인 시스템 기준입니다. 체험 화면의 이름과 수치는 예시입니다.