기본적으로 로그에 대한 트랙킹은 유저에 대한 행동패턴을 분석하기 위함이다.

https://developer.matomo.org/guides/tracking-javascript-guide#user-id

위의 matomo docs를 참고하여 정리하였다.

User ID Tracking


본론으로 들어가기 전에 userId를 트랙킹한는 방법은 크게 두가지가 있을 수 있다.

  1. 이벤트 발생이 user의 id 반황
  2. 로그인이 완료된 시점부터 로그아웃 시점가지 유저 아이디를 부여 및 추척

초기(1번)

1번과 같은 방법을 가장 먼저 생각하였다. matomo의 기능을 잘 숙지하지 않은 상태에서 생각할 수 있는 가장 간단한 방법으로 _paq.push를 통해서 관련 이벤트를 정의한후 front에서 상태 변수를 넣어주면 되기 때문이다.

위 문제의 단점은 소스코드를 더 많이 손봐야 한다는 점에 있다. 모든 이벤트마다 동적으로 변수를 부여하기에는 활용성이 너무 떨어진다.

→ 심지어 dev와 prod가 구분되는 상황에서 무턱대고 prod에만 필요한 코드를 넣었다 뺐다 하는 것은 너무 번거롭다.

최종(2번)

다음 원칙에 근거하여 head에 로그인이 완료되는 시점에서 유저의 상태를 추척하기로 했다.

  1. 소스코드를 일일이 수정하는 번거로움을 줄이자!

    _paq.push(['setUserId', 'USER_ID_HERE']);
    

    위의 코드를 삽입하여 사용자에 대한 정보를 넣을 수 있다.

  2. 유저를 타겟으로 하는 데이터를 동적으로 세팅한다.

    이벤트가 발생하는 지점에서 push함수를 실행하여, category, action에 해당하는 값을 전달한다.

    → matomo에서 제공하는 기능을 이용하면 userId에 따라서 사용자의 행동을 추적할 수 있다.