핵심 개념
allob 을 쓰면서 계속 나오는 용어를 정리했어요. 한 번 읽어 두면 나머지 페이지와 에이전트의 설명을 따라가기 쉬워요.
계정과 제품
계정은 사업 하나예요. 이메일과 메일로 받는 코드로 로그인하고, 계정을 만든 사람이 소유자가 돼요.
계정이 여러 개면 화면 왼쪽 메뉴 아래에서 지금 볼 계정을 골라요. 계정 이름·주소 이름 바꾸기는 메뉴의 계정 설정에서 해요.
계정 삭제는 소유자만 할 수 있어요. 웹 화면의 계정 설정 › 계정 삭제나 allob 폰 앱의 전체 › 계정 삭제에서 주소 이름을 입력하고 삭제해요. 폰 앱에서는 Face ID·지문이나 폰 잠금으로 한 번 더 확인하고, 폰 잠금도 없는 폰은 메일로 받은 확인 코드를 입력해요. 제품·연결·기록·키·서류가 모두 삭제되고 되돌릴 수 없어요. 다른 계정이 없으면 로그인 기록도 함께 삭제돼요. 에이전트는 계정을 삭제할 수 없어요.
소유자가 아니어도 탈퇴할 수 있어요. 웹 화면의 계정 설정 › allob 탈퇴나 폰 앱의 전체 › 탈퇴하기를 누르면 속한 모든 계정에서 빠지고 로그인 기록(이메일·로그인한 기기·알림 받는 기기·물어보기 대화)이 삭제돼요. 소유한 계정이 있으면 먼저 그 계정을 삭제해야 해요. 로그인하지 않고 삭제 방법을 보려면 계정 삭제 안내를 열어요.
제품은 계정 안의 앱이나 웹사이트 하나예요. 일기 앱과 사진 앱을 같이 운영한다면 계정 하나에 제품 두 개를 만들어요. 이벤트·릴리스·지표·연결은 모두 제품별로 따로 쌓여요.
제품마다 플랫폼을 하나 이상 골라요. 웹·iOS·Android·macOS 중 제품이 돌아가는 곳이에요. 같은 일기 서비스가 웹과 앱으로 있으면 제품 하나에 플랫폼 셋(웹·iOS·Android)이에요. 플랫폼에 따라 첫 이벤트 스키마가 정해져요. 받을 SDK(웹·앱·서버)는 코드 폴더를 보고 정하고, 폴더에서 알 수 있는 게 없을 때만 플랫폼을 따라요.
코드 폴더는 제품 하나와 연결해요. 폴더에서 allob folder link <제품> 을 실행하면 allob.json 파일이 생기고, 그 폴더와 하위 폴더에서 실행하는 allob 명령은 모두 그 제품을 대상으로 해요. allob.json 에는 비밀 값이 없어서 저장소에 커밋해도 괜찮아요.
{
"version": 2,
"account": "my-studio",
"product": "diary",
"sdk": { "web": "web/src/allob", "server": "server/src/allob", "app": "app/src/allob" }
}| 필드 | 뜻 |
|---|---|
account·product | 연결한 계정과 제품 |
sdk | SDK 를 받을 폴더. web(웹 SDK)·server(서버 코드)·app(앱 SDK)·native(앱 측정 모듈 — 광고·분석 도구 붙이기, 다른 대상과 다른 폴더) 중 쓰는 것만 적어요. 경로는 allob.json 이 있는 폴더 기준이에요 |
proxy | 선택. 이미 설치된 옛 앱 버전이 아직 내 서버의 이 경로(예: /api/e)로 보낼 때만 써요. server.ts 에 넘기는 함수가 들어가요. 웹 페이지와 새 앱 빌드는 늘 allob 으로 바로 보내요. 이미 설치된 옛 앱 버전 참고 |
사업 가이드와 할 일
사업자 등록부터 스토어 계정·결제·출시·광고·세금까지의 절차는 사업 가이드에 단계별로 있어요. 사업마다 해야 할 일이 달라서(앱만 파는지, 웹에서 직접 결제받는지, 광고를 하는지) 화면에서 따라가지 않고, 내 경우에 해당하는 것만 골라 해요. 가이드 페이지마다 있는 프롬프트를 코딩 에이전트에 붙여 넣으면 해당하는지부터 같이 봐요.
에이전트는 같은 할 일 목록을 CLI 로 다뤄요. allob path view 로 다음 할 일을, allob step view <id> 로 안내를 보고, allob step done·allob step answer·allob step skip 으로 적어요. allob 이 직접 확인할 수 있는 할 일(이벤트가 들어왔나, 폴더를 연결했나)은 allob 이 확인한 뒤에만 끝나요. 에이전트가 적은 것은 누가 어느 기기에서 적었는지 기록에 남아요(allob path log).
되돌리기 어려운 답(과세 유형, 개발자 계정 유형처럼)과 제품 주소는 사람이 확인해요. 누가 명령을 보내든 바로 적히지 않고 확인 요청이 돼요. 알림을 켜 뒀다면 폰으로 오고, 명령이 보여 주는 링크나 금고의 승인을 기다리는 요청에서도 열려요. 내용을 보고 승인하면 그때 적혀요. 기다리는 것은 allob approval list 로 봐요. 에이전트는 링크를 보여 준 뒤 작업을 멈추지 않고 allob approval wait <요청 ID>(MCP 는 wait_approval)로 내 답을 기다렸다가, 승인되면 바로 다음 일로 넘어가요. 20분이 지나도 답이 없으면 기다리기를 멈추고 알려 줘요 — 승인한 뒤 "계속해"라고 말하면 이어서 해요.
내 사업 화면에는 사업자 정보와 등록 서류(사업자등록증명·통신판매업 신고증 등)를 둬요. 등록 서류는 키·서류에 들어가요. 이 브라우저에서 암호화해서 allob 도 열어 볼 수 없고, 에이전트가 꺼낼 때마다 확인해요. 내가 볼 때는 서류 옆 보기를 누르고 PIN·패스키로 확인하면 이 브라우저에서 열어 저장할 수 있어요.
이벤트
이벤트는 사용자가 한 행동 하나예요. "일기를 썼다", "결제 화면을 봤다", "결제했다"가 각각 이벤트예요. 이벤트에는 속성을 붙일 수 있어요. 예를 들어 결제 이벤트에 어떤 요금제였는지(월간·연간)를 함께 기록해요.
사람 수는 기기로 세요. 같은 사람이 휴대폰과 노트북으로 들어오면 두 명으로 세요.
몇 가지 이벤트는 따로 정의하지 않아도 항상 쓸 수 있어요. 이것을 표준 이벤트라고 해요. 광고를 보고 들어온 순간(ad_land), 가입(signup_complete), 결제(purchase) 등이 있어요. 전체 목록은 스키마 레퍼런스에 있어요.
스키마와 SDK
스키마는 제품이 보내는 이벤트와 속성, 퍼널을 적은 JSON 파일(allob.schema.json, allob.json 옆)이에요. 스키마를 올릴 때마다 버전이 하나씩 올라가요.
SDK 는 스키마로 만든 측정 코드예요. allob sdk pull 을 실행하면 스키마에 적은 이벤트마다 함수가 생겨요. 스키마에 없는 이벤트나 정해지지 않은 값을 보내려고 하면 코드를 실행하기 전에 에러로 알려 줘요.
- allob.schema.json 고치기
- allob schema push
- allob sdk pull
- 코드에서 이벤트 보내기
SDK 는 세 종류예요.
| SDK | 어디에 쓰나 | allob.json sdk | 가이드 |
|---|---|---|---|
| 웹 SDK | 웹사이트, 웹앱 | web | 웹사이트에 측정 넣기 |
| 앱 SDK | React Native·Expo 앱, 웹뷰 앱 | app | 앱에 측정 넣기 |
| 서버 SDK | 결제 알림을 받는 서버 | server | 결제 기록하기 |
퍼널과 리텐션
퍼널은 사용자가 순서대로 거치는 흐름이에요. "일기 쓰기 → 결제 화면 → 결제 시작 → 결제"처럼요. 각 단계에 몇 명이 도착했는지 보면 어디서 가장 많이 떠나는지 알 수 있어요.
리텐션은 처음 방문한 사람이 며칠 뒤에 다시 방문했는지의 비율이에요. allob 은 1일·7일·14일·30일 뒤 다시 방문한 비율을 보여 줘요.
릴리스와 마케팅 변경
숫자가 바뀌었을 때 원인을 찾으려면 무엇을 언제 바꿨는지 알아야 해요. allob 은 두 가지를 기록해요.
| 기록 | 언제 | 예시 |
|---|---|---|
| 릴리스 | 사용자가 보는 배포를 했을 때 | 새 결제 화면, 버그 수정 |
| 마케팅 변경 | 광고·게시물·할인·스토어 정보를 바꿨을 때 | 광고 예산 2배, 인스타그램 릴스 게시 |
두 기록은 지표 그래프 위에 점으로 표시돼요. 점을 누르면 그 전후 같은 기간의 숫자를 비교해 줘요. 자세한 내용은 릴리스와 마케팅 변경에 있어요.
연결
연결은 App Store Connect, Google Play, RevenueCat, Google Analytics 같은 외부 서비스 계정을 allob 에 연결해 두는 거예요. 앱 스토어나 결제 서비스 키를 allob 에 한 번 넣어 두면 제품마다 어떤 앱을 쓸지 고를 수 있어요. 키는 넣을 때 실제로 동작하는지 확인하고 암호화해서 저장해요. 자세한 내용은 외부 서비스 연결하기에 있어요.