Alloy是什么?——类似GA4 gtag的布署方式

Adobe Analytics Haran 2年前 (2023-09-25) 2667次浏览 0个评论
文章目录[隐藏]

更新时间:2025年11月19日

什么是Alloy

在Adobe生态中,Alloy可以理解为GA4中的 gtag,用于直接将数据发送到 Adobe 的边缘服务器(Edge Server),无需通过 Adobe Launch

Alloy是什么?——类似GA4 gtag的布署方式

 

Alloy代码与布署

获取Alloy SDK

Adobe已经在CDN上提供了两个版本,具体如:

将代码放在 <head> 标签尽可能高的位置,确保页面加载时 SDK 已经可用:

<script>
  !function(n,o){o.forEach(function(o){n[o]||((n.__alloyNS=n.__alloyNS||
  []).push(o),n[o]=function(){var u=arguments;return new Promise(
  function(i,l){n[o].q.push([i,l,u])})},n[o].q=[])})}
  (window,["alloy"]);
</script>
<script src="https://cdn1.adoberesources.net/alloy/2.14.0/alloy.min.js" async></script>

注意Alloy 使用 Promise 进行异步处理,而 IE 不支持 Promise。如果需要兼容 IE,需要在基础代码前添加 Promise polyfill。

在基础代码前添加如下代码:

<script src="https://cdn.jsdelivr.net/npm/promise-polyfill@8/dist/polyfill.min.js"></script>

完整的如下:

<script src="https://cdn.jsdelivr.net/npm/promise-polyfill@8/dist/polyfill.min.js"></script>
<script>
  !function(n,o){o.forEach(function(o){n[o]||((n.__alloyNS=n.__alloyNS||
  []).push(o),n[o]=function(){var u=arguments;return new Promise(
  function(i,l){n[o].q.push([i,l,u])})},n[o].q=[])})}
  (window,["alloy"]);
</script><script src="https://cdn1.adoberesources.net/alloy/2.14.0/alloy.min.js" async=""></script>

 

初始化 Alloy

接下来就是配置数据流,表示数据发到哪个边缘服务器:

alloy("configure", {
  "edgeConfigId": "ebebf826-a01f-4458-8cec-ef61de241c93",
  "orgId":"ADB3LETTERSANDNUMBERS@AdobeOrg"
});

  • edgeConfigId:边缘服务器配置 ID
  • orgId:Adobe组织 ID

 

完整基础跟踪代码

基础代码可以和配置数据流代码结合起来,就是类似GA4的基础跟踪代码,如:

<script src="https://cdn.jsdelivr.net/npm/promise-polyfill@8/dist/polyfill.min.js"></script>
<script>
  !function(n,o){o.forEach(function(o){n[o]||((n.__alloyNS=n.__alloyNS||
  []).push(o),n[o]=function(){var u=arguments;return new Promise(
  function(i,l){n[o].q.push([i,l,u])})},n[o].q=[])})}
  (window,["alloy"]);
</script>
<script src="https://cdn1.adoberesources.net/alloy/2.14.0/alloy.min.js" async></script>
<script>
alloy("configure", {
  "edgeConfigId": "ebebf826-a01f-4458-8cec-ef61de241c93",
  "orgId":"ADB3LETTERSANDNUMBERS@AdobeOrg"
});
</script>

 

 

发送数据

最后就是通过sendEvent 命令发送事件,XDM结构发送:

alloy("sendEvent", {
  "xdm": {
    "web": {
      "webPageDetails": {
        "URL": document.location.href,
        "isErrorPage": {{Error Page}},
        "name": document.title,
        "server": "ichdata.com"
      }
    }
  },
data: {
customString: "example"
}
});

说明

  • xdm:符合 XDM Schema 的标准数据,需要提前在 Schema 中设计好
  • data:可自定义的业务字段。

理论上,可以通过GTM + Alloy的方式部署Adobe Analytics,把所有数据通过JSON结构发送。但是需要维护较大的 JSON 配置,管理成本较高。

 

建议用哪种方式

建议采用Web SDK,也就是采用Adobe Launch的方式。


如有疑问,可以在文章底部留言或邮件(haran.huang@ichdata.com) 我~
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址