이벤트 기반 AEM 핵심 구성 요소와 함께 클라이언트 데이터 레이어 Adobe를 사용하여 Adobe Experience Manager 사이트에서 특정 구성 요소의 클릭을 추적합니다. Experience Platform Launch의 규칙을 사용해 클릭 이벤트를 수신하고, 구성 요소로 필터링하고 추적 링크 비콘으로 데이터를 Adobe Analytics로 전송하는 방법에 대해 알아봅니다.
WKND 마케팅 팀은 홈 페이지에서 가장 잘 수행하는 CTA(Call to Action) 단추를 이해하려고 합니다. 이 자습서에서는 Teaser 및 Button 구성 요소에서 cmp:click
이벤트를 수신하고 구성 요소 ID와 새 이벤트를 추적 링크 비콘과 함께 Adobe Analytics에 보내는 새 규칙을 Experience Platform Launch에 추가합니다.
cmp:click
이벤트를 기반으로 Launch에서 이벤트 기반 규칙을 만듭니다.이 자습서는 Adobe Analytics로 페이지 데이터를 수집하는 일련의 작업으로서, 다음과 같은 내용이 있다고 가정합니다.
Launch에서 규칙을 만들기 전에 Button 및 Teaser🔗에 대한 스키마를 검토하고 데이터 레이어 구현에서 검사하는 것이 유용합니다.
https://wknd.site/us/en.html로 이동합니다.
브라우저의 개발자 도구를 열고 콘솔로 이동합니다. 다음 명령을 실행합니다.
adobeDataLayer.getState();
이렇게 하면 Adobe 클라이언트 데이터 레이어의 현재 상태가 반환됩니다.
응답을 확장하고 button-
및 teaser-xyz-cta
항목 접두어가 있는 항목을 찾습니다. 다음과 같은 데이터 스키마가 표시됩니다.
단추 스키마:
button-2e6d32893a:
@type: "wknd/components/button"
dc:title: "View All"
parentId: "page-2eee4f8914"
repo:modifyDate: "2020-07-11T22:17:55Z"
xdm:linkURL: "/content/wknd/us/en/magazine.html"
Teaser 스키마:
teaser-da32481ec8-cta-adf3c09db9:
@type: "wknd/components/teaser/cta"
dc:title: "Surf's Up"
parentId: "teaser-da32481ec8"
xdm:linkURL: "/content/wknd/us/en/magazine/san-diego-surf.html"
이는 구성 요소/컨테이너 항목 스키마를 기반으로 합니다. Launch에서 만드는 규칙은 이 스키마를 사용합니다.
Adobe 클라이언트 데이터 계층은 이벤트 기반 데이터 레이어입니다. 코어 구성 요소를 클릭하면 데이터 레이어를 통해 cmp:click
이벤트가 전달됩니다. 다음으로 cmp:click
이벤트를 수신할 규칙을 만듭니다.
AEM Site와 통합된 Experience Platform Launch 및 웹 속성으로 이동합니다.
Launch UI에서 규칙 섹션으로 이동한 다음 규칙 추가를 클릭합니다.
규칙 이름을 CTA Clicked로 지정합니다.
Events > Add을 클릭하여 이벤트 구성 마법사를 엽니다.
이벤트 유형 아래에서 사용자 지정 코드를 선택합니다.
주 패널에서 편집기 열기 를 클릭하고 다음 코드 조각을 입력합니다.
var componentClickedHandler = function(evt) {
// defensive coding to avoid a null pointer exception
if(evt.hasOwnProperty("eventInfo") && evt.eventInfo.hasOwnProperty("path")) {
//trigger Launch Rule and pass event
console.debug("cmp:click event: " + evt.eventInfo.path);
var event = {
//include the path of the component that triggered the event
path: evt.eventInfo.path,
//get the state of the component that triggered the event
component: window.adobeDataLayer.getState(evt.eventInfo.path)
};
//Trigger the Launch Rule, passing in the new `event` object
// the `event` obj can now be referenced by the reserved name `event` by other Launch data elements
// i.e `event.component['someKey']`
trigger(event);
}
}
//set the namespace to avoid a potential race condition
window.adobeDataLayer = window.adobeDataLayer || [];
//push the event listener for cmp:click into the data layer
window.adobeDataLayer.push(function (dl) {
//add event listener for `cmp:click` and callback to the `componentClickedHandler` function
dl.addEventListener("cmp:click", componentClickedHandler);
});
위의 코드 조각은 함수를 데이터 레이어에 푸시하여 이벤트 리스너를 추가합니다. cmp:click
이벤트가 트리거되면 componentClickedHandler
함수가 호출됩니다. 이 함수에서 몇 가지 상태 검사가 추가되고 이벤트를 트리거한 구성 요소에 대한 데이터 레이어🔗의 최신 상태로 새 event
개체가 작성됩니다.
그 후 trigger(event)
이 호출됩니다. trigger()
는 Launch에서 예약된 이름이며, Launch 규칙에 "트리거"됩니다. event
개체를 매개 변수로 전달합니다. 그러면 event
Launch에서 다른 예약된 이름으로 표시됩니다. 이제 Launch의 데이터 요소는 다음과 같은 다양한 속성을 참조할 수 있습니다. event.component['someKey']
변경 사항을 저장합니다.
작업 아래의 추가를 클릭하여 작업 구성 마법사를 엽니다.
작업 유형사용자 지정 코드를 선택합니다.
주 패널에서 편집기 열기 를 클릭하고 다음 코드 조각을 입력합니다.
console.debug("Component Clicked");
console.debug("Component Path: " + event.path);
console.debug("Component type: " + event.component['@type']);
console.debug("Component text: " + event.component['dc:title']);
event
개체가 사용자 지정 이벤트에서 호출된 trigger()
메서드에서 전달됩니다. component
클릭을 트리거한 데이터 레이어에서 파생된 구성 요소 getState
의 현재 상태입니다.
변경 사항을 저장하고 Launch에서 build를 실행하여 코드를 AEM 사이트에서 사용되는 환경으로 승격합니다.
Adobe Experience Platform Debugger를 사용하여 포함 코드를 개발 환경으로 전환하는 것이 매우 유용할 수 있습니다.
WKND 사이트로 이동하고 개발자 도구를 열어 콘솔을 봅니다. 로그 보존을 선택합니다.
Teaser 또는 Button CTA 단추 중 하나를 클릭하여 다른 페이지로 이동합니다.
개발자 콘솔에서 CTA Clicked 규칙이 실행되었음을 확인합니다.
그런 다음 클릭한 구성 요소 ID와 제목을 캡처하는 데이터 요소 를 만듭니다. 이전 연습에서 event.path
의 출력은 component.button-b6562c963d
과 비슷했고 event.component['dc:title']
의 값은 "View Puts"와 같은 것이었습니다.
AEM Site와 통합된 Experience Platform Launch 및 웹 속성으로 이동합니다.
데이터 요소 섹션으로 이동하고 새 데이터 요소 추가를 클릭합니다.
이름에 구성 요소 ID를 입력합니다.
데이터 요소 유형에 대해 사용자 지정 코드를 선택합니다.
Open Editor 를 클릭하고 사용자 지정 코드 편집기에 다음을 입력합니다.
if(event && event.path && event.path.includes('.')) {
// split on the `.` to return just the component ID
return event.path.split('.')[1];
}
변경 사항을 저장합니다.
event
개체는 Launch에서 Rule을 트리거하는 이벤트를 기반으로 사용 가능하고 범위가 지정된다는 점을 상기하십시오. 데이터 요소가 규칙 내에서 참조된일 때까지 데이터 요소의 값이 설정되지 않습니다. 따라서 이전 연습 에서 만든CTA Clicked규칙과 같은 규칙 내에서 이 데이터 요소를 사용하는 것은 안전하지만은 다른 컨텍스트에서 사용할 수 없습니다.
데이터 요소 섹션으로 이동하고 새 데이터 요소 추가를 클릭합니다.
이름에 구성 요소 제목을 입력합니다.
데이터 요소 유형에 대해 사용자 지정 코드를 선택합니다.
Open Editor 를 클릭하고 사용자 지정 코드 편집기에 다음을 입력합니다.
if(event && event.component && event.component.hasOwnProperty('dc:title')) {
return event.component['dc:title'];
}
변경 사항을 저장합니다.
다음으로 Teaser 또는 Button에 대해 cmp:click
이벤트가 실행될 때만 규칙이 실행되도록 CTA Clicked 규칙을 업데이트합니다. Teaser의 CTA는 데이터 계층에서 별도의 객체로 간주되므로 Teaser에서 Teaser가 생성되었는지 확인하기 위해 상위를 확인하는 것이 중요합니다.
Launch UI에서 이전에 만든 CTA 클릭됨 규칙으로 이동합니다.
Conditions에서 추가를 클릭하여 Condition Configuration 마법사를 엽니다.
조건 유형에 대해 사용자 지정 코드를 선택합니다.
Open Editor 를 클릭하고 사용자 지정 코드 편집기에 다음을 입력합니다.
if(event && event.component && event.component.hasOwnProperty('@type')) {
// console.log("Event Type: " + event.component['@type']);
//Check for Button Type OR Teaser CTA type
if(event.component['@type'] === 'wknd/components/button' ||
event.component['@type'] === 'wknd/components/teaser/cta') {
return true;
}
}
// none of the conditions are met, return false
return false;
위의 코드는 먼저 리소스 유형이 Button에서 왔는지를 확인한 다음, 리소스 유형이 Teaser 내의 CTA에서 왔는지를 확인합니다.
변경 사항을 저장합니다.
현재 CTA Clicked 규칙은 콘솔 문을 출력합니다. 다음으로, 데이터 요소 및 Analytics 확장을 사용하여 Analytics 변수를 action로 설정합니다. 또한 추적 링크를 트리거하고 수집된 데이터를 Adobe Analytics에 전송하는 추가 작업을 설정하겠습니다.
CTA Clicked 규칙 에서 Core - Custom Code 작업(console 문)을 제거합니다.
작업에서 추가를 클릭하여 새 작업을 추가합니다.
확장 유형을 Adobe Analytics로 설정하고 작업 유형변수를 변수 설정으로 설정합니다.
eVars, Props 및 Events에 대해 다음 값을 설정합니다.
evar8
- %Component ID%
prop8
- %Component ID%
event8
여기서 %Component ID%
은(는) 클릭한 CTA에 대한 고유 식별자를 보장하므로 사용됩니다. %Component ID%
을 사용할 경우 Analytics 보고서에 button-2e6d32893a
과 같은 값이 포함될 가능성이 있습니다. %Component Title%
을 사용하면 보다 친숙한 이름이 지정되지만, 값이 고유하지 않을 수 있습니다.
그런 다음 더하기 아이콘을 탭하여 Adobe Analytics - 변수 설정 오른쪽에 추가 작업을 추가합니다.
확장 유형을 Adobe Analytics로 설정하고 작업 유형비콘 보내기로 설정합니다.
추적에서 라디오 단추를 s.tl()
로 설정합니다.
링크 유형에 대해 사용자 지정 링크를 선택하고 링크 이름에 대해 값을 다음으로 설정하십시오. %Component Title%: CTA Clicked
:
이렇게 하면 데이터 요소 구성 요소 제목과 정적 문자열 CTA 클릭됨이 결합됩니다.
변경 사항을 저장합니다. CTA Clicked 규칙에는 이제 다음 구성이 있어야 합니다.
cmp:click
수신합니다.모든 변경 사항을 저장하고 해당 환경으로 승격하여 Launch 라이브러리를 빌드합니다.
이제 CTA Clicked 규칙이 Analytics 비콘을 전송하므로 Experience Platform 디버거를 사용하여 Analytics 추적 변수를 볼 수 있습니다.
브라우저에서 WKND 사이트를 엽니다.
디버거 아이콘 을 클릭하여 Experience Platform 디버거를 엽니다.
앞에서 설명한 대로 Debugger가 Launch 속성을 여러분의 개발 환경에 매핑하는지 확인하고 콘솔 로깅이 선택되어 있는지 확인합니다.
Analytics 메뉴를 열고 보고서 세트가 your 보고서 세트로 설정되어 있는지 확인합니다.
브라우저에서 Teaser 또는 Button CTA 단추 중 하나를 클릭하여 다른 페이지로 이동합니다.
Experience Platform Debugger로 돌아가서 아래로 스크롤하여 네트워크 요청 > 보고서 세트를 확장합니다. eVar, prop 및 event 세트를 찾을 수 있어야 합니다.
브라우저로 돌아가서 개발자 콘솔을 엽니다. 사이트의 바닥글로 이동하고 탐색 링크 중 하나를 클릭합니다.
브라우저 콘솔에서 "CTA Clicked" 규칙에 대한 메시지 "사용자 지정 코드"가에 충족되지 않았습니다.
이것은 탐색 구성 요소가 리소스 유형에 대해 를 확인하므로 cmp:click
이벤트 하지만를 트리거하므로 작업이 수행되지 않습니다.
콘솔 로그가 표시되지 않으면 Experience Platform 디버거의 Launch 아래에서 콘솔 로깅이 선택되었는지 확인하십시오.
이벤트 기반 Adobe 클라이언트 데이터 레이어 및 Experience Platform Launch을 사용하여 Adobe Experience Manager 사이트에서 특정 구성 요소의 클릭을 추적했습니다.