GET /v1/monitors/{id}/analytics(레퍼런스)는 모니터 리포트의 모든
숫자를 하나의 답변 집합에서 반환합니다. 기간 하나, 필터 세트 하나, 그리고 비교용으로 그 직전의 같은 길이 기간입니다.
직접 만드는 리포트의 모든 패널을 이 엔드포인트로 구성하고, 숫자보다 quality를 먼저 읽으세요. 리포트 조회에는 비용이
들지 않습니다.
쿼리 파라미터
기간은 반개구간이며 UTC 기준입니다.
since는 포함하고 until은 제외합니다. 이전 기간은 길이가 정확히 같고, since에서
끝나며, 같은 필터를 쓰므로 모든 비교는 같은 조건끼리입니다. 각 파라미터는 한 번만 보내세요.
예시
ChatGPT에 프롬프트 두 개를 하루 한 번samples: 5로 묻는(하루 답변 10개) 브랜드 모니터를 ChatGPT로 거르고 이틀
기간으로 조회하면 다음을 반환합니다.
quality.lowSample이 true이므로 이 변화는 추세가 아니라 확인할 신호로 다루세요.
응답 섹션
비율 객체
stats, previous, 각 engineRates와 series 항목, 각 프롬프트와 각 셀은 같은 필드를 가집니다.
셀
셀은 한 엔진에서의 프롬프트 하나입니다. 비율 객체와previous 외에 다음을 가집니다.
해당하는 답변이 없으면 각 id는
null입니다.
GET /v1/monitors/{id}/answers/{taskId}로 여세요.
브랜드와 보이스 점유율
brands의 각 항목에는 name, mentions, sampleSize, mentionRate, shareOfVoice, previousMentionRate,
previousShareOfVoice, configured(기간 안에 언급됐지만 더 이상 모니터에 없는 브랜드는 false)가 있습니다.
숫자의 의미
GET /v1/monitors/capabilities가 이 정의를 metrics로 반환하므로 클라이언트가 숫자 옆에 표시할 수 있습니다.
- **
mentionRate**는 기간, 엔진, 일자, 셀마다100 × mentioned / 채점된 답변입니다. 엔진별 평균이 아니라 답변 수로 가중하므로, 바쁜 엔진이 한가한 엔진에 묻히지 않습니다. - **
citationRate**는 내 도메인 중 하나를 인용한 답변을 같은 방식으로 셉니다. 도메인이 없으면 인용 추적이 꺼져 있으므로 항상 0입니다. - 브랜드 비율은 자기
sampleSize로 나눕니다. 내 브랜드는 채점된 모든 답변이고, 경쟁사는 모니터에 등록되어 있던 동안 채점된 답변뿐이므로 오늘 추가한 경쟁사는 오늘부터 측정됩니다. 기간 안의 일부 답변이 채점 맥락 저장 이전에 채점됐다면 무엇과 비교했는지 알 수 없으므로 경쟁사의mentionRate는null입니다. - **
shareOfVoice**는 기간 안에서100 × 그 브랜드의 언급 수 / 추적 중인 모든 브랜드 언급 수이므로 한 기간의 점유율을 더하면 100입니다(분모는quality.trackedBrandMentions). 이 프롬프트로 수집한 답변 안에서 브랜드를 비교하는 값이며, 시장 점유율도 가시성 순위도 아닙니다. - **
competitorOnly**와opportunities는 내 브랜드 없이 경쟁사를 언급한 답변을 셉니다. 실제로 대응할 수 있는 격차입니다. null은 0이 아닙니다. 나눌 답변이 없으면 비율은null입니다. 0은 답변이 있었지만 하나도 일치하지 않았다는 뜻입니다.- 텍스트 없는 답변은 언급 없음으로 셉니다. 답변 없이 완료된 태스크는 분모에 남고,
quality.noAnswerObservations가 그 수를 셉니다. 실패한 태스크는 모든 비율에서 빠지고health에만 나타납니다. 고장 난 엔진은 부재로 나타나지 않고 표본을 줄입니다. - 채점된 답변의 **
position**은 내 브랜드가 처음 일치한 곳의 문자 오프셋입니다. 순위가 아니라 노출 정도의 대리 지표입니다. 브랜드가 없으면null입니다.
변화량을 보류하는 경우
두 기간을 비교할 수 없으면changes, 각 셀의 mentionRateChangePp, 각 브랜드의 previousMentionRate와
previousShareOfVoice는 null이고 quality.comparable은 false입니다. 이유는 quality.comparisonReason에 있습니다.
모든 답변은 채점 당시의 정의를 유지하며,
quality.scoringVersions는 두 기간에 걸친 서로 다른 정의를 나열합니다(정의가
없는 답변은 legacy). 별칭이나 경쟁사를 바꿔도 과거 답변은 다시 쓰이지 않습니다. 유일한 예외는 주간 경쟁사 분석입니다.
찾아낸 경쟁사가 바뀌면 모니터에 저장된 답변을 새 목록으로 다시 채점합니다.
품질
실행 상태
health에는 진행 중이거나 최근 24시간 안에 끝난 모니터 태스크의 completed, failed, pending, topError(실패한
태스크 중 가장 흔한 오류 코드)가 있습니다. healthScope는 항상 recent_visible_tasks입니다. 기간과 무관한 실행 진단이며
비율의 분모에 들어가지 않습니다.
실행 중 폴링하기
모든 호출은 해당 기간과 필터의 전체 리포트를 반환합니다. 실행이 진행 중일 때는health.pending이 아직 실행 중인
태스크 수를 셉니다. 0이 되면 리포트를 다시 읽으세요.
카테고리 리포트
카테고리 모니터는 같은 엔드포인트에서 다른 본문을 반환하며,window, filters,
quality, pauses, health는 같습니다.
stats와previous는runs,named(추적 브랜드를 하나 이상 언급한 답변),namedRate를 담습니다.changes.namedRatePp는 포인트 변화량입니다.category가 순위를 담습니다.
예를 들어
category.brands 항목 하나는 다음과 같습니다.
- **
rank**는 브랜드를 언급한 답변 수로 순서를 매깁니다. 어느 답변도 언급하지 않은 브랜드는rank: null입니다. - **
mentionRate**는 브랜드 자체의sampleSize, 즉 브랜드가 목록에 있는 동안 채점된 답변으로 나눕니다. - **
shareOfVoice**는 기간 안에서100 × 그 브랜드의 언급 수 / 모든 브랜드 언급 수이므로 점유율을 더하면 100입니다.
오류와 한도
- 기간은 최대 90일입니다.
- 잘못된 파라미터는 문제를 알려 주는 메시지와 함께
400 VALIDATION_ERROR를 반환합니다:since나until과 함께 쓴days,since와until중 하나만 보냄, 시간대 없는 시각, 90일을 넘는 기간, 미래의until, 모니터할 수 없는 엔진, 2,000자를 넘는 프롬프트, 반복된 파라미터. - 집계하기에 너무 큰 리포트는 “This report is too large”와 함께
400 VALIDATION_ERROR를 반환합니다. 기간, 엔진, 프롬프트를 좁히세요.
다음 단계
출처와 답변
인용된 페이지와 각 숫자 뒤의 답변.
이벤트와 알림
답변이 바뀌면 알림을 받습니다.