电子商务;如何创建要在计算中使用的权重因子(基于产品类别)?

时间:2019-05-29 14:17:28

标签: javascript arrays google-tag-manager lookup-tables

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

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

我们希望使用一个不同的数字代替我们网站报告的收入,以更好地表示实际的销售收入。我们希望使用新的“实际”值,以便能够在Google Ads中使用自动出价策略:例如:电话的接受率为25%,因此,如果售出4部价格为€500的电话,那么其中三部可能被取消。如果每次的转换价值为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, } 
 ] 

有一个查找表,其中apparel1转换为0.5,apparel2转换为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知识不是那么广泛。我最好的猜测是,它与Lookup表中的变量有关。输出因子保持不变(“服装1”-> 0.5),但它必须根据我们尝试进行的计算而波动。

lookuptable中的inputfunction像这样;

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

就是这种情况。

1 个答案:

答案 0 :(得分:0)

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;
}