Adobe DTM 可以读取 JSON

Can Adobe DTM read JSON

Adobe DTM 可以读取 JSON 例如:

<script type="application/json">
{ 
    "analytics" : [{ 
            "dataLayer" : [{ 
            "tags" : [{ 
                "adobeAnalytics" : true 
        }], 
        "pageInfo" : [{ 
            "country" : "us", 
            "language" : "en", 
            "siteDescriptor" : "xxx", 
            "platform" : "web", 
            "domain" : "xxxxx" 
        }], 
        "activities" : [{ 
                "eventType" : "xxxxx", 
                "eventCity" : "xxxxx", 
                "eventDate" : "xxxxx" 
        }] 
      ]} 
    }] 
    }`
    </script>

之前我将其作为 JavaScript 对象并在 DTM 中创建数据元素以读取 JS 对象。但是,由于项目所限,我们不能再这样做了JavaScript。是否可以保持相同的结构,添加 'type="application/json"' 并保持其他所有内容相同?

谢谢

不,至少不是开箱即用。您需要先将 JSON 解析为一个变量,然后才能在 DTM 中使用它。

<script type="application/json" id="json-datalayer">
{
    "analytics": [{
        "dataLayer": [{
            "tags": [{
                "adobeAnalytics": true
            }],
            "pageInfo": [{
                "country": "us",
                "language": "en",
                "siteDescriptor": "xxx",
                "platform": "web",
                "domain": "xxxxx"
            }],
            "activities": [{
                "eventType": "xxxxx",
                "eventCity": "xxxxx",
                "eventDate": "xxxxx"
            }]
        }]
    }]
}
</script>

然后在 DTM 中,您可以执行类似于(非常基本的示例)

JSON.parse(document.getElementById('json-datalayer').innerHTML)

从今年夏天开始,您可以添加 "AEM Context Hub Tool" 并提供自定义 JSON 架构。这将使 DTM 能够读取和监控 JSON.