Admin APIMeta Marketing Insights
GET /ai/business/meta/adsets/{adsetId}/insights
Meta 특정 광고세트 인사이트 조회 (ADMIN · 기업 회원 공통)
광고세트 인사이트 조회
특정 광고세트의 성과 지표를 조회합니다. level=ad로 하위 광고 단위로 집계도 가능합니다.
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 | 모든 광고세트 조회 가능 |
| 기업 회원 | 본인 매핑 캠페인 (Collab O ∪ Business X) 산하 광고세트만 조회 가능. 그 외 403 FORBIDDEN |
HTTP 요청
GET /ai/business/meta/adsets/{adsetId}/insights
Authorization: Bearer {access_token}Path Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
adsetId | String | 예 | 광고세트 ID |
Query Parameters
| 파라미터 | 기본값 | 설명 |
|---|---|---|
level | adset | 집계 단위: campaign | adset | ad |
datePreset | lifetime | 기간 프리셋. 허용: 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 | 기여 기간: 1d_click | 7d_click | 28d_click | 1d_view | 7d_view |
응답
성공 응답 (200 OK)
{
"status": 200,
"code": null,
"message": "광고세트 인사이트 조회 완료",
"data": [
{
"campaignId": "123456789",
"campaignName": "봄 시즌 프로모션",
"adsetId": "987654321",
"adsetName": "Female 20-35 Seoul",
"impressions": "80000",
"reach": "65000",
"clicks": "1800",
"spend": "250000",
"ctr": "2.25",
"cpc": "138.888",
"cpm": "3125",
"frequency": "1.230769",
"actions": [
{ "actionType": "purchase", "value": "5", "value1dClick": null, "value7dClick": "5", "value28dClick": null, "value1dView": null, "value7dView": null },
{ "actionType": "link_click", "value": "1800", "value1dClick": null, "value7dClick": null, "value28dClick": null, "value1dView": null, "value7dView": null },
{ "actionType": "video_view", "value": "20000", "value1dClick": null, "value7dClick": null, "value28dClick": null, "value1dView": null, "value7dView": null }
],
"costPerActionType": [
{ "actionType": "purchase", "value": "50000", "value1dClick": null, "value7dClick": "50000", "value28dClick": null, "value1dView": null, "value7dView": null },
{ "actionType": "link_click", "value": "138.888", "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 | 인증 실패 |
403 | 본인 캠페인 산하 광고세트가 아님 |
500 | DB miss → on-demand Meta API fallback 중 실패. 다른 datePreset 으로 재시도하거나 lifetime / since + until 사용 권장 |