thumbnail

유니피케이션

고객과의 상담은 끊기지 않고 이어져야 합니다. 그래서 채널톡은 똑똑하게 고객을 확인하여 정보를 통합해주고 있어요.

비회원 상태의 기록들이 로그인 후 멤버 정보로 잘 통합되어야 합니다.

여기에는 두 가지 중요한 기술적 이슈가 있어요. 같은 연락처의 유저가 비회원과 회원으로 따로 저장되지 않도록 잘 찾을 수 있어야 하고, 익명 유저나 리드 상태에서의 채팅상담이 로그인 후 멤버가 되었을 때 잘 통합되어야 합니다.

이를 위해서 채널톡은 합리적인 근거가 있다면 두 명의 유저를 같은 멤버로 통합해 주는 강력한 유니피케이션(Unification) 기술을 가지고 있습니다.

익명 유저 또는 리드를 이미 존재하는 멤버로 통합하는 기능입니다. (→ 유저, 리드, 멤버 구분하기)

  • 유니피케이션이 허용 되는 경우

    • 익명 유저 → 멤버 (O): 익명 유저는 이미 존재하는 다른 멤버로 유니피케이션 될 수 있습니다.

    • 리드 → 멤버 (O): 리드는 이미 존재하는 다른 멤버로 유니피케이션 될 수 있습니다.

    • 리드 → 리드 (X): 리드는 다른 리드로 유니피케이션 될 수 없습니다.

    • 멤버 → 멤버 (X): 멤버는 다른 멤버로 유니피케이션 될 수 없습니다.

채널톡의 고객 정보 유니피케이션은 자동으로 진행되기도 하고, 매니저가 수동으로 진행할 수도 있습니다. 유니피케이션이 어떻게 이루어지고, 누구의 정보가 우선 반영되는지 알려드릴게요.

유니피케이션 될 때 두 유저의 정보 중 어떤 정보가 선택되나요?

  • 검증된 정보 > 검증되지 않은 정보

  • 멤버 정보 > 리드, 유저 정보

  • 필드에 값이 있는 정보 > 필드에 값이 없는 정보

  • 같은 멤버 정보 중에서는 최근 정보가 더 우선함

예시 1. 검증된 정보의 리드 + 검증된 정보의 멤버 유니피케이션

  • 두 유저의 정보 검증 여부가 같을 경우 멤버 정보가 우선하여 통합됩니다.

예시 2. 검증되지 않은 정보의 리드 + 검증된 정보의 멤버 유니피케이션

  • 검증된 정보 우선, 멤버 정보 우선으로 적용됩니다.

예시 3. 검증된 정보리드 + 검증되지 않은 정보의 멤버 유니피케이션

  • 리드 멤버 여부보다 정보의 검증 여부가 더 우선하여 적용됩니다.

유저의 프로필 데이터 중 어떤 영역의 데이터가 통합되나요?

  • 고객 프로필 정보: 휴대폰 번호, 이메일, 회사명 등 수집한 상세정보가 통합됩니다.

  • 마케팅 캠페인 노출 정보: 유니파이 후 캠페인에 중복 노출되지 않도록 하기 위해, 특정 캠페인 노출 여부가 통합됩니다.

  • 유저챗 (상담 내역) 전부: 로그인 전/후 자연스럽게 보고 있던 대화 내역을 그대로 확인할 수 있도록 통합됩니다.

  • 이벤트 내역: 동일한 유저가 사이트에서 활동하는 것으로 이벤트를 이어서 기록하기 위해 통합됩니다.

익명 유저 또는 리드가 사이트(또는 앱)에 로그인을 하면, 자동으로 기존 멤버로 유니피케이션 됩니다.

