1.1.6 AEM Edge Delivery Services MarTech插件
AEM MarTech插件可帮助您为AEM项目快速设置一个完整的MarTech栈栈。
1.1.6.1将插件添加到存储库
导航到用于 citisignal GitHub存储库的文件夹。 右键单击文件夹名称,然后选择 在文件夹 新建终端。
你会看到这个。 粘贴以下命令并按 Enter。
git subtree add --squash --prefix plugins/martech https://github.com/adobe-rnd/aem-martech.git main
您应该会看到此内容。
导航到用于 citisignal GitHub存储库的文件夹,打开文件夹 plugins。 您现在应该会看到名为 martech 的文件夹。
1.1.6.2 head.html
在Visual Studio代码中,打开文件 head.html。 复制以下代码并将其粘贴到文件 head.html 中。
<link rel="preload" as="script" crossorigin="anonymous" href="/plugins/martech/src/index.js"/>
<link rel="preload" as="script" crossorigin="anonymous" href="/plugins/martech/src/alloy.min.js"/>
<link rel="preconnect" href="https://edge.adobedc.net"/>
<!-- change to adobedc.demdex.net if you enable third party cookies -->
保存更改。
1.1.6.3 scripts.js
在Visual Studio Code中,转到文件夹 scripts 并打开文件 scripts.js。 复制以下代码并将其粘贴到文件 scripts.js 中的现有导入脚本下。
import {
initMartech,
updateUserConsent,
martechEager,
martechLazy,
martechDelayed,
} from '../plugins/martech/src/index.js';
保存更改。
在Visual Studio Code的文件 scripts.js 中,查找以下代码:
const AUDIENCES = {
mobile: () => window.innerWidth < 600,
desktop: () => window.innerWidth >= 600,
// define your custom audiences here as needed
};
在 const AUDIENCES = {…}; 下,粘贴以下代码:
const isConsentGiven = true;
const martechLoadedPromise = initMartech(
// The WebSDK config
// Documentation: https://experienceleague.adobe.com/zh-hans/docs/experience-platform/web-sdk/commands/configure/overview#configure-js
{
datastreamId: "XXX",
orgId: "XXX",
defaultConsent: 'in',
onBeforeEventSend: (payload) => {
// set custom Target params
// see doc at https://experienceleague.adobe.com/zh-hans/docs/platform-learn/migrate-target-to-websdk/send-parameters#parameter-mapping-summary
payload.data.__adobe.target ||= {};
// set custom Analytics params
// see doc at https://experienceleague.adobe.com/zh-hans/docs/analytics/implementation/aep-edge/data-var-mapping
payload.data.__adobe.analytics ||= {};
},
// set custom datastream overrides
// see doc at:
// - https://experienceleague.adobe.com/zh-hans/docs/experience-platform/web-sdk/commands/datastream-overrides
// - https://experienceleague.adobe.com/zh-hans/docs/experience-platform/datastreams/overrides
edgeConfigOverrides: {
// Override the datastream id
// datastreamId: '...'
// Override AEP event datasets
// com_adobe_experience_platform: {
// datasets: {
// event: {
// datasetId: '...'
// }
// }
// },
// Override the Analytics report suites
// com_adobe_analytics: {
// reportSuites: ['...']
// },
// Override the Target property token
// com_adobe_target: {
// propertyToken: '...'
// }
},
},
// The library config
{
launchUrls: ["XXX"],
personalization: !!getMetadata('target') && isConsentGiven,
},
);
上述代码中有几个变量需要替换为您自己的环境变量:
datastreamId: "XXX"
orgId: "XXX"
launchUrls: ["XXX"]
您可以按照以下说明找到这些变量:
datastreamId
转到https://platform.adobe.com/,然后在左侧菜单中转到 数据流。 确保您位于正确的沙盒中,即--aepSandboxName--
。 搜索在本教程的入门部分中创建的数据流,其名称应为--aepUserLdap-- - One Adobe Datastream
。 单击 复制 图标以复制 数据流ID,并通过替换datastreamId:
旁边的占位符值XXX
将其粘贴到文件 scripts.js 中的Visual Studio Code中。
orgId
转到https://platform.adobe.com/,然后在左侧菜单中转到 查询。 在 凭据 下,您将找到 IMS组织ID,作为 用户名。 单击 复制 图标以复制 IMS组织ID,并通过替换orgId:
旁边的占位符值XXX
将其粘贴到Visual Studio Code的文件 scripts.js 中。
launchUrls
转到https://platform.adobe.com/,然后在左侧菜单中转到 标记。 使用LDAP搜索您的属性,应为--aepUserLdap--
。 打开Web资产。
在左侧菜单中,转到 环境,然后单击 开发 环境的 安装 图标。
您随后将找到所需的URL,但它位于HTML <script></script>
标记内。 您应该只复制从https
开始直到.min.js
的部分。
URL如下所示: https://assets.adobedtm.com/b754ed1bed61/b9f7c7c484de/launch-5fcd90e5b482-development.min.js
。 请确保不会复制其他文本,因为这样会导致错误。 在Visual Studio Code中,在文件 scripts.js 中,替换launchUrls:
数组中的占位符值XXX
。
您现在拥有所需的三个变量。 您的文件scripts.js
现在应如下所示:
接下来,搜索以查找此代码块:
const main = doc.querySelector('main');
if (main) {
decorateMain(main);
document.body.classList.add('appear');
await loadSection(main.querySelector('.section'), waitForFirstImage);
}
使用以下代码块替换它:
const main = doc.querySelector('main');
if (main) {
decorateMain(main);
document.body.classList.add('appear');
await Promise.all([
martechLoadedPromise.then(martechEager),
loadSection(main.querySelector('.section'), waitForFirstImage)
]);
}
接下来,搜索并向下滚动到async function loadLazy(doc) {
。
在第autolinkModals(doc);
行下,添加以下代码行:
await martechLazy();
接下来,搜索并向下滚动到第function loadDelayed() {
行。
在第// load anything that can be postponed to the latest here
行下添加此代码块。
window.setTimeout(() => {
martechDelayed();
return import('./delayed.js');
}, 3000);
接下来,搜索并转到包含window.adobeDataLayer.push
的行。
您将看到对象pageContext
按如下方式定义。 您现在需要在pageContext
下添加两个对象。
pageContext: {
pageType,
pageName: document.title,
eventType: 'visibilityHidden',
maxXOffset: 0,
maxYOffset: 0,
minXOffset: 0,
minYOffset: 0,
}
需要添加以下代码:
,
_experienceplatform: {
identification:{
core:{
ecid: sessionStorage.getItem("com.adobe.reactor.dataElements.ECID")
}
}
},
web: {
webPageDetails:{
name: document.title,
URL: window.location.href
}
}
window.adobeDataLayer.push 现在应如下所示:
window.adobeDataLayer.push({
pageContext: {
pageType,
pageName: document.title,
eventType: 'visibilityHidden',
maxXOffset: 0,
maxYOffset: 0,
minXOffset: 0,
minYOffset: 0,
},
_experienceplatform: {
identification:{
core:{
ecid: sessionStorage.getItem("com.adobe.reactor.dataElements.ECID")
}
}
},
web: {
webPageDetails:{
name: document.title,
URL: window.location.href
}
}
});
您现在已在文件 scripts.js 中进行所有必需的更改。
打开GitHub Desktop客户端并提交更改。
单击 推送来源 以将更改推送到GitHub存储库。
Tags属性中的1.1.6.4 ACDL扩展
为了使AEM Edge Delivery Services MarTech插件正常运行,您需要添加扩展
转到https://experience.adobe.com/#/data-collection/。 搜索并打开Web的Tags属性(名为--aepUserLdap-- - One Adobe (DD/MM/YYYY)
)。
转到 扩展,转到 目录。 单击扩展 Adobe Client Data Layer,然后单击 安装。
您应该会看到此内容。 目前无需更改任何内容。 单击 保存到库。
随后,您的扩展将添加到Tags资产中。
转到 发布流 并打开您的 Main 库。 单击 添加所有更改的资源,然后单击 保存并生成到开发。
您的更改现已部署。
1.1.6.5将数据发送到Adobe Experience Platform Edge Network
现在,在将XXX替换为您的GitHub用户帐户(本示例中为woutervangeluwe
)之后,您可以通过转到main--citisignal--XXX.aem.page/us/en/
和/或main--citisignal--XXX.aem.live/us/en/
查看对您网站的更改。
在此示例中,完整URL将变为:https://main--citisignal--woutervangeluwe.aem.page/us/en/
和/或https://main--citisignal--woutervangeluwe.aem.live/us/en/
。
在Chrome中,转到 更多工具 > 开发人员工具 以打开 开发人员工具。
在 控制台 视图中,您将看到许多以[alloy]
开头的行。 查看请求,其中一个请求应当如下所示,并且具有图像中所指示的请求正文。
[alloy] Request 55a9ddbc-0521-4ba3-b527-3da2cb35328a: Sending request.
打开有效负载并深入到字段events[0].xdm._experienceplatform.identification.core.ecid
,然后复制ECID。
1.1.6.6在Adobe Experience Platform中查看客户配置文件
通过转到以下URL登录Adobe Experience Platform: https://experience.adobe.com/platform。
登录后,您将登录到Adobe Experience Platform的主页。
在继续之前,您需要选择一个 沙盒。 要选择的沙盒名为--aepSandboxName--
。 选择相应的沙盒后,您将看到屏幕变化,现在您位于专用沙盒中。
在左侧菜单中,转到 客户 > 配置文件 > 浏览。 选择 ECID 的 身份命名空间,然后超过您在上一步中复制的 ECID。 单击 查看。 然后,您应该会看到配置文件显示在列表中。 单击以将其打开。
您随后将看到 配置文件仪表板 概述,其中显示了ECID。 接下来,转到 活动。
在 事件 下,您将看到多个体验事件,包括具有eventType web.webpagedetails.pageViews 的事件。 单击 查看JSON 查看收集的所有事件。
在 JSON 视图中,使用eventType web.webpagedetails.pageViews 验证事件以查看 Page Name 和 Page URL 等内容。
您现在已经完成了此练习。
下一步:摘要和优点
返回Adobe Experience Manager Cloud Service和Edge Delivery Services