2021-03-10 11:35:20
저희 블로그에서는 gatsby-meta-config.js 파일의 ga 변수를 통해 아주 간단하게 구글 애널리틱스와 연동할 수 있습니다.
이렇게 연동을 하면 구글 애널리틱스에 접속하여 해당 사이트의 접속자수, 세션수, 접속자 접속 시간, 사이트 유입 검색어 등등의 유용한 데이터들을 시각적으로 확인할 수 있습니다.
아… 하지만, 이 얼마나 불편한 일입니까? 이 사이트의 통계를 다른 사이트를 접속하여 확인을 하여야 한다는 점이 말이죠.
그래서 저는 저의 블로그에 통계 수치를 확인할 수 있는 관리자 페이지를 만들기로 결심했습니다. 🧐🧐🧐🧐🧐
관리자 페이지를 구축하기에 앞서, 당연히 주축 서비스가 될 통계데이터를 API를 통해서 가져와야 할것입니다. 무조건 있을겁니다. 그런 Open API는. (아니면 제가 직접 만들어야합니다.) 확고한 믿음으로 검색한 결과,
구글 애널리틱스에서 구글 애널리틱스 리포트라는 Open API를 제공하는 것을 확인하였습니다. 개발자에겐 아주 편리한 세상입니다. 너무 좋습니다.
저는 이 블로그에 Google Analytics Reporting API V4 라는 Open API를 도입하여 관리자페이지에서 이 블로그에 대한 유용한 통계치를 제공하기로 결심했습니다.
문제점1 (API연동 에러)
<head>
태그에 있는 <script>
호출을 통해 가져오며, 이 라이브러리를 호출하는 간단한 샘플 소스였습니다. 분명히.<HTML>
이라는 컴포넌트를 export 하는 구조에서는 <script>
태그가 페이지 로딩보다 먼저 선언되지 않는 방식인 것을 여러 시간의 삽질끝에야 알았습니다. 😢<HTML>
태그의 <head>
안에 있는 <script>
가 로딩되지 않은 채로 함수를 호출하려 했으니 말이죠.문제점2 (권한획득 난해함)
react-google-login
라는 npm 모듈을 이용하였습니다. 구글 로그인 버튼을 두고, 해당 모듈을 호출하여 로그인과정을 통해 구글계정권한을 캐쉬에 두고, 이 권한을 이용하여 구글 애널리틱스 API 호출이 가능하게끔 하는 구조이죠. 자 이러이러한 시행착오들 끝에 드디어 API 연동을 성공한 화면입니다.
네, 잘 안보이시겠지만, 제 블로그에 접속한 사용자들의 수를 Google Analytics 사이트에서 JSON 형태로 가져오는 화면입니다.
이 소중한 데이터들을 저는 데이터 시각화 기법을 통해, 블로그를 운영할 사용자들에게 예쁘게 표현해줄 예정입니다.
별거 없어 보이지만, 서비스 구현에 앞서 핵심 서비스의 중요 기능을 구현해보는 것은 아주 중요한 일입니다.(생각해보니 너무 당연한 말이네요)아무튼 잘됬군요.
다음 게시글에서는 저 소중한 데이터를 예쁘게 꾸며보는 과정을 여러분에게 보여드리겠습니다.