为谨慎起见,我们必须将所有项目变量值替换为 null 并在每次事务后再次推送数据层。
示例:让我们看看将事件推送到数据层
String eventName = "productClick";
Map<String, Object> dataMap = DataLayer.mapOf(
"ecommerce", DataLayer.mapOf(
"click", DataLayer.mapOf(
"actionField", DataLayer.mapOf(
"list", "Search Results"),
"products", DataLayer.listOf(
DataLayer.mapOf(
"name", "Triblend Android T-Shirt",
"id", "12345",
"price", "15.25",
"brand", "Google",
"category", "Apparel",
"variant", "Gray")))));
//Get the datalayer singleton
DataLayer dataLayer = TagManager.getInstance(context).getDataLayer();
//Push event with datalayer
dataLayer.pushEvent(eventName, dataMap);
当你完成交易后,接下来就是清除交易数据
Map<String, Object> clearMap = new HashMap<>();
// get the last data map
Iterator mapIterator = dataMap.entrySet().iterator(); // Iterator with dataMap item variables
while (mapIterator.hasNext()) {
Map.Entry pair = (Map.Entry) mapIterator.next();
String key = (String) pair.getKey();
clearMap.put(key, null); //Setting item variables values to null
}
datLayer.push(clearMap);
这对我有用,你可以试试这个。
数据流向 GA 完全取决于您在 Google TagManager 上所做的配置。
请按照 GTM android 文档进行配置和其他步骤。