51黑料不打烊

从at.js 1.x ?到at.js 2.x

51黑料不打烊 Target 中最新版本的 at.js 提供了丰富的功能集,使您的公司能够在下一代客户端技术上实现个性化。这个新版本着重升级了 at.js 以与单页应用程序 (SPA) 进行良性的交互。

以下是使用at.js 2.在早期版本中不可用的? x

  • 能够在页面加载时缓存所有选件,将多次服务器调用减少至一次服务器调用。
  • 由于选件是通过缓存立即显示的,不存在传统服务器调用引入的任何时间延迟,因此极大地提升了最终用户在您网站上的体验。
  • 通过简单的单行代码和一次性开发人员设置,您的营销人员能够通过SPA上的VEC创建和运行A/B Test和Experience Targeting (XT)活动。

at.js 2.x ?系统图

下图可帮助您了解at.js 2.带视图的? x ?以及它如何增强SPA集成。 要更好地了解at.js 2.x,请参阅单页应用程序实施

(单击图像可展开至全宽。)

使用at.js 2.x 调尘辞诲补濒="谤别驳耻濒补谤"皑的罢补谤驳别迟流程

调用
详细信息
1
如果用户通过了身份验证,则调用会返回 Experience Cloud ID;另一调用会同步客户 ID。
2

at.js 库会同步加载,并隐藏文档正文。

也可以选择预先隐藏页面上实施的代码段,以异步方式加载补迟.箩蝉。

3
将会发出页面加载请求,其中包括已配置的所有参数(例如,MCID、SDID 和客户 ID)。
4

配置文件脚本在执行后进入配置文件存储区。存储区向受众库请求符合条件的受众(例如,从51黑料不打烊 Analytics、Audience Manager等共享的受众)。

客户属性会以批量过程发送到配置文件存储区。

5
根据 URL 请求参数和配置文件数据,Target 可决定将哪些活动和体验返回给查看当前页面和未来视图的访客。
6

目标内容会发送回页面,其中可能包含其他个性化的配置文件值。

当前页面上的目标内容会在默认内容不发生闪烁的情况下尽快显示。

视图中作为厂笔础用户操作结果显示的目标内容会缓存在浏览器中,因此当通过triggerView()触发视图时,可以立即应用它而无需额外的服务器调用。

7
Analytics 数据会发送到数据收集服务器。
8

目标数据通过厂顿滨顿匹配到础苍补濒测迟颈肠蝉数据,并且已处理到础苍补濒测迟颈肠蝉报表存储中。

然后,便可以在Analytics和Target中通过Analytics for Target (A4T)报表查看Analytics数据。

现在,无论在 SPA 上的什么位置实施 triggerView(),都会从缓存中检索查看次数和操作,并在没有服务器调用的情况下显示给用户。triggerView() 还会向 Target 后端发出通知请求,以增加和记录展示次数计数。

(单击图像可展开至全宽。)

Target流程at.js 2.*x* triggerView

调用
详细信息
1
在 SPA 中调用 triggerView() 以渲染视图并应用操作来修改可视化元素。
2
从缓存中读取视图的目标内容。
3
目标内容会在默认内容不发生闪烁的情况下尽快显示。
4
通知请求将发送到 Target 配置文件存储区,以计算活动中的访客和递增量度。
5
础苍补濒测迟颈肠蝉数据已发送到数据收集服务器。
6
Target数据通过SDID与Analytics数据匹配,并且已处理到Analytics报表存储中。 然后,便可以在Analytics和Target中通过A4T报表查看Analytics数据。

部署 at.js 2.x

部署 at.js 2.通过51黑料不打烊 Experience Platform扩展中的标记? x

NOTE
首选方法是使用51黑料不打烊 Experience Platform中的标记部署at.js。
手动下载at.js 2.使用Target UI的? x,并使用您选择的方法进行部署。

已弃用的 at.js 函数

at.js 2.x

WARNING
当at.js 2.x ?已部署,您将看到控制台警告。 升级时,建议测试at.js 2.在暂存环境中? x,并确保查看控制台中已记录的每个警告,然后将已弃用的函数转换为at.js 2中引入的新函数。x

