아이덴티티 병합

Identity Resolution

방법

로그인 전에 쌓인 기록과 로그인 후의 기록을 같은 사람의 것으로 이어 붙여 한 사람의 여정으로 만드는 처리입니다.

등장 배경

광고를 보고 들어온 사람이 20분 동안 소개 페이지를 읽고, 가격을 보고, 나갔다가 다음 날 다시 들어와 가입합니다. 사람으로 보면 한 명이 두 번 방문해 가입한 것인데 기록으로 보면 다릅니다. 가입 전 행동은 브라우저에 임시로 심어 둔 값에, 가입 이후 행동은 계정 번호에 붙어 있어서, 이어 주지 않으면 낯선 방문자 하나와 갓 만들어진 계정 하나로 세어집니다.

페이지덱에서 이 문제가 처음 드러난 자리는 광고 성과 회의였습니다. 현우가 이번 주 광고에서 가입이 몇 건 나왔는지 물었는데, 대시보드에 찍힌 값은 0이었습니다. 광고를 눌러 들어온 기록은 익명 쪽에, 가입했다는 기록은 계정 쪽에만 있었기 때문입니다. 어느 쪽 숫자도 틀리지 않았는데 붙일 방법이 없었습니다.

같은 이유로 가입까지 걸린 시간도, 가입 전에 어느 화면을 몇 번 봤는지도 알 수 없었습니다. 고민이 긴 제품일수록 판단에 필요한 정보가 가입 앞쪽에 몰려 있는데, 그 구간이 통째로 이름 없는 방문자 더미에 섞였습니다.

여기서 문제를 푸는 방법은 하나뿐입니다. 로그인하는 순간 그 사람이 조금 전까지 쓰던 익명 값이 무엇이었는지를 함께 남겨 두는 것입니다. 아이덴티티 병합은 그 짝을 받아 두 기록을 한 줄기로 잇는 처리입니다.

사용 절차

붙이는 시점은 딱 한 번, 로그인이나 가입이 일어나는 순간입니다. 그 순간에 계정 번호와 익명 값을 같이 보내는 것이 전부이고, 나머지는 준비와 뒷정리입니다.

  1. 첫 방문에 익명 값을 심습니다. 브라우저나 앱에 무작위 값을 하나 만들어 두고 이 기기에서 나가는 모든 기록에 붙입니다. 누구인지는 몰라도 같은 기기라는 것은 알 수 있게 됩니다.
  2. 로그인 전 행동을 그 값으로 기록합니다. 행동 하나를 적은 기록 한 줄인 이벤트가 이 단계에서 쌓입니다. 어느 광고로 들어왔는지, 가격 페이지를 몇 번 봤는지가 전부 여기 들어갑니다.
  3. 로그인이나 가입이 성공한 직후에 두 값을 함께 보냅니다. 분석 도구들이 이 호출에 보통 식별이라는 이름을 붙여 두었습니다. 이 한 줄을 심지 않으면 나머지가 아무리 잘 쌓여도 병합은 일어나지 않습니다.
  4. 도구가 두 값을 같은 사람으로 묶습니다. 익명 값에 붙어 있던 과거 기록을 계정 쪽으로 옮기거나, 둘을 잇는 표를 두고 조회할 때마다 합쳐 보여 줍니다.
  5. 이후 행동은 계정 번호로 기록합니다. 로그아웃하면 다시 익명 값으로 돌아가고, 다음에 로그인할 때 그 값이 또 같은 계정에 붙습니다.
  6. 새 기기가 생기면 3번을 반복합니다. 노트북에서 가입한 사람이 휴대폰에서 로그인하면 휴대폰의 익명 값도 같은 계정에 붙습니다.

사용자 기기에서 직접 이벤트를 보내는 클라이언트 수집과 서버에서 기록해 보내는 서버 수집을 섞어 쓰는 팀은 한 가지를 더 맞춰야 합니다. 서버에서 보내는 기록에는 익명 값이 없으니, 화면 쪽이 그 값을 서버로 넘겨 주고 서버가 실어 보내야 두 경로가 한 사람으로 모입니다.

적합한 상황과 한계

