更新时间:2025年11月19日
什么是Alloy
在Adobe生态中,Alloy可以理解为GA4中的 gtag,用于直接将数据发送到 Adobe 的边缘服务器(Edge Server),无需通过 Adobe Launch。
Alloy代码与布署
获取Alloy SDK
Adobe已经在CDN上提供了两个版本,具体如:
- 缩小: https://cdn1.adoberesources.net/alloy/2.14.0/alloy.min.js
- 未缩小: https://cdn1.adoberesources.net/alloy/2.14.0/alloy.js
将代码放在 <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:边缘服务器配置 IDorgId: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"
}
});
理论上,可以通过GTM + Alloy的方式部署Adobe Analytics,把所有数据通过JSON结构发送。但是需要维护较大的 JSON 配置,管理成本较高。
建议用哪种方式
建议采用Web SDK,也就是采用Adobe Launch的方式。