한 명의 유저가 하루에 한 번씩 닷새간 사이트를 방문하면서 총 5개의 세션이 발생했습니다.

  1. 익명 유저 상태로 방문하여 사이트를 둘러보다 떠났어요.

  2. 다음날, 재방문하여 채팅상담을 하면서 리드가 되었습니다. 그런데 중간에 로그인을 했어요. 알고 보니 이미 채널톡 고객 연락처에 저장되어 있는 멤버(사이트 회원)였어요.

  3. 사이트를 떠났던 멤버가 세번째 재방문했을 때는 브라우저에 자동 로그인이 되어 있어 회원 상태로 쇼핑을 했습니다.

  4. 네번째 재방문을 했을 때, 회사 컴퓨터에서 접속한 것이 마음에 걸린 멤버는 직접 로그아웃을 합니다. 하지만 세션이 종료될 때까지 채널톡은 멤버 상태를 그대로 둡니다.

  5. 로그인하지 않은 상태로 다시 방문한 이 유저를, 채널톡은 유저1이 아닌 새로운 익명 유저로 인식합니다.

실제로는 한 명의 유저인 익명유저와 리드의 정보(노란 점선)가 멤버 정보(정확히는 세션2 중에 로그인한 멤버 정보)로 통합됩니다. 이것을 유니피케이션 이라고 해요.

익명 유저1과 리드2에게는 없지만 2와 3의 멤버게 있는 정보는 memberId 입니다. 채널톡에서 고객 정보를 하나로 통합하는 기준은 바로 이 memberId예요.

세션4처럼 멤버가 중간에 로그아웃 하더라도 세션이 종료될 때까지(30분) 채널톡은 이 유저를 로그아웃 직전의 멤버와 같은 유저로 보고, 채널톡 상담내역과 프로필 정보 등을 유지합니다. 로그아웃 직후이지만 동일한 세션으로 유지되고 있다면 동일 인물이라는 합리적인 판단이지요.

로그아웃 상태로, 세션도 종료된 후, 사이트에서 다시 인식된 유저는 어떻게 될까요? 이미 멤버3에 통합된 익명 유저1로 돌아가는 것이 아니라, 새로운 익명 유저5로 보게 됩니다.

익명 유저로 상담했던 고객이 멤버로 로그인하여 유저챗을 이어간다면 매니저에게는 어떻게 보일까요?

  • 익명 유저가 기존 멤버와 유니피케이션 될 수도 있고, 그대로 새 멤버로 저장될 수도 있습니다.

    • 로그인한 멤버가 채널톡 고객 연락처에 이미 저장되어 있던 멤버인 경우

    1. 익명 유저(망고135)가 채팅상담 중 기존 멤버 김영수로 로그인 했습니다.

    2. 망고135와 김영수가 유니피케이션 되었어요. 김영수의 채팅 라운지에 망고135의 상담 내역이 그대로 보이게 됩니다.

    3. 고객 정보는 김영수로 통합되었습니다. 망고135의 상담 내역도 이벤트 정보도 모두 김영수의 고객 정보에 모아져 있어요.

    4. 하지만 유저챗 상담 화면에 메시지를 보낸 고객의 이름은 망고135와 김영수로 각각 보여집니다. 그 메시지를 작성한 시점의 유저 이름으로 표시돼요.

    5. 유니피케이션 후 유저챗 메시지의 이름 망고135를 클릭하면 멤버 김영수의 고객 정보로 연결됩니다.

    • 로그인한 멤버가 채널톡 고객 연락처에 존재하지 않던 새 멤버인 경우

    1. 익명 유저(사과246)가 채팅상담 중 홈페이지 회원 김채널로 로그인 했습니다.

    2. 이 때 사과246은 김채널이라는 새로운 멤버 정보로 고객 연락처에 저장이 되어요. (유니피케이션 X)

    3. 그래서 유저챗 상담 화면에 메시지를 보낸 고객의 이름이 모두 사과246에서 김채널로 변경 적용됩니다.

      이 경우는 유니피케이션이 아닙니다. 채널톡 고객 연락처에 없는 유저가 로그인하면서 멤버 정보로 새로 업데이트 되는 것입니다.

고객 연락처에 검증된 연락처 정보가 주어졌는데 이 정보가 기존 멤버의 연락처 정보와 일치하는 경우 매니저가 수동으로 유니피케이션 해줄 수 있습니다.

다음의 두 가지 경우가 해당됩니다.

  • 매니저가 익명 유저 또는 리드의 고객 정보를 수정할 때

  • CSV 파일 (서비스 준비 중) 또는 OpenAPI 로 고객 정보를 고객 연락처에 입력할 때

