브라우저의 JavaScript 콘솔에 오류가 표시되는지 확인합니다. 처리되지 않은 오류로 인해 후속 코드가 제대로 실행되지 않을 수 있습니다. 오류가 있는 경우 오류를 일으키는 스크립트 및 어떤 영역을 확인하십시오. 스크립트 경로는 스크립트가 속하는 기능을 나타낼 수 있습니다.
경우에 따라 구성 요소 수준에서 추가 구문을 추가하는 것이 도움이 될 수 있습니다. 구성 요소가 렌더링되므로 잠재적인 문제를 식별하는 데 도움이 되는 변수 값을 표시하는 임시 마크업을 추가할 수 있습니다. 예:
<%
log.info("myVariable={}", myVariable);
%>
<!--
<%= myJspVariable %>
-->
<!--
${ myHtlVariable }
-->
로깅에 대한 자세한 내용은 로깅 및 감사 레코드 및 로그 파일 작업 페이지.
보고서 가져오기 프로그램으로 인해 CPU/메모리 사용량이 높거나 원인이 됩니다 OutOfMemoryError
예외.
이 문제를 해결하려면 다음을 수행하십시오.
ManagedPollingImporter
구성 OSGi 콘솔.AEM에서 사용자 지정 데이터 가져오기 서비스를 만드는 방법에 대한 자세한 내용은 다음 문서를 참조하십시오 https://helpx.adobe.com/experience-manager/using/polling.html.
Analytics는 상속 메커니즘을 염두에 두고 디자인되었습니다. 일반적으로 페이지 속성 내에서 Analytics 구성에 참조를 추가하여 사이트에 대해 Analytics 를 활성화합니다 Cloud Services 탭. 그런 다음 페이지에 다른 구성이 필요하지 않은 경우 구성을 다시 참조할 필요 없이 자동으로 모든 하위 페이지에 상속됩니다. 사이트에 참조를 추가하면 해당 유형의 여러 노드(AEM 6.3 및 그 이전 버전에는 12, AEM 6.4 이상에는 6)가 자동으로 생성됩니다 cq;PollConfig
에서는 Analytics 데이터를 AEM으로 가져오는 데 사용되는 PollingImporter를 인스턴스화합니다. 그 결과:
첫째, error.log 활성 또는 등록된 PollingImporter의 양에 대한 자세한 정보를 제공할 수 있습니다. 예:
# Count PollingImporter entries
$ sed -n "s/.*(aem-analytics-integration-.*).*target=\(.*\),interval.*/\1/p" error.log | wc -l
86415
# Count PollingImporter entries for last30days
$ sed -n "s/.*(aem-analytics-integration-last30Days).*target=\(.*\),interval.*/\1/p" error.log | wc -l
14531
# Count unique paths of PollingImporter registrations
sed -n "s/.*(aem-analytics-integration-.*).*target=\(.*\)\/jcr:content.*/\1/p" error.log | sort | uniq -c
28115
둘째, 상위 페이지(계층 구조에서 높음)만 Analytics 구성을 참조하는지 확인합니다.
AEM에서 사용자 지정 데이터 가져오기 서비스를 만드는 방법에 대한 자세한 내용은 다음 문서를 참조하십시오 https://helpx.adobe.com/experience-manager/using/polling.html.
다음 DTM 페이지 속성에서 구성이 참조되었더라도 스크립트 태그가 페이지에 제대로 포함되지 않습니다 Cloud Services 탭.
이 문제를 해결하려면 다음을 시도해 볼 수 있습니다.
암호화된 속성의 암호를 해독할 수 있는지 확인합니다(암호화는 각 AEM 인스턴스에서 자동으로 생성된 다른 키를 사용할 수 있습니다). 자세한 내용은 구성 속성에 대한 암호화 지원.
에 있는 구성을 다시 게시합니다. /etc/cloudservices/dynamictagmanagement
ACL 확인 /etc/cloudservices
. ACL은 다음과 같습니다.
ACL 관리에 대한 자세한 내용은 사용자 관리 및 보안 페이지.
이 문제는 사용자 지정 페이지 구성 요소에 Target DTM 통합을 처리하는 올바른 JSP 또는 클라이언트 라이브러리가 포함되지 않기 때문에 발생합니다.
다음 솔루션을 사용해 볼 수 있습니다.
headlibs.jsp
(있는 경우) /apps/<CUSTOM-COMPONENTS-PATH>/headlibs.jsp
)에는 다음 항목이 포함되어 있습니다.<%@include file="/libs/cq/cloudserviceconfigs/components/servicelibs/servicelibs.jsp" %>
<sly data-sly-resource="${'contexthub' @ resourceType='granite/contexthub/components/contexthub'}"/>
head.html
(있는 경우) /apps/<CUSTOM-COMPONENTS-PATH>/head.html
) 포함하지 않음 아래 예와 같이 특정 통합 헤더를 선택적으로 포함할 수 있습니다.<!-- DO NOT MANUALLY INCLUDE SPECIFIC CLOUD SERVICE HEADLIBS LIKE THIS -->
<meta data-sly-include="/libs/cq/dtm/components/dynamictagmanagement/headlibs.jsp" data-sly-unwrap/>
다음 servicelibs.jsp
필요한 analytics JavaScript 개체를 추가하고 웹 사이트와 연결된 클라우드 서비스 라이브러리를 로드합니다. Target 서비스의 경우 라이브러리는 를 통해 로드됩니다. /libs/cq/analytics/components/testandtarget/headlibs.jsp
로드된 라이브러리 집합은 대상 클라이언트 라이브러리( mbox.js
또는 at.js
)를 Target 구성에 사용합니다.
DTM을 사용하여 게재 시 mbox.js
또는 at.js
컨텐츠가 렌더링되기 전에 라이브러리가 로드되었는지 확인합니다. 이러한 라이브러리를 비동기식으로 로드하는 Tag Management 시스템을 사용하면 Target용 JavaScript 코드를 실행할 때 문제가 발생할 수 있습니다.
자세한 내용은 타깃팅된 컨텐츠를 위한 개발 페이지.
이 문제는 DTM을 사용하여 웹 사이트에서 Adobe Analytics이 구현되고 사용자 지정 코드를 사용할 때 나타날 수 있습니다. 원인은 s = new AppMeasurement()
를 인스턴스화하려면 s
개체.
사용 s_gi
대신 new AppMeasurement
인스턴스화 메서드. 예:
var s_account="INSERT-RSID-HERE"
var s=s_gi(s_account)
이 문제에는 다음과 같은 여러 원인이 있을 수 있습니다.
Target 클라이언트 라이브러리 로드( mbox.js
또는 at.js
) 타사 Tag Management 시스템을 비동기식으로 사용하면 타깃팅을 임의로 중단할 수 있습니다. Target 라이브러리는 페이지 헤드에서 동기식으로 로드되어야 합니다. AEM에서 라이브러리가 전달되면 항상 true입니다.
두 개의 Target 클라이언트 라이브러리 로드( at.js
)를 동시에 사용할 수 있습니다. 예를 들어, DTM을 사용하는 사용자와 AEM에서 Target 구성을 사용하는 사용자 각각 있습니다. 이것은 adobe.target
정의 at.js
버전이 다릅니다.
다음 솔루션을 사용해 볼 수 있습니다.
기본적으로 AEM 6.2 및 6.3은 AT.js 버전 1.3.0+와 호환되지 않습니다. API에 대한 매개 변수 유효성 검사를 도입하는 AT.js 버전 1.3.0과 함께, adobe.target.applyOffer()
에는 atjs-itegration.js
코드가 있어야 합니다.
이 문제를 해결하려면 편집 atjs-itegration.js
그리고 "mbox": mboxName
에 대한 매개 변수 개체의 필드 adobe.target.applyOffer()
아래와 같이 변경하는 것을 의미합니다.
adobe.target.getOffer({
"mbox": mboxName,
"params": params,
"success": function (response) {
adobe.target.applyOffer({
"mbox": mboxName, //<--- ADDED PARAM
"selector": "#" + mboxName,
"offer": response
})
},
이 문제는 A4T Analytics Cloud 구성 프로비저닝 문제.
AEM에 다음 확인 요청을 실행하여 Target 계정에 대해 A4T가 제대로 활성화되었는지 확인해야 합니다.
http://localhost:4502/etc/cloudservices/testandtarget/<YOUR-CONFIG>/jcr:content.a4t.json
{
"a4tEnabled": true,
"sharedsecret": "SECRET",
"proxyUrl": "/libs/cq/contentinsight/content/proxy.reportingservices.json",
"active": "true",
"pageName": "",
"url": "https://api5.omniture.com/rs/0.5/",
"username": "USER@DOMAIN"
}
응답에 줄이 포함된 경우 a4tEnabled:false
, 컨텍스트 고객 지원 Adobe 계정이 제대로 프로비저닝되도록 하려면 다음을 수행하십시오.
아래에 나와 있는 두 가지 Target API는 Target 문제를 해결할 때 유용할 수 있습니다.
https://admin.testandtarget.omniture.com/rest/v1/endpoint/<CLIENTCODE>.json
{"api":"https://admin<N>.testandtarget.omniture.com/admin/rest/v1"}
https://admin<N>.testandtarget.omniture.com/admin/rest/v1/clients/<CLIENT>?email=<EMAIL>&password=<PASSWORD>
Response for N=4, CLIENT-dayintegrationintern
{
"clientCode": "dayintegrationintern",
"companyName": "Day Integration - Internal",
"omnitureCompanyId": "Day Integration Internal",
"softTraxId": -1,
"address1": "XYZ",
"city": "San Francisco",
"state": "ca",
"zip": "94107",
"country": "UNITED STATES",
"locale": "de_DE",
"timeZone": "Europe/Berlin",
"phone": "XX-XX-XXXX",
"serviceLevel": "Up to 100,000",
"privileges": [
"a4t",
"hosts",
"TnT-SC-integration",
"mvt",
"steps",
"testing-campaigns",
"view-snapshot",
"on-site-editor",
"optimizing-campaign",
"third-party-id-support",
"landing-page-campaigns",
"segment",
"rest-create-user",
"advanced-targeting",
"mobile-device-targeting",
"beta",
"geolocation"
]
}