[集成]{class="badge positive"}

集成AEM Sites和Adobe Analytics

了解如何使用Adobe客户端数据层与AEM Sites核心组件的内置功能将AEM和Adobe Analytics与Adobe Analytics标记扩展集成,以收集有关Adobe Experience Manager Sites中某个页面的数据。 Experience Platform🔗中的标记和Adobe Analytics扩展用于创建规则以将页面数据发送到Adobe Analytics。

您即将构建的内容 what-build

页面数据跟踪

在本教程中,您将根据Adobe客户端数据层中的事件触发标记规则。 此外,为应触发规则的时间添加条件,然后将AEM页面的​ Page Name ​和​ Page Template ​值发送到Adobe Analytics。

目标 objective

  1. 在tag属性中创建事件驱动规则,以从数据层捕获更改
  2. 将页面数据层属性映射到标记属性中的数据元素
  3. 使用页面查看信标收集页面数据并将这些数据发送到Adobe Analytics中

先决条件

需要以下各项:

NOTE
需要有关集成标记属性和AEM站点的帮助? 观看此视频系列

切换WKND站点的标记环境

WKND是面向公众的站点,它基于开放源代码项目以及用于AEM实现的教程而构建。

您可以使用Experience Platform调试器​ 将实时WKND站点切换到​ 您的 标记属性,而不是设置AEM环境并安装WKND代码库。 ​但是,如果您自己的AEM站点已经启用了Adobe客户端数据层,则可以使用它。

  1. 登录到Experience Platform并创建标记属性(如果尚未创建)。

  2. 确保已创建初始标记JavaScript 并将其提升到标记环境

  3. 从库已发布到的标记环境中复制JavaScript嵌入代码。

    复制标记属性嵌入代码

  4. 在浏览器中,打开新选项卡并导航到WKND站点

  5. 打开Experience PlatformDebugger浏览器扩展

    Experience Platform调试器

  6. 导航到​ Experience Platform标记 > 配置,并在​ 嵌入的嵌入代码 ​下使用从步骤3复制的​ 您的 ​嵌入代码替换现有嵌入代码。

    替换嵌入代码

  7. 在WKND选项卡上启用​ 控制台日志记录 ​和​ 锁定 ​调试器。

    控制台日志记录

验证WKND站点上的Adobe客户端数据层

WKND参考项目是使用AEM核心组件生成的,默认情况下已启用Adobe客户端数据层。 接下来,验证是否已启用Adobe客户端数据层。

  1. 导航到WKND站点

  2. 打开浏览器的开发人员工具并导航到​ 控制台。 运行以下命令:

    code language-js
    adobeDataLayer.getState();
    

    上述代码返回Adobe客户端数据层的当前状态。

    Adobe的数据层状态

  3. 展开响应并检查page条目。 您应该会看到类似以下的数据架构:

    code language-json
    page-2eee4f8914:
        @type: "wknd/components/page"
        dc:description: WKND is a collective of outdoors, music, crafts, adventure sports, and travel enthusiasts that want to share our experiences, connections, and expertise with the world.
        dc:title: "WKND Adventures and Travel"
        repo:modifyDate: "2020-08-31T21:02:21Z"
        repo:path: "/content/wknd/us/en.html"
        xdm:language: "en-US"
        xdm:tags: ["Attract"]
        xdm:template: "/conf/wknd/settings/wcm/templates/landing-page-template"
    

    若要将页面数据发送到Adobe Analytics,请使用数据层的dc:titlexdm:languagexdm:template等标准属性。

    有关详细信息,请查看核心组件数据架构中的页面架构

    note note
    NOTE
    如果您没有看到adobeDataLayer JavaScript对象? 确保您的网站上已启用Adobe客户端数据层

创建Page Loaded规则

