Last update: Sun Aug 25 2024 00:00:00 GMT+0000 (Coordinated Universal Time)
주제:
작성 대상:
개발자
Adobe Target의 최신 at.js 버전에서는 차세대 클라이언트측 기술에 대한 개인화를 실행하도록 기업을 지원하는 다양한 기능을 제공합니다. 이 새로운 버전은 단일 페이지 애플리케이션(SPA)과 조화로운 상호 작용을 하도록 at.js를 업그레이드하는 데 주력하고 있습니다.
at.js 2.이전 버전에서 사용할 수 없는 x:
페이지 로드 시 모든 오퍼를 캐시하여 여러 서버 호출을 하나의 서버 호출로 줄일 수 있습니다.
오퍼가 기존 서버 호출로 인해 초래되는 지연 없이 캐시를 통해 즉시 표시되므로 사이트에서 최종 사용자의 경험을 크게 향상시킬 수 있습니다.
간단한 1줄의 코드 및 일회용 개발자 설정으로 마케터가 SPA에서 VEC를 통해 A/B Test 및 Experience Targeting (XT) 활동을 만들고 실행할 수 있도록 할 수 있습니다.
at.js 2.x 시스템 다이어그램
다음 다이어그램은 at.js 2의 워크플로우를 이해하는 데 도움이 됩니다.보기가 있는 x 및 이를 통해 SPA 통합이 어떻게 향상되었는지 알아봅니다. at.js 2에서 사용되는 개념의 도입을 보다 잘 이해하려면 다음을 수행하십시오.x, 단일 페이지 응용 프로그램 구현을 참조하세요.
이미지 를 클릭하여 전체 너비로 확장합니다.
{modal="regular"}
호출
세부 사항
1
사용자가 인증되면 호출에서 Experience Cloud ID를 반환합니다. 다른 호출은 고객 ID를 동기화합니다.
2
at.js 라이브러리는 동기식으로 로드되며 문서 본문을 숨깁니다.
at.js는 페이지에 구현된 코드 조각을 미리 숨기는 선택 사항을 사용하여 비동기식으로 로드할 수도 있습니다.
3
모든 구성된 매개변수(MCID, SDID 및 고객 ID)를 포함하는 페이지 로드 요청이 이루어집니다.
4
프로필 스크립트가 실행된 다음 프로필 저장소에 반영됩니다. 저장소는 대상 라이브러리의 적절한 대상(예: Adobe Analytics, Audience Manager에서 공유되는 대상 등)을 요청합니다.
고객 속성은 묶음 프로세스를 통해 프로필 저장소로 전송됩니다.
5
Target에서는 URL 요청 매개변수 및 프로필 데이터를 기반으로 현재 페이지 및 미래 보기를 위해 방문자에게 반환할 활동 및 경험을 결정합니다.
6
타기팅된 콘텐츠는 다시 페이지로 전송되며, 원할 경우 추가적인 개인화를 위한 프로필 값을 포함할 수 있습니다.
현재 페이지의 타깃팅된 콘텐츠는 기본 콘텐츠의 플리커 없이 가능한 한 빨리 나타납니다.
triggerView()을(를) 통해 보기를 트리거할 때 추가적인 서버 호출 없이 즉시 적용할 수 있도록 브라우저에서 캐시된 SPA의 사용자 동작에 대한 결과로서 표시되는 보기를 위한 타깃팅된 콘텐츠입니다.
7
Analytics 데이터가 데이터 수집 서버로 전송됩니다.
8
대상 데이터는 SDID를 통해 Analytics 데이터와 일치하고 Analytics 보고 저장소로 처리됩니다.
그런 다음 Analytics 데이터는 Analytics for Target (A4T) 보고서를 통해 Analytics 및 Target 모두에서 볼 수 있습니다.
이제 SPA에서 triggerView()가 구현될 때 그곳이 어디든, 보기 및 작업은 캐시에서 검색되고 서버 호출 없이 사용자에게 표시됩니다. triggerView()는 또한 노출 수를 증가시키고 기록하기 위해 Target 백엔드에 알림을 요청합니다.
이미지 를 클릭하여 전체 너비로 확장합니다.
{modal="regular"}
호출
세부 사항
1
보기를 렌더링하고 작업을 적용하여 시각적 요소를 수정하기 위해 SPA에서 triggerView()가 호출됩니다.
2
보기용으로 타기팅된 콘텐츠를 캐시에서 읽습니다.
3
타기팅된 콘텐츠는 기본 콘텐츠의 플리커 없이 가능한 한 빨리 나타납니다.
4
활동 및 증분 지표에서 방문자를 계산하기 위해 알림 요청이 Target 프로필 스토어에 전송됩니다.
5
Analytics 데이터가 데이터 수집 서버로 전송되었습니다.
6
Target 데이터가 SDID를 통해 Analytics 데이터와 일치하고 Analytics 보고 저장소로 처리됩니다. 그런 다음 Analytics 데이터는 A4T 보고서를 통해 Analytics 및 Target 모두에서 볼 수 있습니다.
Adobe Experience Platform의 태그를 사용하여 at.js를 배포하는 것이 좋습니다.
또는
at.js 2.Target UI를 사용하여 x 을(를) 배포하고 선택한 메서드를 사용하여을(를) 배포합니다.
사용 중단된 at.js 함수
at.js 2에서는 더 이상 사용되지 않는 몇 가지 함수가 있습니다.x.
WARNING
이렇게 더 이상 사용되지 않는 함수가 at.js 2.x 이(가) 배포되었습니다. 콘솔 경고가 표시됩니다. 업그레이드할 때 권장되는 접근 방법은 at.js 2의 배포를 테스트하는 것입니다.스테이징 환경에서 x 을(를) 실행하고 콘솔에 기록된 모든 경고를 하나하나 다 확인하고, 사용이 중단된 함수를 at.js 2에 도입된 새로운 함수로 변환해야 합니다.x.
아래에는 사용이 중단된 함수와 그에 해당하는 새로운 함수가 있습니다. 전체 함수 목록이 필요하면 at.js 함수를 참조하십시오.
NOTE
at.js 2.** x는 mboxDefault 표시 요소를 더 이상 자동으로 사전에 숨기지 않습니다. 따라서 고객은 사이트에서 수동으로 또는 태그 관리자를 통해 사전 숨김 로직을 수용해야 합니다.
mboxCreate(mbox,params)
설명:
요청을 실행하고 mboxDefault 클래스 이름을 사용하는 가장 가까운 DIV에 오퍼를 적용합니다.
예:
<div class="mboxDefault">
default content to replace by offer
</div>
<script>
mboxCreate('mboxName','param1=value1','param2=value2');
</script>
at.js 2.x 에 상응
mboxCreate(mbox, params)의 대체 함수는 getOffer()와 applyOffer()입니다.
예:
<div class="mboxDefault">
default content to replace by offer
</div>
<script>
var el = document.currentScript.previousElementSibling;
adobe.target.getOffer({
mbox: "mboxName",
params: {
param1: "value1",
param2: "value2"
},
success: function(offer) {
adobe.target.applyOffer({
mbox: "mboxName",
selector: el,
offer: offer
});
},
error: function(error) {
console.error(error);
el.style.visibility = "visible";
}
});
</script>
mboxDefine() 및 mboxUpdate()
설명:
요소와 mbox 이름 사이에 내부 매핑을 만들되, 요청을 실행하지 마십시오. 요청을 실행하고 mboxDefine()에서 nodeId로 식별되는 요소에 오퍼를 적용하는 mboxUpdate()와 함께 사용됩니다. mboxCreate로 시작된 mbox를 업데이트하는 데도 사용할 수 있습니다.
mboxDefine()과 mboxUpdate의 대체 함수는 getOffer()와 applyOffer()이며 applyOffer()에서는 선택기 선택 사항이 사용됩니다. 이 접근 방식에서는 ID가 있는 선택기뿐만 아니라 CSS 선택기를 사용하여 오퍼를 요소에 매핑할 수 있습니다.
의 사용이 중단된 함수, 새로운 함수 및 지원되는 at.js 함수에 대한 요약 정보 2.x
메서드
지원됨?
신규?
삭제 예정?
(기본 컨텐츠가 표시됩니다.)
getOffer()
예
getOffers()
예
applyOffer()
예
applyOffers()
예
triggerView()
예
trackEvent()
예
mboxCreate()
예
mboxDefine()
mboxUpdate()
예
targetGlobalSettings()
예
Data Providers
예
targetPageParams()
예
targetPageParamsAll()
예
registerExtension()
예
At.js Custom Events
예
제한 사항 및 콜아웃
다음 제한 사항 및 콜아웃을 알아 두십시오.
전환 추적
전환 추적에 mboxCreate()을 사용하는 고객은 trackEvent()나 getOffer()를 사용해야 합니다.
오퍼 게재
mboxCreate()을 getOffer()나 applyOffer()로 대체하지 않는 고객의 경우 오퍼가 게재되지 않을 수 있습니다.
at.js 2.x 는 at.js 1.x 이(가) 다른 페이지에 있습니까?
예. 방문자 프로필은 서로 다른 버전 및 라이브러리를 사용하는 여러 페이지 간에 보존됩니다. 쿠키 형식은 동일합니다.
at.js 2의 새로운 API 사용.x
at.js 2.x에서는 배달 API라고 하는 새 API를 사용합니다. at.js가 Target Edge Server를 올바로 호출하는지를 디버깅하기 위해 브라우저의 개발자 도구에 있는 네트워크 탭을 "배달", "tt.omtrdc.net" 또는 클라이언트 코드로 필터링할 수 있습니다. 또한 Target에서 키-값 쌍 대신 JSON 페이로드를 전송하는 것을 보게 됩니다.
Target 글로벌 Mbox가 더 이상 사용되지 않습니다.
at.js 2.x 님, 더 이상 네트워크 호출에 "target-global-mbox"이(가) 보이지 않습니다. 대신 아래와 같이 Target 서버로 전송된 JSON 페이로드에서 "target-global-mbox" 구문을 "execute > pageLoad"(으)로 대체했습니다.
기본적으로 글로벌 mbox 개념은 페이지 로드 시 오퍼와 콘텐츠를 검색할지 여부를 Target에서 알 수 있도록 하기 위해 도입되었습니다. 따라서 최신 버전에서는 이 기능을 더욱 명확하게 했습니다.
at.js에서 글로벌 mbox 이름이 문제가 됩니까?
고객은 Target > Administration > Implementation > Edit at.js Settings 을(를) 통해 글로벌 mbox 이름을 지정할 수 있습니다. 이 설정은 Target Edge Server에서 execute > pageLoad를 Target UI에 나타나는 글로벌 mbox 이름으로 변환하는 데 사용됩니다. 이렇게 변환하면 고객은 계속해서 서버 측 API, 양식 기반 작성기, 프로필 스크립트를 사용할 수 있으며 글로벌 mbox 이름을 사용하여 대상자를 만들 수 있습니다. 또한 at.js 1을 사용하는 페이지가 여전히 있는 경우 동일한 글로벌 mbox 이름이 Administration > Visual Experience Composer 페이지에도 구성되도록 하는 것이 좋습니다.다음 그림과 같이 x 입니다.
및
at.js 2에 대해 글로벌 mbox 자동 만들기 설정을 켜야 합니까?x 를 사용하는 SPA에서)하면 어떻게 될까요.
대부분의 경우, 그렇습니다. 이 설정은 at.js 2에 알려 줍니다.페이지 로드 시 Target Edge Server에 대한 요청을 실행하는 x. 글로벌 mbox가 execute > pageLoad로 변환되므로 페이지 로드 시 요청을 개시하려면 이 설정이 켜져 있어야 합니다.
Target 글로벌 mbox 이름이 at.js 2에서 지정되지 않았더라도 기존 VEC 활동이 계속 작동합니까?x 를 사용하는 SPA에서)하면 어떻게 될까요.
예. execute > pageLoad는 target-global-mbox처럼 Target 백엔드에서 처리됩니다.
양식 기반 활동을 target-global-mbox에 타깃팅하는 경우 이러한 활동이 계속 작동합니까?
예. execute > pageLoad는 Target처럼 target-global-mbox Edge Server에서 처리됩니다.
지원되는 at.js 2와 지원되지 않는 at.js 2.x 설정
설정
지원됨?
X-Domain
아니오
글로벌 mbox를 자동으로 만들기
예
글로벌 mbox 이름
예
at.js 2.x에서 도메인 간 추적 지원
도메인 간 추적을 통해 여러 도메인 간에 방문자를 연결할 수 있습니다. 각 도메인에 대해 새 쿠키를 만들어야 하기 때문에 방문자가 도메인에서 도메인으로 이동할 때 추적하기가 어렵습니다. 도메인 간 추적을 수행하기 위해 Target은 타사 쿠키를 사용하여 도메인 간에 방문자를 추적합니다. 이를 통해 siteA.com과(와) siteB.com에 이르는 Target 활동을 만들 수 있으며 방문자가 고유한 도메인을 탐색할 때 동일한 경험을 유지합니다. 이 기능은 Target의 타사 및 퍼스트 파티 쿠키 동작에 연결되어 있습니다.
NOTE
도메인 간 추적은 at.js 2.10부터 지원되지만 at.js 2.2.10 이전 x. 도메인 간 추적은 at.js 2에서 지원됩니다.at.js 2.x 에서 지원됩니다.
Target에서 타사 쿠키가 <CLIENTCODE>.tt.omtrdc.net에 저장됩니다. 자사 쿠키는 clientdomain.com에 저장됩니다. 첫 번째 요청은 mboxSession 및 mboxPC라는 타사 쿠키를 설정하는 HTTP 응답 헤더를 반환하는 반면, 리디렉션 요청이 추가 매개 변수(mboxXDomainCheck=true)를 사용하여 다시 전송됩니다. 브라우저가 타사 쿠키를 수락하면 리디렉션 요청에 해당 쿠키가 포함되고 경험이 반환됩니다. 여기서는 HTTP GET 메서드를 사용하므로 이 워크플로가 가능합니다.
단, at.js 2.x, HTTP GET이 사용되지 않습니다. 대신 HTTP POST은 at.js 2.Target Edge 서버에 JSON 페이로드를 전송하기 위한 x. HTTP POST을 사용하면 브라우저가 서드파티 쿠키를 지원하는지 여부를 확인하는 리디렉션 요청이 중단됨을 의미합니다. 이것은 HTTP GET 요청은 멱등 트랜잭션이 아니지만 HTTP POST는 비멱등이어서 임의로 반복되면 안 되기 때문입니다. 따라서 at.js 2.x(2.10 이전)은(는) 기본적으로 지원되지 않습니다. at.js 1.x 는 도메인 간 추적을 위한 기본 지원을 제공합니다.
at.js v2.10 이상에 대해 도메인 간 추적을 사용하려면 다음 중 하나를 수행할 수 있습니다.
at.js 2와 함께 ECID 라이브러리 v4.3.0+을(를) 설치합니다.x. ECID 라이브러리는 도메인 간에 방문자를 식별하는 데 사용되는 영구 ID를 관리하기 위해 존재합니다. ECID library v4.3.0+ 및 at.js 2.x 를 설치한 뒤 고유한 도메인을 확장하고 사용자를 추적할 수 있는 활동을 만들 수 있습니다. 이 기능은 세션이 만료된 후에만 작동합니다.
at.js v2.10 이상이 있는 경우 ECID 라이브러리를 설치하는 대신 Administration > Implementation 의 Target UI에서 도메인 간 설정을 활성화할 수 있습니다. (또는 at.js 코드에서 crossDomain 옵션을 enabled(으)로 설정할 수 있습니다.)
at.js v2 버전에 대해 도메인 간 추적을 사용하려면 x 2.10 이전에 위의 옵션 #1을 구현할 수 있습니다(ECID 라이브러리 설치).
글로벌 mbox 자동 만들기가 지원됨
이 설정은 at.js 2에 알려 줍니다.x 을(를) 사용하여 페이지 로드 시 Target Edge Server에 대한 요청을 실행합니다. 글로벌 mbox가 execute > pageLoad로 변환되고, Target Edge Server가 이를 해석하므로 고객은 페이지 로드 시 요청을 개시하려면 이 설정을 켜야 합니다.
글로벌 mbox 이름이 지원됨
고객은 Target > Administration > Implementation > Edit 을(를) 통해 글로벌 mbox 이름을 지정할 수 있습니다. 이 설정은 Target Edge Server에서 execute > pageLoad를 입력된 글로벌 mbox 이름으로 변환하는 데 사용됩니다. 이렇게 변환하면 고객은 계속해서 서버 측 API, 양식 기반 작성기, 프로필 스크립트를 사용할 수 있으며 글로벌 mbox를 타기팅하는 대상자를 만들 수 있습니다.
아래의 at.js 사용자 지정 이벤트는 triggerView()에 적용할 수 있습니까? 아니면 applyOffer()나 applyOffers()에만 적용할 수 있습니까?
adobe.target.event.CONTENT_RENDERING_FAILED
adobe.target.event.CONTENT_RENDERING_SUCCEEDED
adobe.target.event.CONTENT_RENDERING_NO_OFFERS
adobe.target.event.CONTENT_RENDERING_REDIRECT
at.js 사용자 지정 이벤트는 triggerView()에도 적용할 수 있습니다.
{"page" : "true"}를 사용하여 triggerView()을(를) 호출하면 Target 백엔드에 알림이 전송되고 노출이 증가합니다. 이렇게 되면 프로필 스크립트도 실행됩니까?
Target 백엔드에 미리 가져오기 호출이 수행되면 프로필 스크립트가 실행됩니다. 그런 다음 영향을 받은 프로필 데이터가 암호화되어 클라이언트측으로 다시 전달됩니다. {"page": "true"}인 triggerView()를 호출하면 암호화된 프로필 데이터와 함께 알림이 전송됩니다. 이때 Target 백엔드가 프로필 데이터를 해독하고 데이터베이스에 저장합니다.
플리커를 관리하기 위해 triggerView()를 호출하기 전에 사전 숨김 코드를 추가해야 합니까?
아니요. triggerView()를 호출하기 전에 사전 숨김(pre-hiding) 코드를 추가할 필요는 없습니다. at.js 2.x에서는 보기가 표시되고 적용되기 전에 사전 숨김 및 플리커(깜박임) 로직을 관리합니다.
at.js 1.대상을 만들기 위한 x 매개 변수는 at.js 2에서 지원되지 않습니다.x 를 사용하는 SPA에서)하면 어떻게 될까요.
다음 at.js 1.x 매개 변수는 at.js 2를 사용할 때 현재 대상 만들기에 대해 지원되지 않음 입니다.x:
browserHeight
browserWidth
browserTimeOffset
screenHeight
screenWidth
screenOrientation
colorDepth
devicePixelRatio
vst.* 매개 변수(아래 참조)
at.js 2.x 가 vst를 사용하여 대상자 만들기를 지원하지 않습니다.* 매개 변수
at.js 1.x 에서 vst를 사용할 수 있습니다.* 대상을 만들 mbox 매개 변수입니다. 이것은 at.js 1.x 이(가) mbox 매개 변수를 Target 백 엔드로 보냈습니다. at.js 2로 마이그레이션한 후 x, at.js 2이므로 이 매개 변수를 사용하여 대상을 더 이상 만들 수 없습니다.x 에서 mbox 매개 변수를 다르게 보냅니다.
at.js 호환성
다음 표에서는 다양한 활동 유형, 통합, 기능 및 at.js 함수와의 at.js 2.x 호환성과 다양한 활동 유형, 통합, 기능 및 at.js 함수.
활동 유형
유형
지원됨?
A/B Test
예
Auto-Allocate
예
Auto-Target
예
Experience Targeting
예
Multivariate Test
예
Automated Personalization
예
Recommendations
예
NOTE
Auto-Target 활동은 at.js 2를 통해 지원됩니다.모든 수정 사항이 Page Load Event에 적용되면 x 및 VEC가 실행됩니다. 수정 사항이 특정 보기에 추가되면 A/B Test, Auto-Allocate 및 Experience Targeting (XT) 활동만 지원됩니다.