Controlla se nella console JavaScript del browser sono visualizzati errori. Errori non gestiti potrebbero impedire la corretta esecuzione del codice successivo. In caso di errori, controlla lo script che causa l’errore e in quale area. Il percorso dello script potrebbe fornire un’indicazione della funzionalità a cui appartiene lo script.
In alcuni casi, potrebbe essere utile aggiungere istruzioni aggiuntive a livello di componente. Poiché è stato eseguito il rendering del componente, è possibile aggiungere un markup temporaneo per visualizzare i valori delle variabili che potrebbero aiutare a identificare potenziali problemi. Ad esempio:
<%
log.info("myVariable={}", myVariable);
%>
<!--
<%= myJspVariable %>
-->
<!--
${ myHtlVariable }
-->
Per ulteriori dettagli sulla registrazione, vedi Registrazione e Utilizzo dei record di controllo e dei file di registro pagine.
La funzione di importazione report causa un elevato utilizzo di CPU/memoria o causa OutOfMemoryError
eccezioni.
Per risolvere il problema, provare a effettuare le seguenti operazioni:
ManagedPollingImporter
configurazioni in Console OSGi.Per ulteriori informazioni sulla creazione di servizi di importazione dati personalizzati in AEM, leggi l’articolo seguente https://helpx.adobe.com/experience-manager/using/polling.html.
Analytics è stato progettato pensando a un meccanismo di ereditarietà. In genere, per abilitare Analytics per un sito si aggiunge un riferimento a una configurazione Analytics all’interno delle proprietà della pagina Cloud Services scheda. La configurazione viene quindi ereditata automaticamente da tutte le sottopagine senza dover fare nuovamente riferimento ad essa, a meno che una pagina non richieda una configurazione diversa. L’aggiunta di un riferimento a un sito crea automaticamente anche diversi nodi (12 per AEM 6.3 e versioni precedenti o 6 per AEM 6.4 e versioni successive) del tipo cq;PollConfig
che crea un’istanza di PollingImporters utilizzata per importare dati Analytics in AEM. Di conseguenza:
In primo luogo, l'analisi error.log potrebbe fornire informazioni sulla quantità di PollingImporters attivi o registrati. Ad esempio:
# 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
In secondo luogo, assicurati che solo le pagine superiori (in alto nella gerarchia) contengano un riferimento alla configurazione di Analytics.
Per ulteriori informazioni sulla creazione di servizi di importazione dati personalizzati in AEM, leggi l’articolo seguente https://helpx.adobe.com/experience-manager/using/polling.html.
Il DTM il tag script non viene incluso correttamente nella pagina anche se si è fatto riferimento alla configurazione nelle proprietà della pagina Cloud Services scheda.
Per risolvere il problema, puoi provare a effettuare le seguenti operazioni:
Assicurati che le proprietà crittografate possano essere decrittografate (tieni presente che la crittografia potrebbe utilizzare una chiave generata automaticamente diversa su ogni istanza AEM). Per ulteriori informazioni, consulta anche Supporto della crittografia per le proprietà di configurazione.
Ripubblica le configurazioni trovate in /etc/cloudservices/dynamictagmanagement
Controlla ACL su /etc/cloudservices
. Gli ACL devono essere:
Per ulteriori informazioni sulla gestione delle ACL, vedere Amministrazione utenti e sicurezza pagina.
Questo problema si verifica perché i componenti pagina personalizzati non includono le librerie JSP o client corrette che gestiscono le integrazioni Target DTM.
Puoi provare le seguenti soluzioni:
headlibs.jsp
(se presente) /apps/<CUSTOM-COMPONENTS-PATH>/headlibs.jsp
) include quanto segue:<%@include file="/libs/cq/cloudserviceconfigs/components/servicelibs/servicelibs.jsp" %>
<sly data-sly-resource="${'contexthub' @ resourceType='granite/contexthub/components/contexthub'}"/>
head.html
(se presente) /apps/<CUSTOM-COMPONENTS-PATH>/head.html
) non includi selettivamente le headlibs di integrazione specifiche, come nell’esempio seguente:<!-- DO NOT MANUALLY INCLUDE SPECIFIC CLOUD SERVICE HEADLIBS LIKE THIS -->
<meta data-sly-include="/libs/cq/dtm/components/dynamictagmanagement/headlibs.jsp" data-sly-unwrap/>
Il servicelibs.jsp
aggiunge gli oggetti JavaScript di analisi richiesti e carica le librerie del servizio cloud associate al sito web. Per il servizio Target, le librerie vengono caricate tramite /libs/cq/analytics/components/testandtarget/headlibs.jsp
Il set di librerie caricate dipende dal tipo di libreria client di destinazione ( mbox.js
o at.js
) utilizzato nella configurazione di Target.
Quando si utilizza DTM per distribuire mbox.js
o at.js
assicurati che le librerie siano caricate prima che venga eseguito il rendering del contenuto. L’utilizzo di sistemi Tag Management che caricano queste librerie in modo asincrono potrebbe causare problemi nell’esecuzione del codice JavaScript specifico di destinazione.
Per ulteriori informazioni, leggere Sviluppo per contenuti di destinazione pagina.
Questo problema può verificarsi quando Adobe Analytics viene implementato sul sito web utilizzando DTM e utilizza un codice personalizzato. La causa è l’utilizzo di s = new AppMeasurement()
per creare un'istanza di s
oggetto.
Utilizzare s_gi
invece del new AppMeasurement
metodo di creazione istanza. Ad esempio:
var s_account="INSERT-RSID-HERE"
var s=s_gi(s_account)
Questo problema può avere diverse cause:
Caricamento librerie client di Target ( mbox.js
o at.js
) in modo asincrono, utilizzando sistemi Tag Management di terze parti, il targeting può essere interrotto in modo casuale. Le librerie di Target devono essere caricate in modo sincrono nell’intestazione della pagina. Questo è sempre vero quando le librerie vengono distribuite dall’AEM.
Caricamento di due librerie client di Target ( at.js
) simultaneamente, ad esempio, uno che utilizza DTM e uno che utilizza la configurazione di Target nell’AEM. Questo può causare conflitti per adobe.target
definizione se at.js
le versioni sono diverse.
Puoi provare le seguenti soluzioni:
AEM 6.2 e 6.3 non sono compatibili con AT.js versione 1.3.0+. Con la versione 1.3.0 di AT.js che introduce la convalida dei parametri per le sue API, adobe.target.applyOffer()
richiede un parametro "mbox" che non viene fornito da atjs-itegration.js
codice.
Per risolvere questo problema, modifica atjs-itegration.js
e aggiungi "mbox": mboxName
campo nell’oggetto parametro per adobe.target.applyOffer()
come segue:
adobe.target.getOffer({
"mbox": mboxName,
"params": params,
"success": function (response) {
adobe.target.applyOffer({
"mbox": mboxName, //<--- ADDED PARAM
"selector": "#" + mboxName,
"offer": response
})
},
Questo problema è molto probabilmente un Configurazione di A4T Analytics Cloud problema di provisioning.
Verifica che A4T sia abilitato correttamente per il tuo account Target emettendo la seguente richiesta di verifica all’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"
}
Se la risposta contiene la riga a4tEnabled:false
, contenuto Assistenza clienti Adobe per effettuare correttamente il provisioning del tuo account.
Di seguito sono presentate due API di Target che potrebbero essere utili per la risoluzione dei problemi di 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"
]
}