Adobe客户端数据层是​ 事件驱动的 ​数据层。 加载AEM Page数据层时,它将触发cmp:show事件。 创建一个规则,该规则在从页面数据层触发cmp:show事件时触发。

  1. 导航到Experience Platform并进入与AEM站点集成的Tag属性。

  2. 导航到标记属性UI中的​ 规则 ​部分,然后单击​ 创建新规则

    创建规则

  3. 将规则​ 命名为已加载的页面

  4. 在​ 事件 ​子部分中,单击​ 添加 ​以打开​ 事件配置 ​向导。

  5. 对于​ 事件类型 ​字段,请选择​ 自定义代码

    命名规则并添加自定义代码事件

  6. 在主面板中单击​ 打开编辑器,然后输入以下代码片段:

    code language-js
    var pageShownEventHandler = function(evt) {
       // defensive coding to avoid a null pointer exception
       if(evt.hasOwnProperty("eventInfo") && evt.eventInfo.hasOwnProperty("path")) {
          //trigger the Tag Rule and pass event
          console.log("cmp:show event: " + evt.eventInfo.path);
          var event = {
             //include the path of the component that triggered the event
             path: evt.eventInfo.path,
             //get the state of the component that triggered the event
             component: window.adobeDataLayer.getState(evt.eventInfo.path)
          };
    
          //Trigger the Tag Rule, passing in the new `event` object
          // the `event` obj can now be referenced by the reserved name `event` by other Tag data elements
          // i.e `event.component['someKey']`
          trigger(event);
       }
    }
    
    //set the namespace to avoid a potential race condition
    window.adobeDataLayer = window.adobeDataLayer || [];
    //push the event listener for cmp:show into the data layer
    window.adobeDataLayer.push(function (dl) {
       //add event listener for `cmp:show` and callback to the `pageShownEventHandler` function
       dl.addEventListener("cmp:show", pageShownEventHandler);
    });
    

    上述代码段通过将函数推入数据层来添加事件侦听器。 触发cmp:show事件时,将调用pageShownEventHandler函数。 在此函数中,添加了一些健全性检查,并为触发事件的组件使用数据层🔗的最新状态构造了一个新event

    最后调用trigger(event)函数。 trigger()函数是标记属性中的保留名称,它会​ 触发规则event对象作为参数传递,而该参数又由标记属性中的另一个保留名称公开。 标记属性中的数据元素现在可以使用代码段(如event.component['someKey'])引用各种属性。

  7. 保存更改。

  8. 接下来,在​ 操作 ​下,单击​ 添加 ​以打开​ 操作配置 ​向导。

  9. 对于​ 操作类型 ​字段,请选择​ 自定义代码

    自定义代码操作类型

  10. 在主面板中单击​ 打开编辑器,然后输入以下代码片段:

    code language-js
    console.log("Page Loaded ");
    console.log("Page name: " + event.component['dc:title']);
    console.log("Page type: " + event.component['@type']);
    console.log("Page template: " + event.component['xdm:template']);
    

    event对象是从自定义事件中调用的trigger()方法传递的。 此处,component是从自定义事件中的数据层getState派生的当前页面。

  11. 保存更改并在标记属性中运行内部版本,以将代码提升到AEM网站上使用的环境

    note note
    NOTE
    使用Adobe Experience Platform Debugger将嵌入代码切换到​ 开发 ​环境可能很有用。
  12. 导航到您的AEM站点,然后打开开发人员工具以查看控制台。 刷新页面,您应该会看到控制台消息已被记录:

页加载的控制台消息

创建数据元素

接下来,创建多个数据元素以从Adobe客户端数据层捕获不同的值。 如上一个练习所示,可以直接通过自定义代码访问数据层的属性。 使用数据元素的优势在于它们可以在标记规则中重用。

数据元素映射到@typedc:titlexdm:template属性。