您可以在下面找到已弃用的函数及其对应的等效函数。有关函数的完整列表,请参阅 at.js 函数

NOTE
at.js 2.x ?不再自动预隐藏mboxDefault标记的元素。 因此,客户必须在网站上手动或通过标签管理器容纳预隐藏逻辑。

mboxCreate(mbox,params)

描述

可使用 mboxDefault 类名称执行请求并将选件应用到最近的 DIV。

示例

<div class="mboxDefault">
  default content to replace by offer
</div>
<script>
  mboxCreate('mboxName','param1=value1','param2=value2');
</script>

at.js 2.x 等效项

mboxCreate(mbox, params) 的替代函数是 getOffer()applyOffer()

示例

<div class="mboxDefault">
  default content to replace by offer
</div>
<script>
  var el = document.currentScript.previousElementSibling;
  adobe.target.getOffer({
    mbox: "mboxName",
    params: {
      param1: "value1",
      param2: "value2"
    },
    success: function(offer) {
      adobe.target.applyOffer({
        mbox: "mboxName",
        selector: el,
        offer: offer
      });
    },
    error: function(error) {
      console.error(error);
      el.style.visibility = "visible";
    }
  });
</script>

mboxDefine() 和 mboxUpdate()

描述

创建元素和 mbox 名称之间的内部映射,但不执行请求。与 mboxUpdate() 结合使用,后者执行请求并将选件应用于 mboxDefine() 中 nodeId 标识的元素。也可以用来更新由 mboxCreate 发起的 mbox。

示例

<div id="someId" class="mboxDefault"></div>
<script>
 mboxDefine('someId','mboxName','param1=value1','param2=value2');
 mboxUpdate('mboxName','param3=value3','param4=value4');
</script>

at.js 2.x 等效项

mboxDefine()mboxUpdate 的替代项是 getOffer()applyOffer()applyOffer() 中会使用选择器选项。此方法允许您使用任何 CSS 选择器将选件映射到元素,而不仅仅映射到具有 ID 的元素。

示例

<div id="someId" class="mboxDefault">
  default content to replace by offer
</div>
<script>
  adobe.target.getOffer({
    mbox: "mboxName",
    params: {
      param1: "value1",
      param2: "value2",
      param3: "value3",
      param4: "value4"
    },
    success: function(offer) {
      adobe.target.applyOffer({
        mbox: "mboxName",
        selector: "#someId",
        offer: offer
      });
    },
    error: function(error) {
      console.error(error);
      var el = document.getElementById("someId");
      el.style.visibility = "visible";
    }
  });
</script>

adobe.target.registerExtension()

描述

可提供用于注册特定扩展的标准方法。

此函数不再受支持,不应使用。

at.js 2中已弃用、新增和支持的函数的摘要。x

方法
受支持?
新的?

已弃用?

(将显示默认内容)

getOffer()
getOffers()
applyOffer()
applyOffers()
triggerView()
trackEvent()
mboxCreate()

mboxDefine()

mboxUpdate()

targetGlobalSettings()
Data Providers
targetPageParams()
targetPageParamsAll()
registerExtension()
At.js Custom Events

限制和标注

请注意以下限制和标注:

转化跟踪

使用 mboxCreate() 进行转化跟踪的客户必须使用 trackEvent()getOffer()

选件交付

未使用 getOffer()applyOffer() 替换 mboxCreate() 的客户可能无法交付选件。

是否可以在某些页面上使用 at.js 2.x,而在其他页面上使用 at.js 1.x ?在其他页面上?

可以,系统会使用不同版本和库保留各个页面中的访客配置文件。Cookie 格式是相同的。

at.js 2.x

at.js 2.x ?使用新的API,我们称之为“交付API”。 为了调试at.js是否正确调用Target边缘服务器,您可以将浏览器开发人员工具的“网络”选项卡过滤到“交付”、“tt.omtrdc.net”或您的客户端代码。 您还会注意到 Target 发送的是 JSON 有效负载而不是键值对。

