我试着追踪购买的价值。然而,在中,应该是1.321,49的总收入的价值是1,32。
我已经尝试使用以下自定义JS删除",",但没有成功。在尝试时,我想知道如何返回这个新值来度量它?也许不可能作为我在标记中设置为值的DLV - ecommerce.purchase.actionField.revenue变量返回?如果你能给我一个熟练的指导,我不太熟悉JS和GTM,那就太好了;)
函数(){ var ecommerce_purchase_revenue ={DLV- ecommerce.purchase.actionField.revenue}};var ecommerce_purchase_revenue = ecommerce_purchase_revenue.replace(“","");返回{DLV- ecommerce.purchase.actionField.revenue}};}
下面是一些包含更多信息的图片:
发布于 2019-09-04 10:42:10
这种情况可能发生的原因有几个。
这种情况可能发生的原因之一是由于购买过程中没有货币被推入数据层。
在英国和美国,我们会写下价值1,032磅的美元,四十美分的便士,比如:-
1 032.49
但是,在欧洲,您可以使用以下格式编写相同的值:
1.032,49
要解决这个问题,只需在dataLayer对象中指定货币代码,或者将其设置为标记中的字段,将增强的电子商务数据发送到Google。
Google会自动拿起它,正确地格式化在Analytics中显示的值。
一旦你推动正确的货币价值,你也可能需要调整在谷歌分析中显示为设置的货币。
此设置可通过导航到:
Google Analytics console >>
Admin (cog, bottom left) >>
View Settings (far right) >>
"Currency Display As"

选项1:-
window.dataLayer.push({
event: 'gtm.dom',
ecommerce: {
currencyCode: 'EUR', // NOTE: We have now told google to use EUR formatting
purchase: {
actionField: {
id: '5000000038',
affiliation: 'redacted',
order_id: '5000000038',
subtotal: '1,321.49',
shipping: '0.00',
tax: '277.51',
total: '1,599.00',
revenue: '1,321.49',
discount: '0.00',
coupon:''
},
products: [{}] // ...选项2:-
可以将货币代码设置为标记中的字段。
在GTM中导航到“字段设置”(在“更多设置”下拉列表下),并添加一个新字段:
字段名: currencyCode值: EUR
如果您的站点提供了使用多种货币支付的工具,您还可以编写一些逻辑,从数据层、浏览器cookie或其他变量中检测用户的货币,以便动态设置货币。
在谷歌开发者参考中有许多有用的例子,这将有助于进一步了解正在发生的事情。
另一个原因可能在于您的转换功能。
我发现转换不影响原始字符串,而是返回原始未转换值(return {{DLV - ecommerce.purchase.actionField.revenue}};)。
要解决这一特定问题,请将该职能调整如下:
function () {
var eRev = {{ecommerce.purchase.actionField.revenue}};
var dRev = {{DLV}};
eRev = Number(eRev.replace(/,/g,''));
ecommerce_purchase_revenue = dRev - eRev;
return ecommerce_purchase_revenue;
// You might need to convert it back to a string
// if this is the case, use the following return instead:
// return ecommerce_purchase_revenue.toString();
}重要的是,我们使用regex在函数中进行替换,以便允许包含多个逗号分隔的情况。(例如,1 234 234.12)。
祝你顺利解决这个问题!
https://stackoverflow.com/questions/57786235
复制相似问题