组件资源类型

  1. 导航到Experience Platform并进入与AEM站点集成的Tag属性。

  2. 导航到​ 数据元素 ​部分,然后单击​ 创建新数据元素

  3. 对于​ Name ​字段,请输入​ 组件资源类型

  4. 对于​ 数据元素类型 ​字段,请选择​ 自定义代码

    组件资源类型

  5. 单击​ 打开编辑器 ​按钮,然后在自定义代码编辑器中输入以下内容:

    code language-js
    if(event && event.component && event.component.hasOwnProperty('@type')) {
        return event.component['@type'];
    }
    
  6. 保存更改。

    note note
    NOTE
    请注意,event对象已变得可用,并根据在标记属性中触发​ 规则 ​的事件设定了作用域。 在数据元素在规则中为​ 引用 ​之前,不会设置数据元素的值。 因此,可以安全地在诸如上一步骤​ 中创建的​ Page Loaded ​规则内使用此数据元素,但 ​在其他上下文中使用是不安全的。

页面名称

  1. 单击​ 添加数据元素 ​按钮

  2. 对于​ Name ​字段,请输入​ Page Name

  3. 对于​ 数据元素类型 ​字段,请选择​ 自定义代码

  4. 单击​ 打开编辑器 ​按钮,然后在自定义代码编辑器中输入以下内容:

    code language-js
    if(event && event.component && event.component.hasOwnProperty('dc:title')) {
        return event.component['dc:title'];
    }
    
  5. 保存更改。

页面模板

  1. 单击​ 添加数据元素 ​按钮

  2. 对于​ Name ​字段,请输入​ Page Template

  3. 对于​ 数据元素类型 ​字段,请选择​ 自定义代码

  4. 单击​ 打开编辑器 ​按钮,然后在自定义代码编辑器中输入以下内容:

    code language-js
    if(event && event.component && event.component.hasOwnProperty('xdm:template')) {
        return event.component['xdm:template'];
    }
    
  5. 保存更改。

  6. 规则中现在应包含三个数据元素:

    规则 中的数据元素

添加Analytics扩展

接下来,将Analytics扩展添加到您的标记属性,以将数据发送到报表包中。

  1. 导航到Experience Platform并进入与AEM站点集成的Tag属性。

  2. 转到​ 扩展 > 目录

  3. 找到​ Adobe Analytics ​扩展并单击​ 安装

    Adobe Analytics扩展

  4. 在​ 库管理 > 报表包 ​下,输入要在每个标记环境中使用的报表包ID。

    输入报表包ID

    note note
    NOTE
    在本教程中,您可以为所有环境使用一个报表包,但在现实工作中,您会希望为不同的环境使用不同的报表包,如下图所示
    note tip
    TIP
    我们建议使用​ 为我管理库选项 ​作为库管理设置,因为这样可以更加轻松地使AppMeasurement.js库保持最新。
  5. 选中该框以启用​ 使用Activity Map

    启用使用Activity Map

  6. 在​ 常规 > 跟踪服务器 ​下,输入您的跟踪服务器,例如tmd.sc.omtrdc.net。 如果您的网站支持https://,请输入SSL跟踪服务器

    输入跟踪服务器

  7. 单击​ 保存 ​以保存更改。

向Page Loaded规则添加条件

接下来,更新​ Page Loaded ​规则以使用​ 组件资源类型 ​数据元素,以确保该规则仅在cmp:show事件针对​ Page ​时触发。 其他组件可以触发cmp:show事件,例如,轮盘组件会在幻灯片更改时触发该事件。 因此,请务必为此规则添加条件。

  1. 在标记属性UI中,导航到之前创建的​ 已加载页面 ​规则。

  2. 在​ 条件 ​下,单击​ 添加 ​以打开​ 条件配置 ​向导。

  3. 对于​ 条件类型 ​字段,请选择​ 值比较 ​选项。

  4. 将表单字段中的第一个值设置为%Component Resource Type%。 您可以使用数据元素图标 数据元素图标 来选择​ 组件资源类型 ​数据元素。 将比较器保留设置为Equals

  5. 将第二个值设置为wknd/components/page

    页面加载规则的 条件配置

    note note
    NOTE
    可以将此条件添加到自定义代码函数中,该函数用于侦听在教程中前面创建的cmp:show事件。 但是,将其添加到UI中,可让可能需要更改规则的其他用户更清楚地查看这些内容。 此外,我们还能够使用数据元素!
  6. 保存更改。

