brunch

You can make anything
by writing

C.S.Lewis

by 핑크곰 Oct 22. 2020

유튜브 API - 16. Analytics API

유튜브 Analytics API

지금까지 유튜브 API를 사용하기 위한 배경과 사용할 때의 유의점을 살펴봤다. 그리고 가장 기본이 되는 YouTube Data API를 사용해서 다양한 실습도 진행해 봤다.


혹, 유튜브 API를 검색해서 들어온 독자분들 중 기초내용을 알고 싶은 분들이라면 본글 하단에 있는 북마크 글들을 먼저 보고 나서 이 글을 읽는 것을 추천드린다.


늘 그랬듯 '시작하기' 글에서는 개요 수준에서 API를 살펴보고 구체적인 내용은 기능별 실습을 포함하여 추가로 작성할 예정이다. 자, 그럼 지금부터 유튜브의 다양한 분석 데이터를 제공하는 YouTube Analytics API를 살펴보자. (다시 긴 여정이 시작되고 있다 -0-;)



시작에 앞서, 유튜브 API의 구성을 다시 한번 살펴보자. 일전에 말한 것처럼 API는 크게 세 가지로 구분된다.


1. YouTube Data API

2. YouTube Analytics API

3. YouTube Live Streaming API


앞선 15개의 글에서는 유튜브의 기본 기능을 다루는 Data API에서 다뤘고, 본글에서는 2번에 해당하는 Analytics API를 살펴보려 하고 있다. 사실, Analytics API라고 되어있지만, 개발자 사이트에 들어가 보면 Reporting API와 Analytics API로 구분되어있다. 두 API 모두 분석 데이터를 검색할 수 있고 채널 또는 콘텐츠 소유자 수준의 보고서에 액세스 할 수도 있다. 



언제 사용할까?


가장 대표적인 경우가 수익 데이터가 필요할 때다. 채널 혹은 업로드한 특정 동영상의 수익을 조회하고 싶을 때, Data API로는 불가능하기 때문에 YouTube Analytics API를 사용해야 한다.


추가로, 오늘 하루 동안 채널에서 조회수가 가장 높았던 동영상 10개를 조회해야 한다고 가정해 보자. 이를 Data API로 작성하기란 여간 번거로운 일이 아니다. 채널에 속한 모든 동영상의 어제자 조회수를 조회하고 다시 오늘 기준의 조회수를 조회해서 계산을 해야 한다. 프로그래밍은 차치하고 모든 동영상을 조회할 때 들어가는 할당량은 답이 없다;;;


YouTube Analytics API는 다양한 분석 데이터의 포맷을 일종의 템플릿처럼 만들어 놓고 제공한다. 이를 보고서(Report)라고 부른다. 가령 '사용자 활동보고서'는 일자별 채널 또는 콘텐츠 소유자의 총 조회수, 댓글수, 좋아요수 등을 볼 수 있는 보고서이며, '예상 수익 보고서'는 콘텐츠의 총 예상수익 등을 제공한다. 


물론 보고서별로 조회하고자 하는 항목을 Data API와 동일하게 dimension과 metric, filter를 활용하여 선택할 수 있다.



dimension은 사용자 활동을 날짜 또는 국가와 같은 기준으로 묶어서 측정한 값(일종의 group by 역할)

metric은 사용자 활동(조회수, 좋아요/싫어요 수 등), 광고 실적, 추정 매출액 같은 값을 개별로 측정한 값 




Analytics API와 Reporting API의 차이점은?
각각 어떤 상황에서 사용하나?


서두에서 밝혔듯 YouTube Analytics API는 Reporting API와 Analytics API로 구분된다. 유튜브 개발자 가이드 사이트는 Bulk Reports(Reporting API)와 Targeted Queries(Analytics API)로 메뉴에 표시가 되어있는데 두 API의 특징을 가장 잘 표현한 단어인 듯하다.


다양한 보고서에서 실시간으로 원하는 값만 찾아서 보고 싶을 땐 Analytics API를, 대량의 데이터를 모아서 보고 싶을 때는 Reporting API를 사용한다. 구체적으로 아래와 같은 차이점이 있다. 