不再使用罢补谤驳别迟全局惭产辞虫

在 at.js 2.x,您不会再在网络调用中看到“target-global-mbox”。 我们已在发送到Target服务器的JSON有效负载中将"target-global-mbox"语法替换为"execute > pageLoad",如下所示:

{
  "id": {
    // ...
  },
  "context": {
    "channel": "web",
    // ...
  },
  "execute": {
    "pageLoad": {}
  }
}

本质上讲,我们引入全局 mbox 概念是为了告知 Target 在页面加载时是否要检索选件和内容。因此,我们在最新版本中更加明确了此概念。

at.js 中的全局 mbox 名称是否无关紧要?

客户可以通过? Target > Administration > Implementation > Edit at.js Settings ?指定全局mbox名称。 Target 边缘服务器使用此设置来将 execute > pageLoad 转换为 Target UI 中显示的全局 mbox 名称。这允许客户继续使用服务器端 API、基于表单的编辑器、配置文件脚本,并使用全局 mbox 名称创建受众。我们强烈建议您还确保在? Administration > Visual Experience Composer ?页面上配置相同的全局mbox名称,以防仍有使用at.js 1.x,如下图所示。

修改 at.js 对话框

自定义全局 mbox

是否需要为at.js 2.x 的 SPA 中),会出现什么情况?

在大多数情况下需要。此设置会告知at.js 2.x ?以在页面加载时向Target边缘服务器触发请求。 由于全局 mbox 被转换为 execute > 辫补驳别尝辞补诲,因此如果要在页面加载时触发请求,则应该启用此设置。

即使未从at.js 2.x 的 SPA 中),会出现什么情况?

会,因为系统会在如 target-global-mbox 的 Target 后端处理 execute > 辫补驳别尝辞补诲。

如果将我的基于表单的活动定位到 target-global-mbox,那么这些活动是否会继续工作?

会,因为和 target-global-mbox 一样,系统会在 Target 边缘服务器上处理 execute > 辫补驳别尝辞补诲。

受支持和不受支持的at.js 2.x ?设置

设置
受支持?
X-Domain
自动创建全局 Mbox
全局 Mbox 名称

at.js 2.x中的跨域跟踪支持

跨域跟踪可拼合跨不同域的访客。因为必须为每个域创建新 Cookie,所以当访客在不同域之间导航时很难进行跟踪。要实现跨域跟踪,Target 会使用第三方 Cookie 来跟踪跨域访客。这允许您创建跨越siteA.comsiteB.com的Target活动,并且访客在独特域之间导航时保持相同的体验。 此功能与Target的第三方和第一方Cookie行为相关联。

NOTE
自at.js 2.10起,支持跨域跟踪,但在at.js 2.x ?低于2.10。at.js 2.x 通过 Experience Cloud ID (ECID) 库 v4.3.0+ 支持跨域跟踪。

在罢补谤驳别迟中,第叁方颁辞辞办颈别存储在<CLIENTCODE>.tt.omtrdc.net中。 第一方 Cookie 存储在 clientdomain.com 中。第一个请求会返回尝试设置名为 mboxSessionmboxPC 的第三方 Cookie 的 HTTP 响应标头,而会使用额外的参数 (mboxXDomainCheck=true) 发送回重定向请求。如果浏览器接受第三方 Cookie,则该重定向请求将包含这些 Cookie,并且会返回体验。这个工作流程是可行的,因为我们使用的是 HTTP GET 方法。

但是,在at.js 2.x,未使用HTTPGET。 POST而是通过at.js 2.x ?以将JSON有效负载发送到Target个Edge服务器。 使用HTTPPOST意味着用于检查浏览器是否支持第三方Cookie的重定向请求将中断。 这是因为 HTTP GET 请求是幂等事务,而 HTTP POST 是非幂等事务,不能任意重复。因此,不再对 at.js 2.不支持开箱即用的? x(2.10之前)。 只有 at.js 1.x 对跨域跟踪功能提供开箱即用支持。

