Vérifiez si des erreurs s’affichent sur la console JavaScript du navigateur. Les erreurs non prises en charge peuvent empêcher le code suivant de s’exécuter correctement. S’il y a des erreurs, vérifiez le script à l’origine de chaque erreur et dans quelle zone celle-ci s’est produite. Le chemin d’accès au script peut donner une indication de la fonctionnalité à laquelle le script est associé.
Dans certains cas, il peut s’avérer utile d’ajouter des instructions au niveau du composant. Puisque le composant est rendu, vous pouvez ajouter un balisage temporaire pour afficher les valeurs de variable qui pourraient vous aider à identifier les problèmes potentiels. Par exemple :
<%
log.info("myVariable={}", myVariable);
%>
<!--
<%= myJspVariable %>
-->
<!--
${ myHtlVariable }
-->
Pour plus d’informations sur la connexion, reportez-vous aux pages Connexion et Utilisation d’enregistrements d’audit et de fichiers journaux.
L’importateur de rapports mobilise fortement le processeur ou la mémoire ou entraîne des exceptions de type OutOfMemoryError
.
Pour résoudre ce problème, vous pouvez essayer la méthode suivante :
ManagedPollingImporter
dans la console OSGi.Pour plus d’informations sur la création de services d’importation de données personnalisés dans AEM, consultez l’article https://helpx.adobe.com/experience-manager/using/polling.html.
Analytics a été conçu avec un mécanisme d’héritage. L’utilisateur active généralement Analytics pour un site en ajoutant une référence à une configuration Analytics dans l’onglet des propriétés de la page des Services cloud. Toutes les sous-pages héritent alors automatiquement de la configuration sans qu’il soit nécessaire d’ajouter à nouveau la référence, sauf si une page nécessite une configuration différente. L’ajout d’une référence à un site crée également automatiquement plusieurs noeuds (12 pour AEM 6.3 et versions antérieures ou 6 pour AEM 6.4) de type cq;PollConfig
qui instancie les importateurs d’interrogations utilisés pour importer des données Analytics dans AEM. Par conséquent :
Tout d’abord, l’analyse du fichier error.log peut vous donner quelques informations sur la quantité d’importateurs d’interrogations actifs ou enregistrés. Par exemple :
# 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
Ensuite, vérifiez que seules les pages principales (en haut dans la hiérarchie) ont une configuration d’Analytics référencée.
Pour plus d’informations sur la création de services d’importation de données personnalisés dans AEM, consultez l’article https://helpx.adobe.com/experience-manager/using/polling.html.
La balise de script de gestion dynamique des balises n’est pas correctement incluse dans la page, même si la configuration a été référencée dans l’onglet des propriétés de la page des Services cloud.
Pour résoudre ce problème, vous pouvez essayer les méthodes suivantes :
Assurez-vous que les propriétés chiffrées peuvent être déchiffrées (notez que le chiffrement peut utiliser une clé générée automatiquement différente pour chaque instance AEM). Pour plus d’informations, voir aussi la section Prise en charge du chiffrement des propriétés de configuration.
Republiez les configurations trouvées dans /etc/cloudservices/dynamictagmanagement
.
Vérifiez les listes de contrôle d’accès sur /etc/cloudservices
. Les listes de contrôle d’accès doivent être les suivantes :
Pour plus d’informations sur la gestion des listes de contrôle d’accès, consultez la page Administration et sécurité des utilisateurs.
Ce problème se produit parce que les composants de page personnalisés n’incluent pas le bon JSP ou les bibliothèques clientes qui gèrent les intégrations de gestion dynamique des balises dans Target.
Vous pouvez essayer les solutions suivantes :
headlibs.jsp
(le cas échéant, /apps/<CUSTOM-COMPONENTS-PATH>/headlibs.jsp
) inclut les propriétés suivantes :<%@include file="/libs/cq/cloudserviceconfigs/components/servicelibs/servicelibs.jsp" %>
<sly data-sly-resource="${'contexthub' @ resourceType='granite/contexthub/components/contexthub'}"/>
head.html
(le cas échéant, /apps/<CUSTOM-COMPONENTS-PATH>/head.html
) n’inclut pas de manière sélective des headlibs d’intégration spécifiques comme dans l’exemple ci-dessous :<!-- DO NOT MANUALLY INCLUDE SPECIFIC CLOUD SERVICE HEADLIBS LIKE THIS -->
<meta data-sly-include="/libs/cq/dtm/components/dynamictagmanagement/headlibs.jsp" data-sly-unwrap/>
Le fichier servicelibs.jsp
ajoute les objets d’analyse JavaScript requis et charge les bibliothèques de service cloud associées au site web. Pour le service Target, les bibliothèques sont chargées via le fichier /libs/cq/analytics/components/testandtarget/headlibs.jsp
.
Le jeu de bibliothèques chargé dépend du type de bibliothèque cliente cible (mbox.js
ou at.js
) utilisé dans la configuration de Target.
Lorsque vous utilisez la gestion dynamique des balises pour fournir mbox.js
ou at.js
, assurez-vous que les bibliothèques sont chargées avant que le contenu soit rendu. L’utilisation de systèmes de gestion des balises qui chargent ces bibliothèques de manière asynchrone risque d’entraîner des problèmes lors de l’exécution du code JavaScript spécifique à la cible.
Pour plus d’informations, consultez la page Développement pour le contenu ciblé.
Ce problème peut se produire lorsqu’Adobe Analytics est mis en œuvre sur le site web à l’aide de la gestion dynamique des balises et utilise le code personnalisé. Cette expression utilise s = new AppMeasurement()
pour instancier l’objet s
.
Utilisez s_gi
plutôt que la méthode d’instanciation new AppMeasurement
. Par exemple :
var s_account="INSERT-RSID-HERE"
var s=s_gi(s_account)
Ce problème peut avoir plusieurs causes :
Le chargement asynchrone de bibliothèques clientes cibles (mbox.js
ou at.js
) à l’aide de systèmes de gestion des balises tiers peut rompre le ciblage de manière aléatoire. Les bibliothèques cibles doivent être chargées de manière synchrone dans l’en-tête de la page. C’est toujours le cas lorsque les bibliothèques sont diffusées à partir d’AEM.
Le chargement simultané de deux bibliothèques clientes cibles (at.js
), par exemple une utilisant la gestion dynamique des balises et l’autre utilisant la configuration cible dans AEM, peut entraîner des conflits pour la définition d’adobe.target
si les versions d’at.js
diffèrent.
Vous pouvez essayer les solutions suivantes :
Les versions prêtes à l’emploi AEM 6.2 et 6.3 ne sont pas compatibles avec AT.js version 1.3.0+. Avec l’introduction par AT.js version 1.3.0 de la validation des paramètres pour ses API, adobe.target.applyOffer()
a besoin d’un paramètre « mbox » qui n’est pas fourni par le code atjs-itegration.js
.
Pour résoudre ce problème, modifiez atjs-itegration.js
et ajoutez le champ "mbox": mboxName
dans l’objet de paramètre pour adobe.target.applyOffer()
comme suit :
adobe.target.getOffer({
"mbox": mboxName,
"params": params,
"success": function (response) {
adobe.target.applyOffer({
"mbox": mboxName, //<--- ADDED PARAM
"selector": "#" + mboxName,
"offer": response
})
},
Ce problème est probablement lié à la mise en service de la configuration A4T d’Analytics Cloud.
Vous devez vérifier qu’A4T est correctement activé pour votre compte Target en envoyant la demande de vérification suivante à AEM :
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"
}
Si la réponse contient la ligne a4tEnabled:false
, contactez l’Assistance clientèle Adobe pour que votre compte soit correctement configuré.
Vous trouverez ci-dessous deux API Target qui peuvent s’avérer utiles lors du dépannage des problèmes dans 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"
]
}