ブラウザの JavaScript コンソールにエラーが表示されていないか確認してください。未処理のエラーにより、後続のコードが正しく実行されない可能性があります。エラーがある場合は、どのスクリプトがどの領域でエラーの原因となっているのか確認してください。スクリプトへのパスにより、そのスクリプトがどの機能に属しているかがわかる場合があります。
コンポーネントレベルでステートメントを追加すると便利な場合があります。コンポーネントがレンダリングされることで、一時的なマークアップを追加して変数値を表示し、潜在的な問題を特定するのに役立ちます。次に例を示します。
<%
log.info("myVariable={}", myVariable);
%>
<!--
<%= myJspVariable %>
-->
<!--
${ myHtlVariable }
-->
ログについて詳しくは、ログページと監査レコードとログファイルの操作ページを参照してください。
レポートインポーターが原因で CPU/メモリの使用量が多くなる、または OutOfMemoryError
例外となる。
この問題を解決するには、次の方法を試してください。
ManagedPollingImporter
OSGi コンソールで を設定する CRON 式を使用して、特定の時刻にレポートインポーターを実行します。AEM でカスタムデータインポーターサービスを作成について詳しくは、以下の記事を参照してください。https://helpx.adobe.com/jp/experience-manager/using/polling.html
Analytics は継承メカニズムを念頭に置いて設計されています。通常、ページプロパティの「クラウドサービス」タブ内の Analytics 設定への参照を追加することで、サイトの Analytics を有効にします。ページで別の設定が必要な場合を除き、設定は再度参照する必要はなく、自動的にすべてのサブページに継承されます。サイトへの参照を追加すると、タイプ cq;PollConfig
の複数のノード(AEM 6.3 以前の場合は 12、AEM 6.4 以降の場合は 6)も自動的に作成されます。これは、Analytics データを AEM にインポートするために使用される PollingImporters をインスタンス化します。そのため、以下のようなことが起こりえます。
まず、error.log を分析することで、アクティブまたは登録済みの PollingImporters の量について、何らかのインサイトを得られることがあります。次に例を示します。
# 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/jp/experience-manager/using/polling.html
設定がページプロパティのクラウドサービスタブで参照されているにもかかわらず、DTM スクリプトタグがページに正しく含まれていない。
この問題を解決するには、次の方法を試してください。
暗号化されたプロパティが復号化できることを確認します(暗号化では各 AEM インスタンスで異なる自動生成キーが使用される可能性があることに注意してください)。詳細については、構成プロパティの暗号化サポートも参照してください。
/etc/cloudservices/dynamictagmanagement
で検索された設定の再公開
/etc/cloudservices
上の ACL をチェックします。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
)に特定の統合 headlib が選択的に含まれていないことを確認します。<!-- 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
によって、必要な分析用 Javascript オブジェクトが追加され、Web サイトに関連付けられているクラウドサービスライブラリが読み込まれます。Target サービスでは、ライブラリは /libs/cq/analytics/components/testandtarget/headlibs.jsp
で読み込まれます。
読み込まれるライブラリのセットは、Target の設定で使用されているターゲットクライアントライブラリのタイプ(mbox.js
または at.js
)によって異なります。
mbox.js
または at.js
送信に DTM を使用する場合、コンテンツがレンダリングされる前にライブラリがロードされていることを確認してください。これらのライブラリを非同期的にロードするタグ管理システムを使用すると、ターゲット固有の JavaScript コードの実行に問題が生じる可能性があります。
追加情報については、ターゲットコンテンツ向けの開発ページを参照してください。
この問題は、Adobe Analytics が DTM を使用して web サイトに実装され、カスタムコードを使用している場合に発生することがあります。原因は、s = new AppMeasurement()
を使用して s
オブジェクトをインスタンス化しているためです。
インスタンス化メソッドに new AppMeasurement
ではなく s_gi
を使用します。次に例を示します。
var s_account="INSERT-RSID-HERE"
var s=s_gi(s_account)
この問題には複数の原因が考えられます。
Target クライアントライブラリ(mbox.js
または at.js
)をサードパーティのタグ管理システムを使用して非同期にロードすると、ターゲティングがランダムに解除される可能性があります。ターゲットライブラリはページヘッドに同期的にロードされることになっています。ライブラリが AEM から配信される場合、これは常に当てはまります。
2 つの Target クライアントライブラリ(at.js
)を同時にロード(例えば、1 つは DTM を使用し、もう 1 つは 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()
が要求する「mbox」パラメーターが atjs-itegration.js
コードで提供されません。
この問題を解決するには、次のように atjs-itegration.js
を編集して adobe.target.applyOffer()
のパラメーターオブジェクトに "mbox": mboxName
フィールドを追加します。
adobe.target.getOffer({
"mbox": mboxName,
"params": params,
"success": function (response) {
adobe.target.applyOffer({
"mbox": mboxName, //<--- ADDED PARAM
"selector": "#" + mboxName,
"offer": response
})
},
この問題は A4T Analytics クラウド設定のプロビジョニングの問題であると思われます。
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
という行が含まれている場合、アドビカスタマーケアに連絡して、アカウントを正しくプロビジョニングするようご依頼ください。
Target の問題をトラブルシューティングするときに、以下の 2 つのTarget API が参考になるかもしれません。
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"
]
}