创建数据元素
了解如何在Luma演示网站上的内容、商业和身份数据的标记中创建数据元素。 然后,使用Adobe Experience Platform Web SDK扩展变量数据元素类型填充XDM架构中的字段。
学习目标
在本课程结束时,您能够:
- 了解将数据层映射到XDM的不同方法
- 创建数据元素以捕获数据
- 将数据元素映射到XDM对象
先决条件
您已了解数据层是什么,并完成了本教程中之前的课程:
digitalData
数据层。 要查看数据层,请打开您的开发人员控制台并键入digitalData
,以查看完整可用的数据层。

数据层方法
使用Adobe Experience Platform的标记功能,可通过多种方式将数据从数据层映射到XDM。 以下是三种不同方法的一些优点和缺点。 如果需要,可以合并方法:
- 在数据层中实施XDM
- 在标记中映射到XDM
- 在数据流中映射到XDM
在数据层中实施XDM
此方法涉及使用完全定义的XDM对象作为数据层的结构。 然后,将整个数据层映射到标记中的XDM对象数据元素。 如果您的实施不使用标签管理器,则此方法可能比较理想,因为您可以使用XDM sendEvent命令直接从应用程序向XDM发送数据。 如果您确实使用标记,则可以创建一个自定义代码数据元素,它将整个数据层作为传递到XDM的JSON对象进行捕获。 然后,将传递JSON映射到发送事件操作中的XDM对象字段。
以下是使用Adobe客户端数据层格式时数据层的外观示例:
code language-json |
---|
|
优点
- 无需重新映射到数据层变量到XDM的其他步骤
- 如果您的Web开发团队也拥有标记数字行为,则部署可能会更快
缺点
- 完全依靠开发团队和开发周期来更新要传输到XDM的数据
- XDM从数据层接收确切的有效负载时灵活性有限
- 无法使用内置标记功能(例如刮擦功能、持久性功能和快速部署功能)
- 将数据层用于第三方像素更困难(但您可能希望将这些像素移动到事件转发!
- 无法转换数据层和XDM之间的数据
在标记中映射数据层
此方法包括将单独的数据层变量或数据层对象映射到标记中的数据元素,并最终映射到XDM。 这是使用标签管理系统实施的传统方法。
优点
- 最灵活的方法,因为您可以控制单个变量并在数据进入XDM之前转换数据
- 可以使用Adobe标记触发器和刮取功能将数据传递到XDM
- 可以将数据元素映射到客户端的第三方像素
缺点
- 将数据层重构为数据元素需要时间
在数据流中映射到XDM
此方法使用名为数据收集的数据准备的数据流配置中内置的功能,并跳过将数据层变量映射到标记中的XDM。
优点
缺点
- 不能将数据层变量用作客户端第三方像素的数据元素,但可以将它们用于事件转发
- 无法使用Adobe Experience Platform的标记功能的刮擦功能
- 如果在标记和数据流中同时映射数据层,则维护复杂性会增加
创建数据元素以捕获数据层
在创建XDM对象之前,请为Luma演示站点数据层创建以下数据元素集:
-
转到 数据元素 并选择 添加数据元素(或者 新建数据元素,如果标记属性中没有现有的数据元素)
-
将数据元素命名为
page.pageInfo.pageName
-
使用 JavaScript变量 数据元素类型 指向Luma数据层中的一个值:
digitalData.page.pageInfo.pageName
-
选中 强制小写值 和 清除文本 复选框,以使大小写标准化,并删除无关空格
-
将
None
保留为 存储持续时间 设置,因为此值在每个页面上都不相同 -
选择 保存
按照以下相同步骤创建这些附加数据元素:
-
page.pageInfo.server
映射到digitalData.page.pageInfo.server
-
page.pageInfo.hierarchie1
映射到digitalData.page.pageInfo.hierarchie1
-
user.profile.attributes.username
映射到digitalData.user.0.profile.0.attributes.username
-
user.profile.attributes.loggedIn
映射到digitalData.user.0.profile.0.attributes.loggedIn
-
product.productInfo.sku
映射到digitalData.product.0.productInfo.sku
-
product.productInfo.title
映射到digitalData.product.0.productInfo.title
-
cart.orderId
映射到digitalData.cart.orderId
-
product.category
使用 自定义代码 数据元素类型 和以下自定义代码来解析顶级类别的网站URL:code language-javascript var cat = location.pathname.split(/[/.]+/); if (cat[5] == 'products') { return (cat[6]); } else if (cat[5] != 'html') { return (cat[5]); }
-
cart.productInfo
使用以下自定义代码:code language-javascript var cart = digitalData.cart.cartEntries; var cartItem = []; cart.forEach(function(item, index, array){ cartItem.push({ "SKU": item.sku }); }); return cartItem;
-
cart.productInfo.purchase
使用以下自定义代码:code language-javascript var cart = digitalData.cart.cartEntries; var cartItem = []; cart.forEach(function(item, index, array){ var qty = parseInt(item.qty); var price = parseInt(item.price); cartItem.push({ "SKU": item.sku, "quantity": qty, "priceTotal": price }); }); return cartItem;
digitalData.user[0].profile[0].attributes.username
将不起作用。为XDM和数据对象创建变量数据元素
您刚刚创建的数据元素将用于构建XDM对象(适用于Platform应用程序)和数据对象(适用于Analytics、Target和Audience Manager)。 这些对象具有自己的特殊数据元素,称为 变量 数据元素,这些数据元素非常易于创建。
要为XDM创建Variable数据元素,请将其绑定到您在配置架构课程中创建的架构:
-
选择 添加数据元素
-
命名您的数据元素
xdm.variable.content
。 建议您为特定于XDM的数据元素添加“xdm”前缀,以便更好地组织标记属性 -
选择 Adobe Experience Platform Web SDK 作为 扩展
-
选择 变量 作为 数据元素类型
-
选择 XDM 作为 属性
-
选择您创建架构的 沙盒
-
选择适当的 架构,在本例中为
Luma Web Event Data
-
选择 保存
XDM
接下来,为数据对象创建变量数据元素:
-
选择 添加数据元素
-
命名您的数据元素
data.variable
。 建议您在数据对象的特定数据元素中添加“data”作为前缀,以更好地组织标记属性 -
选择 Adobe Experience Platform Web SDK 作为 扩展
-
选择 变量 作为 数据元素类型
-
选择 数据 作为 属性
-
在本教程中,选择要实施的Experience Cloud解决方案
-
选择 保存
在这些步骤结束时,您应该创建以下数据元素:
cart.orderId
data.variable
cart.productInfo
xdm.variable.content
cart.productInfo.purchase
page.pageInfo.hierarchie1
page.pageInfo.pageName
page.pageInfo.server
product.category
product.productInfo.sku
product.productInfo.title
user.profile.attributes.loggedIn
user.profile.attributes.username
设置这些数据元素后,您就可以开始使用标记规则将数据发送到PlatformEdge Network。 但首先,了解如何使用Web SDK收集身份。