유니피케이션은 한 번 통합되면 돌이킬 수 없습니다. 연락처 정보가 정말 일치하는지, 동일한 멤버가 맞는지 반드시 확인하고 적용해 주세요.

  1. 매니저는 언제든지 고객 연락처 또는 유저챗의 고객 정보에서 익명의 유저/리드의 연락처 정보를 수정할 수 있습니다.

  2. 매니저가 수정한 정보가 고객 연락처에 저장되어 있는 기존 멤버 정보와 일치하는 경우, 확인을 요청하는 메시지가 뜹니다.

  3. 매니저가 확인(유니피케이션 승인)을 선택하면, 유니피케이션 대상이 된 멤버가 다음 번에 사이트에 로그인할 때 정보가 통합됩니다.

  • 외부 메신저로 유입된 유저챗 고객은 어떻게 될까요?

    1. 고객 정보 연동 없이 랜덤 비회원(조던469)으로 인입된 카카오 상담톡 유저챗을 응대할 때

    2. 매니저가 상담하면서 회원 여부와 연락처 정보를 얻어

    3. 휴대폰 번호를 고객 정보에 입력했는데 알고 보니 기존 멤버라면 (이미 고객 연락처에 있음)

    4. 유니피케이션 여부를 승인할 때 즉시 유니피케이션 됩니다.

아직 한번도 채널톡 고객 연락처에 저장된 적 없는 멤버라면 홈페이지 회원이라도 정보가 연동되지 않습니다. 고객에게 홈페이지 로그인을 해주실 것을 요청해 주세요.

  • 외부 메신저별 연동 정보

    • 카카오 상담톡: 없음

      • 연락처 정보가 없기 때문에 채팅상담이 이루어진 경우에만 리드로 고객 연락처에 저장됨

    • 네이버 톡톡: 계정 이름, 휴대폰 번호

    • 라인 메신저: 계정 이름

      • 연락처 정보가 없기 때문에 채팅상담이 이루어진 경우에만 리드로 고객 연락처에 저장됨

    • 인스타그램: 아이디, 프로필 이름, 프로필 사진

      • 연락처 정보가 없기 때문에 채팅상담이 이루어진 경우에만 리드로 고객 연락처에 저장됨

라인 메신저와 인스타그램 메신저로 유입된 유저챗 고객의 경우 연락처 정보를 받아 리드로 저장하는 것을 추천드려요. 그렇지 않으면 고객 연락처에서 보이지 않고, 멤버와 유니피케이션 할 수 없어요.

  • 추후 지원 예정입니다.

    • CSV 파일로 채널톡 고객 연락처에 고객 정보를 업로드 할 수 있습니다.

    • 이 때 CSV 파일에 memberId 데이터가 있는지 여부를 확인합니다.

  • CSV 파일 데이터에 memberId 정보가 있는 경우

    • 이 경우 바로 멤버로 업로드 됩니다.

  • CSV 파일 데이터에 memberId 정보가 없는 경우

    • 이 경우 리드로 업로드 됩니다.

    • 업로드 된 리드가 기존 멤버와 일치하는 연락처 정보를 가지고 있다면, 해당 멤버로 유니파이 됩니다.

매니저가 유니피케이션을 승인했을 때 리드의 정보는 멤버와 즉시 통합될 수도 있고, 통합이 지연될 수도 있습니다.

  • 유니파이 확인 후 통합까지 지연되는 경우

    • 서비스(웹사이트 또는 앱)를 방문한 적 있는 리드가 유니파이 될 때

  • 유니파이 확인 즉시 통합되는 경우

    • 서비스(웹사이트 또는 앱)를 방문한 적 없는 리드가 유니파이 될 때

왜 즉시 통합되지 않나요?

일치하는 정보를 찾은 순간 해당 리드나 멤버가 사이트에 온라인 상태일 수 있기 때문이에요.

비회원 상태로 고객상담 중 매니저가 정보를 변경한다고 해서 갑자기 채팅내역 등이 통합되면, 유저에게는 대화가 갑자기 사라지거나 없던 내역이 나타나는 등 굉장히 어색한 경험이 될 수 있겠죠.

