Amplitude

자주 묻는 질문

앰플리튜드에서 1개의 유저 프로필에 과도하게 많은 Device ID가 병합(merge)되어 있습니다.

유저∙코호트데이터

질문

앰플리튜드에서 1개의 유저 프로필에 과도하게 많은 Device ID가 merge되어 있습니다. 한 명의 유저가 수많은 디바이스를 실사용하지는 않을 것 같은데, 이런 현상에 대한 예상 원인이 있나요?

답변

앰플리튜드 유저 프로필에 과도하게 많은 Device ID(일반적으로 50개 이상) 수가 관찰되는 경우, 아래 원인을 우선적으로 확인해볼 수 있습니다.

웹 환경의 유저가 cookie 및 local storage/ session storage를 비활성화하면 앰플리튜드는 기존 Device ID를 찾을 수 없기 때문에 유저가 웹사이트를 방문할 때마다 해당 유저에 대한 새로운 Device ID를 생성합니다.

예상 원인 2. 웹 프로덕트의 경우: 유저가 다양한 브라우저 종류 또는 시크릿 브라우저를 사용

웹 환경에서, 유저가 다양한 브라우저(예: 사파리, 크롬, 웨일, 카카오인앱브라우저, 페이스북인앱브라우저 등)를 사용했을 수 있습니다. 이 경우 웹 환경에서의 Device ID(Cookid ID)는 브라우저별 서로 다른 값으로 생성됩니다. 또한 유저가 시크릿 브라우저를 사용하면 브라우저 쿠키를 참조할 수 없어 앰플리튜드 SDK가 새로운 Device ID를 생성하게 됩니다.

예상 원인 3. Server-to-Server(S2S) 이벤트 전송 시 오류

백엔드에서 서버투서버 이벤트를 전송할 때 Device ID를 수동으로 입력해야 하는데, 이 과정에서 오류가 발생할 수 있습니다. 서버투서버로 전송한 이벤트에 한해 다른 Device ID가 관찰된다면, 이 원인이 유력합니다.

예상 원인 4. 유저 로그아웃 시 reset() 을 호출하는 경우

유저가 로그아웃을 하는 시점에 reset() 함수를 호출하면, 해당 함수에 의해 기기의 Device ID가 랜덤한 문자열로 재생성되고, 이에 따라 로그아웃한 유저가 앰플리튜드에 새로운 프로필로 인식됩니다. 즉 유저가 로그아웃할 때마다 새로운 Device ID가 생성됩니다. 따라서 프로덕트 내 유저가 로그아웃 - 로그인을 반복하기 쉬운 구조의 프로덕트인 경우 이 원인이 유력합니다.


참고할 만한 자료