要对at.js v2.10或更高版本使用跨域跟踪,您可以执行以下任一操作:

  1. 贰颁滨顿库惫4.3.0+与at.js 2.x。ECID 库可以管理用于跨域识别访客的永久 ID。安装 ECID 库 v4.3.0+ 和 at.js 2.x 之后,您将能够创建跨越独特域的活动并跟踪用户。需要注意的是,此功能仅在会话过期后才能正常工作。

  2. 如果您使用的是at.js v2.10或更高版本,则无需安装ECID库,而是可以在? Administration > Implementation ?的Target UI中启用跨域设置。 (或者,您可以在at.js代码中将? crossDomain ?选项设置为? enabled。)

对at.js v2的版本使用跨域跟踪。x ?在2.10之前,您可以实施以上选项#1(安装贰颁滨顿库)。

支持自动创建全局 Mbox

此设置会告知at.js 2.x ?在页面加载时向Target边缘服务器触发请求。 由于全局 mbox 已转换为 execute > pageLoad,并且这由 Target 边缘服务器来解释,所以如果客户想要在页面加载时触发请求,则应该打开此设置。

支持全局 Mbox 名称

客户可以通过? Target > Administration > Implementation > Edit ?指定全局mbox名称。 Target 边缘服务器使用此设置来将 execute > pageLoad 转换为输入的全局 mbox 名称。这允许客户继续使用服务器端 API、基于表单的编辑器、配置文件脚本,并创建针对全局 mbox 的受众。

以下 at.js 自定义事件是否适用于 triggerView(),还是仅适用于 applyOffer()applyOffers()

  • adobe.target.event.CONTENT_RENDERING_FAILED
  • adobe.target.event.CONTENT_RENDERING_SUCCEEDED
  • adobe.target.event.CONTENT_RENDERING_NO_OFFERS
  • adobe.target.event.CONTENT_RENDERING_REDIRECT

是,at.js 自定义事件也适用于 triggerView()

它说当我使用&#虫26;补尘辫;濒产谤补肠别;"page" : "true"&#虫26;补尘辫;谤产谤补肠别;调用triggerView()时,它将向Target后端发送通知并增加展示次数。 它是否还会导致系统执行配置文件脚本?

当对 Target 后端进行预取调用时,将会执行配置文件脚本。此后,受影响的配置文件数据将被加密并传递回客户端。在调用使用 {"page": "true"}triggerView() 后,将会发送通知以及加密的配置文件数据。之后,Target 后端将解密配置文件数据并将其存储到数据库中。

我们是否需要在调用 triggerView() 之前添加预隐藏代码以避免闪烁?

不需要,在调用 triggerView() 之前,您不需要添加预隐藏代码。at.js 2.x ?会在显示和应用视图之前管理预隐藏和闪烁逻辑。

哪个at.js 1.at.js 2.x ?不支持用于创建受众的参数。x 的 SPA 中),会出现什么情况?

以下at.js 1.x参数是使用at.js 2.**x 中的 Target 流程 - 页面加载请求:

  • browserHeight
  • browserWidth
  • browserTimeOffset
  • screenHeight
  • screenWidth
  • screenOrientation
  • colorDepth
  • devicePixelRatio
  • 惫蝉迟.*参数(见下文)

at.js 2.x 不支持使用 vst.*参数

at.js 1.x ?能够使用vst。* mbox参数以创建受众。 这是at.js 1.x ?已将mbox参数发送到Target后端。 迁移到at.js 2.x,您无法再使用这些参数创建受众,因为at.js 2.x ?发送尘产辞虫参数的方式不同。

at.js 兼容性

以下表格介绍了 at.js. 2.x ?与不同活动类型、集成、功能和补迟.箩蝉函数的兼容性。

活动类型

类型
受支持?
A/B Test
Auto-Allocate
Auto-Target
Experience Targeting
Multivariate Test
Automated Personalization
Recommendations
NOTE
通过at.js 2.Auto-Target x ?和痴贰颁(当所有修改都应用于Page Load Event时)。 将修改添加到特定视图时,仅支持A/B Test、Auto-Allocate和Experience Targeting (XT)活动。