가입 전 탐색이 긴 제품에서 값이 큽니다. 오늘 들어와 오늘 결제하는 제품은 익명 구간이 몇 분뿐이라 이어 붙일 것이 적지만, 페이지덱처럼 2주를 오가다 가입하는 제품은 판단 재료 대부분이 익명 구간에 있습니다. 전환의 공을 어느 접점에 돌릴지 정하는 어트리뷰션도 이 연결이 없으면 성립하지 않습니다.

한계는 넷입니다.

  1. 로그인하지 않고 끝난 방문은 영영 익명으로 남습니다. 병합은 과거를 계정에 붙여 주는 처리이지, 계정이 없는 사람의 정체를 알아내는 처리가 아닙니다.
  2. 기기에 심어 둔 값이 지워지면 끊깁니다. 브라우저 기록을 지우거나 시크릿 창을 쓰거나 앱을 다시 설치하면 새 익명 값이 생기고, 그 전 기록과는 연결이 사라집니다.
  3. 한 기기를 두 사람이 쓰면 잘못 묶입니다. 공용 노트북에서 동료가 자기 계정으로 로그인하면 앞사람의 익명 기록이 그 동료에게 붙습니다.
  4. 병합하는 순간 성격이 바뀝니다. 그때까지 누구인지 모르던 기록이 계정과 이어지면서 개인을 특정할 수 있는 데이터, 즉 개인 식별 정보에 가까워집니다. 보관 기간과 접근 권한을 익명 기록과 같게 두면 안 됩니다.

실무 용례

"광고에서 가입 3건 나왔다는데 대시보드엔 0으로 잡혀요. 병합이 안 걸려 있는 것 같습니다."

익명 기록과 계정 기록이 따로 놀고 있다는 진단입니다.

"가입 완료 시점에 식별 호출 넣어 주세요. 계정 번호랑 익명 아이디를 같이 보내야 합니다."

절차 3번을 심어 달라는 요청입니다.

"앱에서만 병합이 안 되는데, 재설치하면 익명 아이디가 새로 생겨서 그래요."

한계 2번에 걸린 상황을 설명하는 말입니다.

페이지덱에서는 새 유입 경로를 열 때마다 현우와 지현이 같은 순서로 확인합니다. 먼저 익명 값이 제대로 심기는지 보고, 그다음에 가입 화면에서 식별 호출이 나가는지 봅니다. 둘 중 하나만 빠져도 그 경로의 성과는 숫자로 보이지 않습니다.

한 번은 가입 직후가 아니라 환영 메일을 보낸 뒤에 식별 호출을 넣어 둔 적이 있었습니다. 메일 발송이 실패한 사람은 병합이 일어나지 않아, 가입은 했는데 어디서 왔는지 모르는 계정이 꾸준히 생겼습니다. 어떤 행동에 무엇을 남길지 미리 적어 두는 트래킹 플랜에 이 호출의 위치까지 못 박아 두는 이유입니다.

흔한 오해

병합을 걸면 과거 기록이 전부 살아난다고 기대하는 경우가 많습니다. 익명 구간을 잇는다는 설명이 그렇게 들리기 때문입니다. 실제로는 도구마다 소급 범위가 다릅니다. 병합 시점 이후의 조회만 합쳐 보여 주는 도구도 있고, 과거 기록을 계정 쪽으로 옮겨 주되 이미 계산해 둔 지표는 그대로 두는 도구도 있습니다. 이 차이를 모르고 병합을 켜면 어제까지의 숫자와 오늘부터의 숫자가 다른 기준으로 섞인 대시보드를 한동안 믿고 쓰게 됩니다.

로그인 기능만 붙이면 저절로 된다고 보는 것도 흔합니다. 로그인을 하면 계정 번호가 생기니 이어지는 것도 따라올 것 같지만, 두 값을 짝지어 보내는 한 줄은 별개로 심어야 합니다. 이 줄이 빠진 채로 반년이 지나면 가입 전 구간은 되살릴 방법이 없습니다. 그때 남아 있는 익명 기록은 누구의 것인지 알 길이 없기 때문입니다.

자주 헷갈리는 용어

용어무엇인가아이덴티티 병합과의 차이
사용자 식별자기록에 붙이는 고유한 값 하나식별자는 재료이고 병합은 그 재료 둘을 잇는 작업입니다. 익명 값과 계정 번호는 둘 다 식별자이고, 병합은 그 사이에 다리를 놓습니다

같이 보면 좋은 페이지

마지막 업데이트 2026-09-16