更新日:2025年11月19日
Alloyとは
Adobeのエコシステムにおいて、Alloy は GA4 の gtag に相当すると考えられます。データを直接 Adobe の Edge Server(エッジサーバー) に送信することができ、Adobe Launch を経由する必要はありません。
Alloyのコードとデプロイ
Alloy JSの取得
Adobe は CDN 上で2つのバージョンを提供しています:
- 圧縮版:
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 を追加してください。
基礎コードの前に 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 の基本トラッキングコードと同様の構成になります。
完全なベーストレースコード
ベースコードは、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": "gainjp.com"
}
}
},
"data": {
customString: "example"
}
});
説明:
理論上、GTM + Alloy の方法で Adobe Analytics をデプロイし、すべてのデータを JSON 構造で送信できます。しかし、大規模な JSON 設定の管理が必要となるため、メンテナンスコストが高くなります。
どの方法が推奨されますか?
Adobe Launch 方式である Web SDK の使用をお勧めします。