设置Analytics变量并触发页面查看信标

当前​ Page Loaded ​规则只输出控制台语句。 接下来,使用数据元素和Analytics扩展将Analytics变量设置为​ Page Loaded ​规则中的​ 操作。 我们还设置了额外的操作来触发​ 页面查看信标,并将收集的数据发送到Adobe Analytics。

  1. 在Page Loaded规则中,删除 Core - Custom Code ​操作(控制台语句):

    删除自定义代码操作

  2. 在“操作”子部分下,单击​ 添加 ​以添加新操作。

  3. 将​ 扩展 ​类型设置为​ Adobe Analytics ​并将​ 操作类型 ​设置为​ 设置变量

    将操作扩展设置为Analytics集变量

  4. 在主面板中,选择一个可用的​ eVar,并将其设置为数据元素​ 页面模板 ​的值。 使用数据元素图标 数据元素图标 选择​ 页面模板 ​元素。

    设置为eVar页面模板

  5. 向下滚动,在​ 其他设置 ​下,将​ 页面名称 ​设置为数据元素​ 页面名称

    Page Name环境变量集

  6. 保存更改。

  7. 接下来,通过点按​ 加上 ​图标,在​ Adobe Analytics — 设置变量 ​的右侧添加一个额外的操作:

    添加其他标记规则操作

  8. 将​ 扩展 ​类型设置为​ Adobe Analytics,并将​ 操作类型 ​设置为​ 发送信标。 由于此操作被视为页面查看,因此将默认跟踪保留设置为​ s.t()

    发送Beacon Adobe Analytics操作

  9. 保存更改。 Page Loaded ​规则现在应具有以下配置:

    最终标记规则配置

    • 1。 ​收听cmp:show事件。
    • 2。 ​检查事件是否由页面触发。
    • 3。 ​为​ 页面名称 ​和​ 页面模板 ​设置Analytics变量
    • 4。 ​发送Analytics页面查看信标
  10. 保存所有更改并构建标记库,提升到适当的环境。

验证页面查看信标和Analytics调用

现在​ Page Loaded ​规则发送了Analytics信标,您应该能够使用Experience Platform调试器查看Analytics跟踪变量。

  1. 在浏览器中打开WKND网站

  2. 单击Debugger图标 Experience Platform Debugger图标 以打开Experience PlatformDebugger。

  3. 如前面所述,确保Debugger将标记属性映射到​ 您的 ​开发环境,并检查​ 控制台日志记录

  4. 打开Analytics菜单,并确认已将报表包设置为​ 您的 ​报表包。 此外,还应填充页面名称:

    Analytics选项卡调试器

  5. 向下滚动并展开​ 网络请求。 您应该能够找到为​ 页面模板 ​设置的​ evar

    Evar和页面名称集

  6. 返回浏览器并打开开发人员控制台。 单击页面顶部的​ 轮播

    点击传送页面

  7. 在浏览器控制台中观察控制台语句:

    条件不符合

    这是因为轮播确实触发了cmp:show事件​ ,但由于我们对​ 组件资源类型 ​的检查,,因此没有触发任何事件。

    note note
    NOTE
    如果未看到任何控制台日志,请确保在Experience Platform调试器的​ Experience Platform标记 ​下选中​ 控制台日志记录
  8. 导航到类似Western Australia的文章页面。 观察页面名称和模板类型的变化。

恭喜!

您刚刚在Experience Platform中使用事件驱动的Adobe客户端数据层和标记从AEM Site中收集数据页面数据并将这些数据发送到Adobe Analytics。

后续步骤

请查看以下教程,了解如何使用事件驱动的Adobe客户端数据层来跟踪Adobe Experience Manager站点上特定组件的单击情况。

recommendation-more-help
bb44cebf-d964-4e3c-b64e-ce882243fe4d