사용자 식별 및 버킷팅
사용자 식별
Adobe Target 내에서 사용자를 식별하는 방법에는 여러 가지가 있습니다. Target은(는) 다음 식별자를 사용합니다.
tntIDtntId은(는) 사용자의 Target에 있는 기본 식별자입니다. 이 ID를 제공할 수 있습니다. 그렇지 않으면 요청에 ID가 포함되지 않은 경우 Target에서 자동으로 생성합니다.thirdPartyIdthirdPartyId은(는) 모든 호출과 함께 보낼 수 있는 사용자의 회사 식별자입니다. 사용자가 회사 사이트에 로그인하면 일반적으로 회사는 방문자 계정, 로열티 카드, 멤버십 번호 또는 해당 회사에 대한 기타 적용 가능한 식별자에 연결되는 ID를 만듭니다.marketingCloudVisitorIdmarketingCloudVisitorId은(는) 다른 Adobe 솔루션 간에 데이터를 병합하고 공유하는 데 사용됩니다. marketingCloudVisitorId는 Adobe Analytics 및 Adobe Audience Manager과의 통합에 필요합니다.customerIdsTarget ID(tntID)
Target ID 또는 tntId은(는) 장치 ID로 간주할 수 있습니다. 이 tntId은(는) 요청에 제공되지 않을 경우 Adobe Target에 의해 자동으로 생성됩니다. 동일한 사용자가 사용하는 장치에 올바른 콘텐츠를 전달하려면 후속 요청에 이 tntId을(를) 포함해야 합니다.
다음 샘플 호출은 tntId이(가) Target에 전달되지 않는 상황을 보여 줍니다.
| code language-javascript line-numbers |
|---|
|
| code language-java line-numbers |
|---|
|
tntId이(가) 없는 경우 Adobe Target은(는) tntId을(를) 생성하여 다음과 같이 응답에 제공합니다.
{
"status": 200,
"requestId": "5b586f83-890c-46ae-93a2-610b1caa43ef",
"client": "acmeclient",
"id": {
"tntId": "10abf6304b2714215b1fd39a870f01afc.35_0"
},
"edgeHost": "mboxedge35.tt.omtrdc.net",
...
}
이 예제에서 생성된 tntId은(는) 10abf6304b2714215b1fd39a870f01afc.35_0입니다. 이 tntId은(는) 세션 간 동일한 사용자에 대해 사용해야 합니다.
타사 ID(thirdPartyId)
조직에서 ID를 사용하여 방문자를 식별하는 경우 thirdPartyID을(를) 사용하여 콘텐츠를 전달할 수 있습니다. thirdPartyID은(는) 최종 사용자가 웹, 모바일 또는 IoT 채널에서 비즈니스와 상호 작용하는지 여부에 관계없이 비즈니스에서 최종 사용자를 식별하는 데 사용하는 영구 ID입니다. 즉, thirdPartyId은(는) 여러 채널에서 사용할 수 있는 사용자 프로필 데이터를 참조합니다. 그러나 Adobe Target 배달 API 호출을 수행할 때마다 thirdPartyID을(를) 제공해야 합니다.
다음 샘플 호출에서는 thirdPartyId의 사용을 보여 줍니다.
| code language-javascript line-numbers |
|---|
|
| code language-java line-numbers |
|---|
|
이 시나리오에서 Adobe Target은(는) 원래 호출로 전달되지 않았으므로 tntId을(를) 생성하며, 이 호출은 제공된 thirdPartyId에 매핑됩니다.
Marketing Cloud 방문자 ID(marketingCloudVisitorId)
marketingCloudVisitorId은(는) Adobe Experience Cloud의 모든 솔루션에서 방문자를 식별하는 범용 및 영구 ID입니다. 조직에서 ID 서비스를 구현하면 이 ID를 사용하여 Adobe Target, Adobe Analytics 및 Adobe Audience Manager을 비롯한 다양한 Experience Cloud 솔루션에서 동일한 사이트 방문자와 해당 데이터를 식별할 수 있습니다. Target을(를) Adobe Analytics 및 Adobe Audience Manager과(와) 통합할 때 marketingCloudVisitorId이(가) 필요합니다.
다음 샘플 호출은 Experience Cloud ID 서비스에서 검색된 marketingCloudVisitorId이(가) Target에 전달되는 방법을 보여 줍니다.
| code language-javascript line-numbers |
|---|
|
| code language-java line-numbers |
|---|
|
이 시나리오에서 Target은(는) 원래 호출로 전달되지 않았으므로 tntId을(를) 생성하며, 이 호출은 제공된 marketingCloudVisitorId에 매핑됩니다.
고객 ID (customerIds)
고객 ID를 Experience Cloud 방문자 ID에 추가하거나 연결할 수 있습니다. customerIds을(를) 보낼 때마다 marketingCloudVisitorId도 제공해야 합니다. 또한 각 방문자에 대해 각 customerId과(와) 함께 인증 상태를 제공할 수 있습니다. 다음과 같은 인증 상태가 사용될 수 있습니다.
unknownauthenticatedlogged_outcustomerId이(가) 인증된 상태인 경우에만 Target이(가) 저장되고 customerId에 연결된 사용자 프로필 데이터를 참조합니다. customerId이(가) 알 수 없거나 logged_out 상태인 경우 무시되며, 해당 customerId과(와) 연결할 수 있는 모든 사용자 프로필 데이터는 대상 타기팅에 사용되지 않습니다.
| code language-javascript line-numbers |
|---|
|
| code language-java line-numbers |
|---|
|
위의 예에서는 authenticatedState을(를) 사용하여 customerId을(를) 보내는 방법을 보여 줍니다. customerId을(를) 보낼 때 integrationCode, id, authenticatedState 및 marketingCloudVisitorId이(가) 필요합니다. integrationCode은(는) CRS를 통해 제공한 고객 특성 파일의 별칭입니다.
병합된 프로필
동일한 요청에서 tntId, thirdPartyID 및 marketingCloudVisitorId을(를) 결합할 수 있습니다. 이 시나리오에서는 Adobe Target이(가) 이러한 모든 ID의 매핑을 유지하고 방문자에게 고정합니다. 다른 식별자를 사용하여 프로필이 실시간으로 병합 및 동기화되는 방법을 알아봅니다.
| code language-javascript line-numbers |
|---|
|
| code language-java line-numbers |
|---|
|
위의 예에서는 동일한 요청에서 tntId, thirdPartyID 및 marketingCloudVisitorId을(를) 결합하는 방법을 보여 줍니다.
버킷팅
Adobe Target 활동을 설정하는 방법에 따라 사용자가 경험을 볼 수 있도록 그룹화됩니다. Adobe Target에서 버킷팅은 다음과 같습니다.
- 결정론적: MurmurHash3은 사용자가 그룹화되고 사용자 ID가 일관적인 한 항상 올바른 변형을 확인하는 데 사용됩니다.
- 고정: Adobe Target은(는) 사용자 프로필에 표시되는 변형을 저장하여 세션 및 채널에서 해당 사용자에게 변형이 일관되게 표시되도록 합니다. 서버측 의사 결정을 사용할 때 변형과 고착성이 보장됩니다. 온디바이스 의사 결정을 사용하면 고착성이 보장되지 않습니다.
전체 버킷팅 워크플로
실제 버킷팅 알고리즘으로 이동하기 전에 트래픽 할당 비율에 따라 활동을 선택하고 활동 내에서 경험을 선택하는 데 유사한 단계가 모두 사용됨을 강조 표시하는 것이 중요합니다.
활동 선택 단계
- 디바이스 ID(일반적으로 UUID) 생성
- 클라이언트 코드 가져오기
- 활동 ID 가져오기
- 일반적으로 "활동"과 같은 문자열인 소금을 가져옵니다.
- MurmurHash3를 사용하여 해시 계산
- 해시의 절대값 가져오기
- 해시 절대값을 10000으로 나눕니다.
- 나머지를 0과 10000 사이의 값을 생성하는 값으로 나눕니다
- 결과에 100%를 곱합니다.
- 활동 트래픽 할당 백분율과 획득한 백분율 비교 트래픽 할당 비율이 더 낮으면 활동이 선택됩니다. 그렇지 않으면 활동을 건너뜁니다.
경험 선택 단계
- 디바이스 ID(일반적으로 UUID) 생성
- 클라이언트 코드 가져오기
- 활동 ID 가져오기
- 일반적으로 "경험"과 같은 문자열인 소금을 가져옵니다.
- MurmurHash3를 사용하여 해시 계산
- 해시의 절대값 가져오기
- 해시 절대값을 10000으로 나눕니다.
- 나머지를 0과 10000 사이의 값을 생성하는 값으로 나눕니다
- 결과에 활동 내의 총 경험 수를 곱합니다.
- 결과를 반올림합니다. 그러면 경험 색인이 생성됩니다.
예
다음과 같이 가정해 보십시오.
- 클라이언트 코드가
acmeclient인 클라이언트 C - 활동 A의 ID는
1111이고 경험은E1,E2,E3입니다. - 경험에 다음과 같은 분포가 있습니다.
E1- 33%,E2- 33%,E3- 34%
선택 흐름은 다음과 같습니다.
- 장치 ID
702ff4d0-83b1-4e2e-a0a6-22cbe460eb15 - 클라이언트 코드
acmeclient - 활동 ID
1111 - 솔트
experience - 해시 값
acmeclient.1111.702ff4d0-83b1-4e2e-a0a6-22cbe460eb15.experience, 해시 값-919077116 - 해시
919077116의 절대값 7116(으)로 10000 후 남은 시간- 나머지 이후의 값은
0.711610000(으)로 나뉩니다. - 총 경험 수
3 * 0.7116 = 2.1348에 값을 곱한 후 결과 - 경험 인덱스는
2입니다.0기반 인덱싱을 사용하고 있으므로 세 번째 경험을 의미합니다.