首页 > 解决方案 > 电子商务; 如何创建用于计算的权重因子(基于产品类别)?

问题描述

当客户完成订单时,步骤如下:

  1. 我们将根据每个产品的类别获得权重因子。(在查找表中)
  2. 每个产品,将使用价格、数量和重量系数进行计算
  3. 所有产品单独计算的总和将是使用转换像素传递给 Google Ads 的新转换值。

而不是我们网站报告的收入,我们希望使用更好地代表实际销售额的不同数字。我们希望使用新的“实际”值,以便能够在 Google Ads 中使用自动出价策略:例如:手机的接受率为 25%,因此如果售出 4 部 500 欧元的手机,其中 3 部可能会被取消。如果每次转化价值为 125 欧元 - 这样 4 次销售将共同产生 500 欧元的收入,并且可以很好地估计实际收入而不是理论收入。

4*500 - 3*500 = 500 = 4*125

我们希望在客户网站上实施一个新的 google 像素,以便将新的转化价值传达给 Google Ads。但为了实现这一点,我们需要做几件事:

- 当有人在网站上结账时,购物篮交易产品的完整概述。这主要包含 SKU、名称、价格、数量 - 描述每个类别的权重因子的表格 - 一段 javascript 读取购物篮并根据每个产品的价格数量权重因子计算新的总转化价值 - Google Ads 转化我们在其中解析新的转换值的像素

在网站中,我们有一段代码,当有一个转换时:
下面的这个数组被称为 transactionProducts:

transactionProducts: [ 
{ Sku: 'dd44', Name: 'tshirt', Category: 'apparel1', Price: 1.99, Quantity: 2, },
 { Sku: 'AA1243544', Name: 'socks', Category: 'apparel2', Price: 9.99, Quantity: 3, } 
 ] 

有一个查找表,其中服饰1 转换为 0.5,服饰2 转换为 0.2 值;所以最后我的最终转化价值应该是这样的;

2*1.99*0.5 + 3*9.99*0.2 = 1.99 + 5.994 = 7.984

我想创建一段 javascript 来计算数组中每个产品的产品总和。以下是我到目前为止所得到的,但由于我不是 javascript 专业人士,因此我需要一些帮助。

function() { 
var sum = 0 for (var i = 0; i < {{VAR - transactionProducts}}.length; i++){
 sum += {{VAR - transactionProducts}}[i]['quantity']*{{VAR - transactionProducts}}[i]['price']*{{VAR - Datalayer - Pricefactor Category LookupTable}}  
};   
return sum;

}

我收到回复 16.975。所以有一个错误的地方。计算后我注意到我使用 0.5 作为所有计算的因子,如下所示;

2*1.99*0.5 + 3*9.99*0.5 = 1.99 + 14.985 = 16.975

不确定这里出了什么问题,因为我的 javascript 知识不是那么广泛。我最好的猜测是它与查找表中的变量有关。输出因子保持不变('apparel1'-->0.5),但它必须根据我们尝试进行的计算而波动。

查找表中的输入函数是这样的;

function() {  
 for (var i = 0; i < {{VAR - transactionProducts}}.length; i++){    
var cat = {{VAR - transactionProducts}}[i]['category']   
return cat 
};
 } 

情况就是这样。

标签: javascriptarraysgoogle-tag-managerlookup-tables

解决方案


function() {
var lookupTable = {
  'Apparel1': function() {
    return 0.5;
  },
  'Apparel2': function() {
    return 0.4;
  },
  'Apparel3':  function() {
    return 0.25;
  },
  'Apparel4':  function() {
    return 2;
}};  
   var sum = 0
      for (var i = 0; i < {{VAR - transactionProducts}}.length; i++){
 sum += {{VAR - transactionProducts}}[i]['quantity']*{{VAR - transactionProducts}}[i]['price']*
   lookupTable[{{VAR - transactionProducts}}[i]['category']]()
};
  return sum;
}

推荐阅读