Admin APIMeta Marketing Insights
GET /ai/business/meta/insights
Meta 광고 계정 전체 인사이트 조회 (ADMIN · 기업 회원 공통)
계정 전체 인사이트 조회
광고 계정 전체의 성과 지표를 조회합니다. level 파라미터로 캠페인/광고세트/광고 단위 집계가 가능합니다.
Glowb Business Manager의 System User Token으로 자사 광고 계정에 접근합니다.
production 환경에서 매시간 두 번 (:10 active batch — 최근 90일 일별 인사이트 갱신, :30 inactive backfill — PAUSED 캠페인 lifetime 보강) 이 5개 광고계정(글로우비/디웨더/리빙/Supera/건식건기식) 의 트리·일별 인사이트를 TB_META_OBJECT_SNAPSHOT / TB_META_INSIGHT_DAILY 에 적재하며 광고 cover 이미지도 함께 S3 백업합니다. 응답은 DB-first. 요청 기간이 적재 범위(최근 90일)를 벗어나면 Meta API 로 자동 fallback 후 DB upsert.
권한
| 사용자 | 동작 |
|---|---|
| ADMIN | 자유롭게 호출 (meta.insights.ad-account-id 설정 광고계정 1개 기준 집계) |
| 기업 회원 | 인증만 통과하면 호출 가능. 단, 이 endpoint 는 광고계정 전체 응답이므로 일반 기업 회원에겐 의미 없는 데이터. 본인 캠페인 단위 조회는 /campaigns/{id}/insights 권장 |
HTTP 요청
GET /ai/business/meta/insights
Authorization: Bearer {access_token}Query Parameters
| 파라미터 | 기본값 | 설명 |
|---|---|---|
level | campaign | 집계 단위: campaign | adset | ad |
datePreset | lifetime | 기간 프리셋 (since/until 미사용 시). 허용: today, yesterday, last_7d, last_14d, last_30d, last_90d, this_month, last_month, lifetime (적재된 전체 기간 — since/until 무관, 일자 제한 없음) |
since | - | 시작일 YYYY-MM-DD. 지정 시 datePreset 무시 |
until | - | 종료일 YYYY-MM-DD |
timeIncrement | - | 시간 분리: 1(일별) | 7(주별) | monthly (미지정 시 기간 합산) |
attributionWindows | 7d_click | 기여 기간 (쉼표로 다중 선택) |
datePreset 옵션
today | yesterday | last_7d | last_14d | last_30d | last_90d | this_month | last_month | lifetime (적재된 전체 기간, 일자 제한 없음)
attributionWindows 옵션
1d_click | 7d_click | 28d_click | 1d_view | 7d_view
응답
성공 응답 (200 OK)
{
"status": 200,
"code": null,
"message": "계정 인사이트 조회 완료",
"data": [
{
"campaignId": "120243507818540347",
"campaignName": "봄 시즌 프로모션",
"adsetId": null,
"adsetName": null,
"adId": null,
"adName": null,
"impressions": "44024",
"reach": "25111",
"clicks": "2882",
"spend": "184585",
"ctr": "6.546429",
"cpc": "64.047536",
"cpm": "4192.82664",
"frequency": "1.753176",
"actions": [
{ "actionType": "purchase", "value": "2", "value1dClick": null, "value7dClick": "2", "value28dClick": null, "value1dView": null, "value7dView": null },
{ "actionType": "link_click", "value": "821", "value1dClick": null, "value7dClick": null, "value28dClick": null, "value1dView": null, "value7dView": null },
{ "actionType": "video_view", "value": "13198", "value1dClick": null, "value7dClick": null, "value28dClick": null, "value1dView": null, "value7dView": null }
],
"costPerActionType": [
{ "actionType": "purchase", "value": "92292.5", "value1dClick": null, "value7dClick": "92292.5", "value28dClick": null, "value1dView": null, "value7dView": null },
{ "actionType": "link_click", "value": "224.829476", "value1dClick": null, "value7dClick": null, "value28dClick": null, "value1dView": null, "value7dView": null }
],
"dateStart": "2026-03-30",
"dateStop": "2026-04-05"
}
]
}응답 필드 설명
| 필드 | 설명 |
|---|---|
impressions | 노출수 |
reach | 도달 사용자 수 (중복 제거) |
clicks | 클릭수 |
spend | 지출 금액 |
ctr | 클릭률 (clicks / impressions × 100) |
cpc | 클릭당 비용 |
cpm | 1,000 노출당 비용 |
frequency | 1인당 평균 노출 횟수 |
actions | 전환/행동 배열 (action_type + value) |
costPerActionType | 행동당 비용 배열 |
actions 주요 action_type
| action_type | 설명 |
|---|---|
purchase | 구매 |
link_click | 링크 클릭 |
landing_page_view | 랜딩페이지 조회 |
add_to_cart | 장바구니 추가 |
initiate_checkout | 체크아웃 시작 |
add_payment_info | 결제 정보 입력 |
lead | 리드 수집 |
video_view | 영상 조회 |
page_engagement | 페이지 참여 |
post_engagement | 게시물 참여 |
에러 응답
| 상태 코드 | 설명 |
|---|---|
401 | 인증 실패 (토큰 누락/만료) |
500 | DB miss → on-demand Meta API fallback 중 응답 파싱·upsert 실패. 다른 datePreset 으로 재시도하거나 lifetime 사용 권장 |
필수 권한 (Meta App Review)
아래 권한이 Meta 앱에 부여되어 있어야 합니다.
| 권한 | 설명 |
|---|---|
ads_read | 광고 인사이트 조회 |
ads_management | 광고 계정 접근 |
business_management | Business Manager 접근 |
pages_read_engagement | 페이지 참여 데이터 |
pages_show_list | 페이지 목록 |
public_profile | 기본 프로필 |
| Ads Management Standard Access | 앱 검수 후 획득 필요 |