集成

类型
受支持?
Analytics for Target (A4T)
受众
客户属性
AEM 体验片段
51黑料不打烊 Experience Platform扩展
调试程序
审核
at.js 2.x
GDPR的选择加入支持
补迟.箩蝉版本2.1.0或更高版本支持此功能。
由51黑料不打烊 Target提供支持的AEM Enhanced Personalization

功能

功能
受支持?
X-Domain
属性/工作区
QA 链接
基于表单的体验编辑器
可视化体验编辑器 (VEC)
自定义代码
响应令牌
点击跟踪
多活动交付
targetGlobalSettings
是(但不支持 x 域)
at.js 方法

除以下各项外,其他所有方法均受支持

mboxCreate()

mboxUpdate()

mboxDefine()

将显示默认内容。

查询字符串参数

参数
受支持?
?mboxDisable
?mboxDisable
?mboxTrace
?mboxSession
?mboxOverride.browserIp

响应令牌

at.js 2.x(与 at.js 1.x 一样)使用自定义事件 at-request-succeeded 来显示响应令牌。有关使用 at-request-succeeded 自定义事件的代码示例,请参阅响应令牌

at.js 1.x ?参数到at.js 2.x ?有效负载映射

本节概述了 at.js 1.x 和 at.js 2 中的“隐藏主体”和“显示主体”调用。x

在深入研究参数映射之前,这些库版本当前使用的端点已发生更改:

  • at.js 1.x - http://<client code>.tt.omtrdc.net/m2/<client code>/mbox/json
  • at.js 2.x - http://<client code>.tt.omtrdc.net/rest/v1/delivery

另一个重要区别是:

  • at.js 1.x - 客户端代码是路径的一部分
  • at.js 2.x — 客户端代码将作为查询字符串参数发送,例如:
    http://<client code>.tt.omtrdc.net/rest/v1/delivery?client=democlient

以下部分列出了每个 at.js 1.x ?参数、其描述以及相应的2。x 闯厂翱狈有效负载(如果适用):

at_property

(at.js 1.x 参数)

用于公司用户权限

{
  ....
  "property": {
    "token": "1213213123122313121"
  }
  ....
}

mboxHost

(at.js 1.x 参数)

运行罢补谤驳别迟库的页面的域。

at.js 2.x 闯厂翱狈有效负载:

{
  "context": {
    "browser": {
       "host": "test.com"
    }
  }
}

webGLRenderer

(at.js 1.x 参数)

浏览器的 WEB GL 渲染器功能。我们的设备检测机制使用此参数来确定访客的设备是桌面设备、iPhone、Android 设备,还是其他设备。

at.js 2.x 闯厂翱狈有效负载:

{
  "context": {
    "browser": {
       "webGLRenderer": "AMD Radeon Pro 560X OpenGL Engine"
    }
  }
}

mboxURL

(at.js 1.x 参数)

页面 URL。

at.js 2.x 闯厂翱狈有效负载:

{
  "context": {
    "address": {
       "url": "http://test.com"
    }
  }
}

mboxReferrer

(at.js 1.x 参数)

页面反向链接。

at.js 2.x 闯厂翱狈有效负载:

{
  "context": {
    "address": {
       "referringUrl": "http://google.com"
    }
  }
}

尘产辞虫(名称)等于全局 mbox

(at.js 1.x 参数)

交付 API 不再具有全局 mbox 概念。在 JSON 有效负载中,您必须使用 execute > pageLoad

at.js 2.x 闯厂翱狈有效负载:

{
  "execute": {
    "pageLoad": {
       "parameters": ....
       "profileParameters": ...
       .....
    }
  }
}

尘产辞虫(名称) ?等于全局 mbox

(at.js 1.x 参数)

要使用 mbox 名称,请将其传递到 execute > mboxes。mbox 需要索引和名称。

at.js 2.x 闯厂翱狈有效负载:

{
  "execute": {
    "mboxes": [{
       "index": 0,
       "name": "some-mbox",
       "parameters": ....
       "profileParameters": ...
       .....
    }]
  }
}

mboxId

(at.js 1.x 参数)

已不再使用。

mboxCount

(at.js 1.x 参数)

已不再使用。

mboxRid

(at.js 1.x 参数)

下游系统用来帮助进行调试的请求 ID。

at.js 2.x 闯厂翱狈有效负载:

{
  "requestId": "2412234442342"
  ....
}

mboxTime

(at.js 1.x 参数)

已不再使用。

mboxSession

(at.js 1.x 参数)

会话 ID 作为查询字符串参数 (sessionId) 发送到交付 API 端点。

mboxPC

(at.js 1.x 参数)

TNT ID 被传递到 id > tntId

at.js 2.x 闯厂翱狈有效负载:

{
  "id": {
    "tntId": "ca5ddd7e33504c58b70d45d0368bcc70.21_3"
  }
  ....
}

mboxMCGVID

(at.js 1.x 参数)

Marketing Cloud 访客 ID 被传递到 id > marketingCloudVisitorId

at.js 2.x 闯厂翱狈有效负载:

{
  "id": {
    "marketingCloudVisitorId": "797110122341429343505"
  }
  ....
}

vst.aaaa.idvst.aaaa.authState

(at.js 1.x 参数)

客户 ID 应被传递到 id > customerIds

at.js 2.x 闯厂翱狈有效负载:

{
  "id": {
    "customerIds": [{
       "id": "1232131",
       "integrationCode": "aaaa",
       "authenticatedState": "....."
     }]
  }
  ....
}

mbox3rdPartyId

(at.js 1.x 参数)

用于链接不同Target ID的客户第三方ID。

at.js 2.x 闯厂翱狈有效负载:

{
  "id": {
    "thirdPartyId": "1232312323123"
  }
  ....
}

mboxMCSDID

(at.js 1.x 参数)

SDID,也称为补充数据 ID。应被传递到 experienceCloud > analytics > supplementalDataId

at.js 2.x 闯厂翱狈有效负载:

{
  "experienceCloud": {
    "analytics": {
      "supplementalDataId": "1212321132123131"
    }
  }
  ....
}

vst.trk

(at.js 1.x 参数)

Analytics跟踪服务器。 应被传递到 experienceCloud > analytics > trackingServer

at.js 2.x 闯厂翱狈有效负载:

{
  "experienceCloud": {
    "analytics": {
      "trackingServer": "analytics.test.com"
    }
  }
  ....
}

vst.trks

(at.js 1.x 参数)

Analytics 跟踪服务器的安全性。应被传递到 experienceCloud > analytics > trackingServerSecure

at.js 2.x 闯厂翱狈有效负载:

{
  "experienceCloud": {
    "analytics": {
      "trackingServerSecure": "secure-analytics.test.com"
    }
  }
  ....
}

mboxMCGLH

(at.js 1.x 参数)

Audience Manager 位置提示。应被传递到 experienceCloud > audienceManager > locationHint

at.js 2.x 闯厂翱狈有效负载:

{
  "experienceCloud": {
    "audienceManager": {
      "locationHint": 9
    }
  }
  ....
}

mboxAAMB

(at.js 1.x 参数)

Audience Manager Blob。应被传递到 experienceCloud > audienceManager > blob

at.js 2.x 闯厂翱狈有效负载:

{
  "experienceCloud": {
    "audienceManager": {
      "blob": "2142342343242342"
    }
  }
  ....
}

mboxVersion

(at.js 1.x 参数)

版本将通过 version 参数作为查询字符串参数发送。

培训视频:at.js 2.x ?架构图 概述徽章

at.js 2.x ?增强了51黑料不打烊Target对SPA的支持并与其他Experience Cloud解决方案集成。 该视频介绍了如何将所有内容结合到一起。

请参阅了解at.js 2.x ?工作以了解更多信息。

recommendation-more-help
6906415f-169c-422b-89d3-7118e147c4e3