이벤트 추적 확장

마지막 업데이트: 2023-11-07
  • 주제:
  • Developing
    이 항목에 대한 자세한 내용 보기
  • 작성 대상:
  • Developer

AEM Analytics를 사용하면 웹 사이트에서 사용자 상호 작용을 추적할 수 있습니다. 개발자의 경우 다음을 수행해야 할 수 있습니다.

노트

이 정보는 기본적으로 일반적이지만 Adobe Analytics 특정 예제에 대해 설명합니다.

구성 요소 개발 및 대화 상자에 대한 일반적인 내용은 구성 요소 개발.

사용자 지정 이벤트

사용자 지정 이벤트는 페이지의 특정 구성 요소 가용성에 따라 달라지는 모든 항목을 추적합니다. 페이지 구성 요소가 다른 구성 요소로 처리되므로 여기에는 템플릿별 이벤트도 포함됩니다.

페이지 로드 시 사용자 지정 이벤트 추적

이 작업은 의사 특성을 사용하여 수행할 수 있습니다 data-tracking 이전 레코드 속성은 이전 버전과의 호환성을 위해 계속 지원됩니다. 모든 HTML 태그에 추가할 수 있습니다.

구문 data-tracking 은(는)

  • data-tracking="{'event': ['eventName'], 'values': {'key': 'value', 'nextKey': 'nextValue'}, componentPath: 'myapp/component/mycomponent'}"

두 번째 매개 변수로 페이로드라는 키-값 쌍을 원하는 수만큼 전달할 수 있습니다.

예제는 다음과 같습니다.

<span data-tracking="{event:'blogEntryView',
                                values:{
                                   'blogEntryContentType': 'blog',
                                   'blogEntryUniqueID': '<%= xssAPI.encodeForJSString(entry.getId()) %>',
                                   'blogEntryTitle': '<%= xssAPI.encodeForJSString(entry.getTitle()) %>',
                                   'blogEntryAuthor':'<%= xssAPI.encodeForJSString(entry.getAuthor()) %>',
                                   'blogEntryPageLanguage':'<%= currentPage.getLanguage(true) %>'
                                },
                                componentPath:'myapp/component/mycomponent'}">
</span>

페이지 로드 시, 모두 data-tracking 특성이 수집되고 ContextHub의 이벤트 저장소에 추가되어, Adobe Analytics 이벤트에 매핑될 수 있습니다. 매핑되지 않은 이벤트는 Adobe Analytics에서 추적되지 않습니다. 다음을 참조하십시오 Adobe Analytics에 연결 를 참조하십시오.

페이지 로드 후 사용자 지정 이벤트 추적

페이지가 로드된 후 발생하는 이벤트(예: 사용자 상호 작용)를 추적하려면 CQ_Analytics.record JavaScript 함수:

  • CQ_Analytics.record({event: 'eventName', values: { valueName: 'VALUE' }, collect: false, options: { obj: this, defaultLinkType: 'X' }, componentPath: '<%=resource.getResourceType()%>'})

위치

  • events 는 문자열 또는 문자열 배열(여러 이벤트의 경우)입니다.

  • values 추적할 모든 값을 포함합니다.

  • collect 는 선택 사항이며 이벤트와 데이터 개체가 포함된 배열을 반환합니다.

  • options 는 선택 사항이며 HTML 요소와 같은 링크 추적 옵션을 포함합니다 obj [defaultLinkType](https://microsite.omniture.com/t2/help/en_US/sc/implement/index.html#linkType).

  • componentPath 은(는) 필요한 속성이며 다음으로 설정하는 것이 좋습니다. <%=resource.getResourceType()%>

예를 들어, 다음 정의를 사용하면 사용자가 위로 이동 링크로 인해 두 이벤트가 발생하고 jumptopheadlineclick, 실행할 날짜:

<h1 data-tracking="{event: 'headline', values: {level:'1'}, componentPath: '<%=resource.getResourceType()%>'}">
  My Headline <a href="#" onclick="CQ_Analytics.record({event: ['jumptop','headlineclick'],  values: {level:'1'}, componentPath: '<%=resource.getResourceType()%>'})">Jump to top</a>
</h1>

ContextHub의 값 액세스

ContextHub JavaScript API에는 getStore(name) 지정된 스토어를 반환하는 함수입니다(사용 가능한 경우). 그 가게는 getItem(key) 지정된 키의 값을 반환하는 함수입니다(사용 가능한 경우). 사용 getKeys() 함수 특정 저장소에 대해 정의된 키 배열을 검색할 수 있습니다.

를 사용하여 함수를 바인딩하여 저장소의 값 변경 내용에 대한 알림을 받을 수 있습니다. ContextHub.getStore(name).eventing.on(ContextHub.Constants.EVENT_STORE_UPDATED, handler, selector, triggerForPastEvents) 함수.

ContextHub의 초기 가용성을 알리는 가장 좋은 방법은 ContextHub.eventing.on(ContextHub.Constants.EVENT_ALL_STORES_READY, handler, selector, triggerForPastEvents); 함수.

ContextHub에 대한 추가 이벤트:

모든 스토어가 준비됨:

ContextHub.eventing.on(ContextHub.Constants.EVENT_ALL_STORES_READY, handler, selector, triggerForPastEvents);

특정 저장소:

ContextHub.getStore(store).eventing.on(ContextHub.Constants.EVENT_STORE_READY, handler, selector, triggerForPastEvents)

노트

전체 참조 ContextHub API 참조

레코드 콜백 추가

함수를 사용하여 콜백을 등록하기 전과 등록하기 후 CQ_Analytics.registerBeforeCallback(callback,rank)CQ_Analytics.registerAfterCallback(callback,rank).

두 함수 모두 콜백이 실행되는 순서를 지정하는 첫 번째 인수로 함수를 사용하고 두 번째 인수로 등급을 사용합니다.

콜백이 false를 반환하는 경우 실행 체인에서 뒤에 오는 콜백이 실행되지 않습니다.

이 페이지의