Ich versuche, den Wert des Warenkorbs basierend auf Daten im GTM DataLayer E-Commerce-Objekt zu berechnen. Ich bringe das gesamte E-Commerce-Objekt in eine DataLayer-Variable, damit ich in der benutzerdefinierten js-Variable damit arbeiten kann, aber ich kann die rekursive Berechnung nicht ausführen.Google Tag Manager benutzerdefinierte JavaScript-Variable basierend auf E-Commerce DataLayer-Objekt
Hier ist ein Beispiel von Code aus dem Datalayer:
{
"event": "checkout",
"ecommerce": {
"checkout": {
"products": [
{
"name": "coat",
"id": "14M",
"quantity": 1,
"price": "100.00"
},
{
"name": "pants",
"id": "12L",
"quantity": 3,
"price": "50.00"
}
]
}
}
}`
Mein Ziel ist es, die Anzahl der Produkte in der Produktpalette zu identifizieren und dann die Berechnung der Menge Produkte Preis * Produkt so oft durchführen, wie erforderlich ist, durch das Whol-Produkt-Array gehen. In diesem Fall wäre es so etwas wie diese:
(1 * 100) + (3 * 50) = 250.
Ich habe versucht, den Code von Simo Ahava's related blogpost ohne Erfolg zu modifizieren. Die Unterschiede zwischen seinem Blogpost und meiner Absicht sind:
- Ich muss den Warenkorbwert nicht als E-Commerce Custom Metric festlegen. Ich möchte nur den Wert des Wagens in der benutzerdefinierten js zurückgeben.
- Ich möchte nicht das Hinzufügen oder Löschen von Elementen aus dem Warenkorb beinhalten. Stattdessen möchte ich nur den Wert berechnen, wenn das GTM-Ereignis "Kasse" ausgelöst wird, und den Wert der enthaltenen Produkte berechnen.
Vielen Dank im Voraus.
dieses Problem zu beheben war genau richtig Danke, Dinesh. Ich änderte das auch, um auch die Produkt-IDs in einer verketteten, durch Kommas getrennten Listenfunktion zu erfassen() { var productList = {{ecommerce}}. var productIds = ''; für (var i = 0; i