Skip to content

Commit 817974a

Browse files
committed
[IMP]google_tag_manager_advanced_tracking: updates
1 parent 61ff28f commit 817974a

File tree

5 files changed

+42
-27
lines changed

5 files changed

+42
-27
lines changed

google_tag_manager_advanced_tracking/static/src/js/website_sale_tracking.js

+27-12
Original file line numberDiff line numberDiff line change
@@ -23,43 +23,58 @@ odoo.define("google_tag_manager_advanced_tracking.tracking", function (require)
2323
var dataTarget = ev.target.closest('a#add_to_cart');
2424
var product_id = dataTarget.dataset.product_id;
2525
var product_name = dataTarget.dataset.product_name;
26+
var currency = dataTarget.dataset.currency;
2627
var product_price = dataTarget.dataset.product_price;
2728
var product_amount = $("[name=add_qty]").val();
2829
var amount = parseFloat(product_price * product_amount).toFixed(2);
2930
const dict = {
3031
'event': 'add_to_cart',
31-
'value': amount,
32-
'items': [{
33-
'item_name': product_name,
34-
'item_id': product_id,
35-
'price': product_price
36-
}]
32+
'ecommerce': {
33+
'currency': currency,
34+
'value': amount,
35+
'items': [{
36+
'item_name': product_name,
37+
'item_id': product_id,
38+
'price': product_price,
39+
'quantity': product_amount,
40+
}]
41+
}
3742
}
3843
this._pushInfo(dict);
3944
},
4045
_onClickAddToCartProductsItem: function(ev) {
4146
var dataTarget = ev.target.closest('div.o_wsale_product_btn');
4247
var product_id = dataTarget.dataset.product_id;
48+
var currency = dataTarget.dataset.currency;
4349
var product_sku = dataTarget.dataset.product_sku;
4450
var product_name = dataTarget.dataset.product_name;
4551
var product_price = dataTarget.dataset.product_price;
4652
const dict = {
4753
'event': 'add_to_cart',
48-
'value': product_price,
49-
'items': {
50-
'item_name': product_name,
51-
'item_id': product_sku || product_id,
52-
'price': product_price
54+
'ecommerce': {
55+
'value': product_price,
56+
'currency': currency,
57+
'items': {
58+
'item_name': product_name,
59+
'item_id': product_sku || product_id,
60+
'price': product_price,
61+
}
5362
}
5463
}
5564
this._pushInfo(dict);
5665
},
5766
_onCheckoutStartJs: function () {
5867
var dataTarget = $("#cart_products")[0];
68+
var currency = dataTarget.dataset.currency;
69+
var value = dataTarget.dataset.value;
5970
const info = dataTarget.dataset.cart_info;
6071
const dict = {
6172
'event':'begin_checkout',
62-
'ecommerce':{'items':info}
73+
'ecommerce':{
74+
'currency': currency,
75+
'value': value,
76+
'items':info
77+
}
6378
}
6479
this._pushInfo(dict);
6580
},

website_sale_advanced_tracking/__manifest__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
{
2121
'name': 'Website Sale Advanced Tracking',
2222
'category': 'website',
23-
'version': "16.0.1.0.0",
23+
'version': "16.0.1.1.0",
2424
'author': 'ADHOC SA',
2525
'website': 'www.adhoc.com.ar',
2626
'license': 'AGPL-3',

website_sale_advanced_tracking/models/sale_order.py

+9-13
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,18 @@ def prepare_purchase_information(self):
99
for line in self.order_line:
1010
products.append(
1111
{
12-
"id": line.product_id.default_code or line.product_id.id,
13-
"name": line.product_id.name,
14-
"category": line.product_id.categ_id.name,
12+
"item_id": line.product_id.default_code or line.product_id.id,
13+
"item_name": line.product_id.name,
14+
"item_category": line.product_id.categ_id.name,
1515
"quantity": line.product_uom_qty,
16-
"price": line.price_subtotal,
16+
"price": line.price_reduce_taxinc,
1717
}
1818
)
1919
res = {
20-
'purchase': {
21-
'actionField': {
22-
'id': self.id,
23-
'affiliation': self.partner_id.name,
24-
'revenue': self.amount_total,
25-
'tax':self.amount_tax,
26-
},
27-
'products': products
20+
'transaction_id': self.id,
21+
'value': self.amount_total,
22+
'tax': self.amount_tax,
23+
'currency': self.currency_id.name,
24+
'items': products
2825
}
29-
}
3026
return res

website_sale_advanced_tracking/models/sale_order_line.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ def prepare_checkout_information(self):
1111
{
1212
'item_name': line.name,
1313
'item_id': line.product_id.default_code or line.product_id.id,
14-
'price': (line.price_reduce_taxinc / line.product_uom_qty),
14+
'price': (line.price_reduce_taxinc),
1515
'quantity': line.product_uom_qty
1616
}
1717
)

website_sale_advanced_tracking/views/templates.xml

+4
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,15 @@
55
<attribute name="t-att-data-product_id">product.id</attribute>
66
<attribute name="t-att-data-product_name">product.name</attribute>
77
<attribute name="t-att-data-product_price">combination_info['base_unit_price']</attribute>
8+
<attribute name="t-att-data-currency">website.currency_id.name</attribute>
89
</xpath>
910
</template>
1011
<template id="products_item" inherit_id="website_sale.products_item">
1112
<xpath expr="//div[hasclass('o_wsale_product_btn')]" position="attributes">
1213
<attribute name="t-att-data-product_id">product.id</attribute>
1314
<attribute name="t-att-data-product_sku">product.default_code</attribute>
1415
<attribute name="t-att-data-product_name">product.name</attribute>
16+
<attribute name="t-att-data-currency">website.currency_id.name</attribute>
1517
<attribute name="t-att-data-product_price">template_price_vals['price_reduce']</attribute>
1618
</xpath>
1719
</template>
@@ -33,6 +35,8 @@
3335
<template id="cart_lines" inherit_id="website_sale.cart_lines">
3436
<xpath expr="//table" position="attributes">
3537
<attribute name="t-att-data-cart_info">website_sale_order.website_order_line.prepare_checkout_information()</attribute>
38+
<attribute name="t-att-data-currency">website.currency_id.name</attribute>
39+
<attribute name="t-att-data-value">website_sale_order.amount_total</attribute>
3640
</xpath>
3741
</template>
3842
<template id="payment_footer" inherit_id="website_sale.payment_footer">

0 commit comments

Comments
 (0)