Update ROAS calculations to include all-time values and adjust cache metadata

This commit is contained in:
2025-04-24 00:17:36 +02:00
parent 2ea0cc28a6
commit 056559d0f3
3 changed files with 19 additions and 8 deletions

View File

@@ -23,8 +23,8 @@
},
"class.Api.php": {
"type": "-",
"size": 11018,
"lmtime": 0,
"size": 11235,
"lmtime": 1744498273470,
"modified": false
},
"class.Campaigns.php": {
@@ -41,8 +41,8 @@
},
"class.Products.php": {
"type": "-",
"size": 8787,
"lmtime": 1744064045288,
"size": 8915,
"lmtime": 1744489800429,
"modified": false
},
"class.Site.php": {
@@ -139,7 +139,7 @@
"robots.txt": {
"type": "-",
"size": 25,
"lmtime": 0,
"lmtime": 1744488227849,
"modified": false
},
"templates": {
@@ -158,6 +158,7 @@
}
}
},
"tmp": {},
"upload": {},
"xml": {}
}

View File

@@ -63,7 +63,7 @@ class Cron
$cpc = $offer_data['clicks'] > 0 ? round( $offer_data['cost'] / $offer_data['clicks'], 6 ) : 0;
$roas = ($offer_data['conversions'] > 0 and $offer_data['cost']) ? round($offer_data['conversions_value'] / $offer_data['cost'], 2) * 100 : 0;
// $impressions_30 = \factory\Products::get_impressions_30( $offer_data['product_id'] );
$impressions_30 = \factory\Products::get_impressions_30( $offer_data['product_id'] );
// update custom_label_4 only current is empty or is bestseller
$custom_label_4 = \factory\Products::get_product_data( $offer_data['product_id'], 'custom_label_4' );
@@ -205,6 +205,14 @@ class Cron
exit;
}
static public function get_roas_all_time( $product_id, $date_to )
{
global $mdb;
$roas_all_time = $mdb -> query( 'SELECT SUM(conversions_value) / SUM(cost) * 100 AS roas_all_time FROM products_history WHERE product_id = ' . $product_id . ' AND date_add <= \'' . $date_to . '\'' ) -> fetchColumn();
return round( $roas_all_time, 2 );
}
static public function cron_product_history_30_save( $product_id, $date_to )
{
global $mdb;
@@ -262,7 +270,8 @@ class Cron
'cost' => $cost,
'conversions' => $conversions,
'conversions_value' => $conversions_value,
'roas' => $roas
'roas' => $roas,
'roas_all_time' => self::get_roas_all_time( $product_id, $date_to )
], [ 'AND' => [ 'product_id' => $product_id, 'date_add' => $date_to ] ] );
}
else
@@ -276,6 +285,7 @@ class Cron
'conversions' => $conversions,
'conversions_value' => $conversions_value,
'roas' => $roas,
'roas_all_time' => self::get_roas_all_time( $product_id, $date_to ),
'date_add' => $date_to
] );
}

View File

@@ -211,7 +211,7 @@ class Products
$cost[] = (float)$row['cost'];
$conversions[] = (int)$row['conversions'];
$conversions_value[] = (float)$row['conversions_value'];
$roas[] = (float)$row['roas'];
$roas[] = (float)$row['roas_all_time'];
$dates[] = $row['date_add'];
}