그래서 이 리드(또는 멤버)가 다음 번에 사이트에 로그인할 때 정보를 자연스럽게 통합해서 보여줍니다.

예시 1. 지연된 유니피케이션(Delayed Unification)

  1. 채팅으로 대화한 리드 A의 연락처를 매니저가 고객 정보에서 수정합니다.

  2. 알고 보니 이 연락처는 멤버 B와 동일한 연락처였어요.

  3. 매니저가 유니파이 알림에 [확인]을 눌러 승인합니다.

  4. 하지만 리드 A가 아직 사이트에서 온라인 상태일 가능성이 있으므로, 유니피케이션이 즉시 진행되지 않고 지연됩니다.

  5. 다음날 멤버 B가 로그인을 합니다. 이 때 리드 A의 정보가 멤버 B로 유니피케이션 됩니다.

예시 2. 즉시 유니피케이션

  1. 멤버 아이디가 없는 CSV 파일로 고객 정보를 업로드 합니다. 모두 리드로 저장됩니다.

  2. 이 때 리드 C의 휴대폰 번호가 멤버 D와 동일한 연락처인 것이 발견됩니다. 리드 C는 멤버 D에게 없는 이메일 주소도 가지고 있습니다. (검증된 정보)

  3. 매니저가 유니파이 알림에 [확인]을 눌러 승인합니다.

  4. 그럼 즉시 리드 C의 정보가 멤버 D로 유니피케이션 되면서 멤버 D의 프로필에 없었던 이메일 정보가 생깁니다.

예시 3. 예외 케이스 (외부메신저)

  1. 채널톡에 연동된 카카오 상담톡을 통해 랜덤한 비회원(키위987)으로 유입된 고객과 상담을 진행했어요.

  2. 매니저가 키위987의 휴대폰 번호를 얻어 고객 정보에 입력해주면, 키위987은 검증된 정보를 가진 리드가 됩니다.

  3. 이후 동일한 고객이 홈페이지에서 김파이로 회원 가입을 했습니다. 채널톡 고객 연락처에도 김파이라는 새로운 멤버가 저장이 돼요. 김파이 멤버는 키위987과 휴대폰 번호가 같아요.

    • 하지만 이 때는 리드 키위987과 멤버 김파이가 각각 저장되어 있습니다.

  4. 다음 번에 키위987이 다시 카카오 상담톡으로 문의했을 때 바로 유니피케이션 되지 않습니다.

  5. 매니저가 전화번호 또는 이메일 변경을 진행합니다. (클릭 후 엔터만 하면 안되고, 실제로 내용이 변경되어야 수정으로 인식됨)

  6. 이 때 채널톡이 키위987과 김파이 멤버의 일치하는 연락처를 확인하고 유니피케이션 합니다.

유저나 리드의 정보가 2개 이상의 멤버 정보와 일치하면 어떻게 되나요?

가장 최근에 활성화(정보 업데이트)된 멤버에게로 유니파이 됩니다.

한번 통합된 멤버를 다시 리드나 익명의 유저로 분리할 수 있나요?

아니요, 다시 분리할 수 없습니다.

OpenAPI 로 고객 정보를 업로드 할 때는 어떻게 되나요?

OpenAPI 중에서 upsert a user(by memberId) 를 사용하는 경우 즉시 멤버로 업로드 됩니다.

고객 정보를 리드로 업데이트할 경우, OpenAPI 중 Create a user(by profile)를 사용해주세요.

유니피케이션 될 때 모든 데이터는 즉시 옮겨지나요?

고객 프로필 정보 : 즉시 옮겨집니다.

마케팅 캠페인 노출 정보 : 즉시 옮겨집니다.

기존 유저챗, 서비스 내 이벤트 기록 등 : 정보량이 많은 경우 유저 통합 이후에도 계속해서 정보를 가져오는 작업이 진행될 수 있습니다. (거의 실시간)

유니피케이션이 지연되고 있을 때, 매니저가 멤버 혹은 리드의 DB 정보를 확인할 수 있나요?

네, 유니피케이션이 이루어지기 전 각각의 DB 프로필 데이터로 확인할 수 있습니다.