- Reporting API
 > 채널 또는 콘텐츠 소유자의 대용량의 분석 데이터를 검색해야 하는 경우 사용
 > 대용량의 데이터를 조회해서 내부적으로 데이터 마이닝하려는 용도로 사용
 > 데이터에는 기 정의된 필드 집합이 포함됨
 > 보고서 데이터를 보기 위해서는 미리 생성을 예약(스케줄링)해야 함
 > 생성된 데이터는 비동기적으로 다운로드해서 봐야 하고 데이터는 24시간 기준임
 > 유튜브 내부에서 시스템 관리 보고서를 자동으로 생성함(유튜브 스튜디오에서 볼 수 있음)
 > 자동으로 생성된 시스템 관리 보고서 역시 다운로드하여 볼 수 있으며, 광고 수익 데이터가 포함되어 있음


-  Analytics API
 > 실시간으로 분석 보고서를 생성하고 봐야 하는 경우 사용
 > 필터링, 정렬 지원
 > 검색하는 날짜 범위(주별, 월별 등)를 지정(때문에 조회 후 내부에서 날짜 범위 별로 계산할 필요가 없음)


그밖에, API 간 혼동을 막기 위해 Analytics API는 Camel 방식을, Reporting API는 밑줄을 사용한다.(고 가이드에 나와있으나 필자가 사용하는 Node SDK에는 차이가 없더라;;;)


지금은 잘 와 닿지 않는 게 정상이다. (피.. 필자는 그랬다. 그놈이 그놈 같은... -0 -;) 실제 API를 작성해서 결과를 보면 아~ 이래서 다르구나 이해할 수 있을게다. 




어떤 보고서를 API를 통해서 조회할 수 있는가?


- video 보고서
 > 채널, 콘텐츠 소유자 데이터를 볼 수 있음(Analytics, Reporting)
 > 채널이나 콘텐츠 소유자와 관련된 동영상에 대한 사용자 활동 통계 데이터(조회수, 좋아요/싫어요 수 등)
 > Analytics API는 콘텐츠 소유자 관련 동영상 데이터의 예상 수익, 광고 실적 통계도 포함됨


- playlist 보고서
 > 채널, 콘텐츠 소유자 데이터를 볼 수 있음(Analytics, Reporting)
 > playlist에 포함된 영상 조회수와 관련된 통계 데이터
 > Reporting API에는 잠재고객 보유 데이터 제공함


- 광고 실적 보고서
 > 콘텐츠 소유자 데이터를 볼 수 있음(Analytics, Reporting)
 > 동영상 재생 중에 실행된 광고에 대한 노출 기반 측정 항목 제공


- 예상 수익 보고서
 > 콘텐츠 소유자 데이터를 볼 수 있음(Reporting)
 > 구글에서 판매 한 광고 소스 및 비 광고 소스의 총 예상 수익 제공
 > 일부 광고 실적 통계도 포함됨
 > 실제 수익은 시스템 관리 보고서에 있음


- 자산 보고서
 > 콘텐츠 소유자 데이터를 볼 수 있음(Reporting)
 > 콘텐츠 소유자에 연결되어있는 동영상에 대한 사용자 활동 통계 데이터 제공
 > 다른 유튜버가 올린 영상에 대한 저작권이 콘텐츠 소유자에게 있을 경우, 해당 영상 데이터 제공


- 시스템 관리 보고서
 > 콘텐츠 소유자 데이터를 볼 수 있음(Reporting)
 > Youtube 스튜디오의 보고서 메뉴에서 제공하는 데이터 제공
 > 자산 및 동영상으로 얻은 실제 수익 데이터 제공
 > 소유권이 주장된 동영상과 일치하는 저작물 데이터 제공



 

지금까지 YouTube Analytics API에 대해서 개략적으로 알아봤다. 다음 글에서는 대량의 데이터를 조회할 수 있는 Reporting API를 실제로 동작시켜 보고 결과를 확인해 볼 예정이다. 

이전 10화 유튜브 API - 11. Search
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari