Verificate se la console JavaScript del browser presenta errori. Errori non gestiti potrebbero impedire che il codice successivo venga eseguito correttamente. In caso di errori, verificare lo script che causa l'errore e in quale area. Il percorso dello script potrebbe fornire un'indicazione delle funzionalità a cui appartiene lo script.
In alcuni casi, potrebbe essere utile aggiungere istruzioni aggiuntive a livello di componente. Dal momento che è stato eseguito il rendering del componente, è possibile aggiungere una marcatura temporanea per visualizzare i valori variabili che possono facilitare l'identificazione di potenziali problemi. Esempio:
<%
log.info("myVariable={}", myVariable);
%>
<!--
<%= myJspVariable %>
-->
<!--
${ myHtlVariable }
-->
Per ulteriori dettagli sulla registrazione, vedere le pagine Logging e Utilizzo dei record di controllo e dei file di registro.
Importazione report causa un utilizzo elevato di CPU/memoria o causa OutOfMemoryError
eccezioni.
Per risolvere questo problema, potete provare quanto segue:
ManagedPollingImporter
nella console OSGi.Per ulteriori dettagli sulla creazione di servizi di importazione dati personalizzati in AEM, consultare il seguente articolo https://helpx.adobe.com/experience-manager/using/polling.html.
Analytics è stato progettato pensando a un meccanismo di ereditarietà. Solitamente, per abilitare Analytics per un sito è necessario aggiungere un riferimento a una configurazione Analytics all'interno delle proprietà della pagina Cloud Services scheda. La configurazione viene quindi ereditata automaticamente a tutte le sottopagine senza la necessità di farvi nuovamente riferimento, a meno che una pagina non richieda una configurazione diversa. Se si aggiunge un riferimento a un sito, vengono automaticamente creati diversi nodi (12 per AEM 6.3 e versioni precedenti o 6 per AEM 6.4) del tipo cq;PollConfig
, che crea un'istanza di PollingImporter utilizzata per importare dati Analytics in AEM. Di conseguenza:
In primo luogo, l'analisi di error.log potrebbe fornire informazioni sulla quantità di PollingImporter attivi o registrati. 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, accertatevi che solo le pagine principali (in alto nella gerarchia) abbiano un riferimento alla configurazione di Analytics.
Per ulteriori dettagli sulla creazione di servizi di importazione dati personalizzati in AEM, consultare il seguente articolo https://helpx.adobe.com/experience-manager/using/polling.html.
Il tag di script DTM non viene incluso correttamente nella pagina anche se alla configurazione è stato fatto riferimento nelle proprietà della pagina Cloud Services.
Per risolvere il problema, potete provare quanto segue:
Verificare che le proprietà crittografate possano essere decrittografate (notare che la cifratura potrebbe utilizzare una chiave generata automaticamente diversa in ogni istanza di AEM). Per ulteriori informazioni, consultare anche Supporto della crittografia per le proprietà di configurazione.
Ripubblica le configurazioni trovate in /etc/cloudservices/dynamictagmanagement
Selezionare ACL su /etc/cloudservices
. Gli ACL devono essere:
Per ulteriori informazioni sulla gestione degli ACL, consultare la pagina Amministrazione utente e sicurezza.
Questo problema si verifica perché i componenti della pagina personalizzata non includono le librerie JSP o client corrette per la gestione delle integrazioni DTM di Target.
Potete provare le soluzioni seguenti:
headlibs.jsp
personalizzata (se presente /apps/<CUSTOM-COMPONENTS-PATH>/headlibs.jsp
) includa quanto segue:<%@include file="/libs/cq/cloudserviceconfigs/components/servicelibs/servicelibs.jsp" %>
<sly data-sly-resource="${'contexthub' @ resourceType='granite/contexthub/components/contexthub'}"/>
head.html
personalizzata (se presente /apps/<CUSTOM-COMPONENTS-PATH>/head.html
) non contenga selettivamente delle cuffie 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/>
servicelibs.jsp
aggiunge gli oggetti JavaScript di analisi richiesti e carica le librerie dei servizi cloud associate al sito Web. Per il servizio Target, le librerie vengono caricate tramite la variabile /libs/cq/analytics/components/testandtarget/headlibs.jsp
Il set di librerie che vengono caricate dipende dal tipo di libreria client di destinazione ( mbox.js
o at.js
) utilizzato nella configurazione di Target.
Quando utilizzate Gestione dinamica dei tag per distribuire mbox.js
o at.js
, accertatevi che le librerie siano caricate prima del rendering del contenuto. L'utilizzo di sistemi di gestione dei tag che caricano queste librerie in modo asincrono potrebbe causare problemi durante l'esecuzione del codice JavaScript specifico di destinazione.
Per ulteriori informazioni, consultate la pagina Sviluppo per contenuti mirati.
Questo problema potrebbe verificarsi quando Adobe Analytics viene implementato sul sito Web utilizzando DTM e utilizza il codice personalizzato. La causa è l'utilizzo di s = new AppMeasurement()
per creare un'istanza dell'oggetto s
.
Utilizzare s_gi
invece del metodo di creazione dell'istanza new AppMeasurement
. Esempio:
var s_account="INSERT-RSID-HERE"
var s=s_gi(s_account)
Questo problema può essere dovuto a più cause:
Il caricamento delle librerie client Target ( mbox.js
o at.js
) in modo asincrono tramite sistemi di gestione tag di terze parti potrebbe interrompere il targeting in modo casuale. Le librerie Target devono essere caricate in modo sincrono nell'intestazione della pagina. Questo è sempre vero quando le librerie vengono distribuite da AEM.
Caricamento simultaneo di due librerie client Target ( at.js
), ad esempio una con Gestione dinamica dei tag e una con la configurazione di Target in AEM. Ciò può causare conflitti per la definizione adobe.target
se le versioni at.js
sono diverse.
Potete provare le soluzioni seguenti:
Le AEM 6.2 e 6.3 non sono compatibili con AT.js versione 1.3.0+. Con AT.js versione 1.3.0 che introduce la convalida dei parametri per le sue API, adobe.target.applyOffer()
richiede un parametro "mbox" che non è fornito dal codice atjs-itegration.js
.
Per risolvere questo problema, modificare atjs-itegration.js
e aggiungere il campo "mbox": mboxName
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 è probabilmente dovuto a un problema di A4T configurazione Analytics Cloud provisioning.
È necessario verificare che A4T sia abilitato correttamente per l'account Target emettendo la seguente richiesta di verifica per 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
, contatta l'Assistenza clienti Adobe per ottenere il provisioning corretto dell'account.
Di seguito sono riportate due API Target che potrebbero essere utili per risolvere i 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"
]
}