Überprüfen Sie, ob in der JavaScript-Konsole des Browsers Fehler angezeigt werden. Nicht behobene Fehler können verhindern, dass der nachfolgende Code ordnungsgemäß ausgeführt wird. Wenn Fehler angezeigt werden, überprüfen Sie, welches Skript den Fehler verursacht und in welchem Bereich. Der Pfad zum Skript weist möglicherweise darauf hin, zu welcher Funktion das Skript gehört.
In einigen Fällen kann es hilfreich sein, zusätzliche Anweisungen auf der Komponentenebene hinzuzufügen. Da die Komponente gerendert wird, können Sie ein temporäres Markup hinzufügen, um Variablenwerte anzuzeigen, die Ihnen bei der Erkennung potenzieller Probleme helfen können. Beispiel:
<%
log.info("myVariable={}", myVariable);
%>
<!--
<%= myJspVariable %>
-->
<!--
${ myHtlVariable }
-->
Weitere Informationen zur Protokollierung finden Sie auf den Seiten Protokollierung und Arbeiten mit Audit-Aufzeichnungen und Protokolldateien.
Der Report Importer verursacht hohe CPU-/Speichernutzung oder OutOfMemoryError
-Ausnahmefehler.
Um dieses Problem zu beheben, können Sie Folgendes versuchen:
ManagedPollingImporter
-Konfigurationen in der OSGi-Konsole.Weitere Informationen zum Erstellen benutzerdefinierter Datenimportdienste in AEM finden Sie im folgenden Artikel https://helpx.adobe.com/experience-manager/using/polling.html.
Analytics wurde basierend auf einem Vererbungsmechanismus entwickelt. In der Regel aktivieren Sie Analytics für eine Site, indem Sie auf der Registerkarte Cloud-Services der Seiteneigenschaften eine Referenz zu einer Analytics-Konfiguration hinzufügen. Die Konfiguration wird dann automatisch auf alle Unterseiten vererbt, ohne dass sie erneut referenziert werden muss, es sei denn, eine Seite erfordert eine andere Konfiguration. Beim Hinzufügen eines Verweises zu einer Site werden auch automatisch mehrere Knoten (12 für AEM 6.3 und früher oder 6 für AEM 6.4) des Typs cq;PollConfig
erstellt, die PollingImporter instanziieren, die zum Importieren von Analytics-Daten in AEM verwendet werden. Das führt zu folgenden Problemen:
Erstens könnte die Analyse von error.log Ihnen einen Einblick in die Menge der aktiven oder registrierten PollingImporter geben. Beispiel:
# 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
Stellen Sie außerdem sicher, dass nur Seiten der obersten Ebene (oben in der Hierarchie) auf eine Analytics-Konfiguration verweisen.
Weitere Informationen zum Erstellen benutzerdefinierter Datenimportdienste in AEM finden Sie im folgenden Artikel https://helpx.adobe.com/experience-manager/using/polling.html.
Das Skript-Tag DTM wird nicht ordnungsgemäß auf der Seite eingefügt, obwohl auf der Registerkarte Cloud-Services der Seiteneigenschaften auf die Konfiguration verwiesen wurde.
Um dieses Problem zu beheben, können Sie Folgendes versuchen:
Stellen Sie sicher, dass verschlüsselte Eigenschaften entschlüsselt werden können (beachten Sie, dass für die Verschlüsselung möglicherweise für jede AEM-Instanz ein anderer automatisch generierter Schlüssel verwendet wird). Weitere Informationen finden Sie unter Verschlüsselungsunterstützung für Konfigurationseigenschaften.
Veröffentlichen Sie die Konfigurationen unter /etc/cloudservices/dynamictagmanagement
erneut.
Markieren Sie ACLs auf /etc/cloudservices
. Die ACLs sollten wie folgt lauten:
Weitere Informationen zur Verwaltung von ACLs finden Sie auf der Seite Benutzerverwaltung und Sicherheit.
Dieses Problem tritt auf, da benutzerdefinierte Seitenkomponenten nicht die richtigen JSP- oder Client-Bibliotheken zum Verarbeiten der Target-DTM-Integrationen enthalten.
Sie können die folgenden Lösungen ausprobieren:
headlibs.jsp
(sofern vorhanden /apps/<CUSTOM-COMPONENTS-PATH>/headlibs.jsp
) Folgendes enthält:<%@include file="/libs/cq/cloudserviceconfigs/components/servicelibs/servicelibs.jsp" %>
<sly data-sly-resource="${'contexthub' @ resourceType='granite/contexthub/components/contexthub'}"/>
head.html
(falls /apps/<CUSTOM-COMPONENTS-PATH>/head.html
) nicht selektiv bestimmte Integrations-Headlibs enthält, wie im folgenden Beispiel:<!-- 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
fügt die erforderlichen JavaScript-Analyseobjekte hinzu und lädt die Cloud-Service-Bibliotheken, die mit der Website verbunden sind. Für den Zielgruppe-Dienst werden die Bibliotheken über das /libs/cq/analytics/components/testandtarget/headlibs.jsp
geladen
Die geladenen Bibliotheken hängen von der Art der Ziel-Client-Bibliothek (mbox.js
oder at.js
) ab, die in der Target-Konfiguration verwendet wird.
Wenn Sie DTM zur Bereitstellung von mbox.js
oder at.js
verwenden, stellen Sie sicher, dass die Bibliotheken geladen werden, bevor der Inhalt gerendert wird. Die Verwendung von Tag-Management-Systemen, die diese Bibliotheken asynchron laden, kann zu Problemen bei der Ausführung des zielspezifischen JavaScript-Codes führen.
Weitere Informationen finden Sie auf der Seite Entwickeln für zielgerichtete Inhalte.
Dieses Problem kann auftreten, wenn Adobe Analytics mithilfe von DTM implementiert wird und benutzerdefinierter Code verwendet wird. Die Ursache dafür ist die Instanziierung des s
-Objekts mit dem s = new AppMeasurement()
.
Verwenden Sie s_gi
anstelle der Instanziierungsmethode new AppMeasurement
. Beispiel:
var s_account="INSERT-RSID-HERE"
var s=s_gi(s_account)
Dieses Problem kann mehrere Ursachen haben:
Durch asynchrones Laden von Zielgruppe-Client-Bibliotheken ( mbox.js
oder at.js
) mit Drittanbieter-Tag-Management-Systemen kann das Targeting nach dem Zufallsprinzip unterbrochen werden. Die Target-Bibliotheken sollen synchron im Seitenheader geladen werden. Dies ist immer dann der Fall, wenn die Bibliotheken von AEM bereitgestellt werden.
Laden von zwei Zielgruppe-Client-Bibliotheken ( at.js
) gleichzeitig, z. B. eine mit DTM und eine mit der Zielgruppe-Konfiguration in AEM. kann dies zu Konflikten in der adobe.target
-Definition führen, wenn die at.js
-Versionen unterschiedlich sind.
Sie können die folgenden Lösungen ausprobieren:
Standardmäßig sind AEM 6.2 und 6.3 nicht mit AT.js Version 1.3.0 und höher kompatibel. Bei AT.js Version 1.3.0, die die Parameterüberprüfung für ihre APIs einführt, erfordert adobe.target.applyOffer()
einen "mbox"-Parameter, der nicht vom atjs-itegration.js
-Code bereitgestellt wird.
Um dieses Problem zu beheben, bearbeiten Sie atjs-itegration.js
und fügen Sie das Feld "mbox": mboxName
wie folgt im Parameterobjekt für adobe.target.applyOffer()
hinzu:
adobe.target.getOffer({
"mbox": mboxName,
"params": params,
"success": function (response) {
adobe.target.applyOffer({
"mbox": mboxName, //<--- ADDED PARAM
"selector": "#" + mboxName,
"offer": response
})
},
Dieses Problem ist höchstwahrscheinlich ein A4T Analytics Cloud Configuration Bereitstellungsproblem.
Sie müssen sicherstellen, dass A4T für Ihr Target-Konto ordnungsgemäß aktiviert ist, indem Sie die folgende Überprüfungsanforderung für AEM senden:
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"
}
Wenn die Antwort die Zeile a4tEnabled:false
enthält, wenden Sie sich an die Adobe-Kundenunterstützung,, um die Bereitstellung Ihres Kontos zu korrigieren.
Nachfolgend werden zwei Target-APIs aufgeführt, die bei der Behebung von Target-Problemen hilfreich sein können:
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"
]
}