fix dashboard google roas口径

This commit is contained in:
huangguancheng 2025-01-21 16:06:15 +08:00
parent a9edbe96cb
commit 19a7ccc54a

View File

@ -141,7 +141,7 @@ class AdsDashboardService
'google' => [ 'google' => [
'google_ads' => 'spend', // 示例映射 'google_ads' => 'spend', // 示例映射
'conversion_value' => 'platform_purchase_value', 'conversion_value' => 'platform_purchase_value',
'roas' => 'roas', 'roas' => 'google_roas',
'conversions' => 'purchases', 'conversions' => 'purchases',
'ctr' => 'ctr', 'ctr' => 'ctr',
'cpa' => 'google_cpa', 'cpa' => 'google_cpa',
@ -182,24 +182,25 @@ class AdsDashboardService
// 在 PHP 中计算指标 // 在 PHP 中计算指标
foreach ($adcycleData as $data) { foreach ($adcycleData as $data) {
$platform = $data['platform']; // 获取平台类型 $platform = $data['platform']; // 获取平台类型
$spend = (float)$data['spend']; $spend = (float)$data['spend'];
$revenue = (float)$data['revenue']; $revenue = (float)$data['revenue'];
$totalCost = (float)$data['total_cost']; $totalCost = (float)$data['total_cost'];
$impressions = (int)$data['impressions']; $impressions = (int)$data['impressions'];
$clicks = (int)$data['clicks']; $clicks = (int)$data['clicks'];
$purchases = (int)$data['purchases']; $purchases = (int)$data['purchases'];
$purchases_all = (int)$data['purchases_all']; $purchases_all = (int)$data['purchases_all'];
$platform_purchase = (int)$data['platform_purchase']; $platform_purchase = (int)$data['platform_purchase'];
$purchases_value = (float)$data['purchases_value']; $purchases_value = (float)$data['purchases_value'];
$platform_purchase_value = (float)$data['platform_purchase_value']; $platform_purchase_value = (float)$data['platform_purchase_value'];
// 计算指标 // 计算指标
$roas = ($spend == 0) ? 0 : $revenue / $spend; $roas = ($spend == 0) ? 0 : $revenue / $spend;
$google_roas = ($spend == 0) ? 0 : $purchases_value / $spend;
$ctr = ($impressions == 0) ? 0 : $clicks / $impressions; $ctr = ($impressions == 0) ? 0 : $clicks / $impressions;
$cpoc = ($platform_purchase == 0) ? 0 : $platform_purchase_value / $platform_purchase; $cpoc = ($platform_purchase == 0) ? 0 : $platform_purchase_value / $platform_purchase;
$cpa = ($purchases == 0) ? 0 : $spend / $purchases; $cpa = ($purchases == 0) ? 0 : $spend / $purchases;
$google_cpa = ($platform_purchase == 0) ? 0 : $spend / $platform_purchase; $google_cpa = ($platform_purchase == 0) ? 0 : $spend / $platform_purchase;
$cpm = ($impressions == 0) ? 0 : ($spend * 1000) / $impressions; $cpm = ($impressions == 0) ? 0 : ($spend * 1000) / $impressions;
$cpc = ($clicks == 0) ? 0 : $spend / $clicks; $cpc = ($clicks == 0) ? 0 : $spend / $clicks;
$conversionRate = ($clicks == 0) ? 0 : $purchases / $clicks; $conversionRate = ($clicks == 0) ? 0 : $purchases / $clicks;
@ -235,6 +236,9 @@ class AdsDashboardService
case 'roas': case 'roas':
$value = round($roas, 2) . 'X'; $value = round($roas, 2) . 'X';
break; break;
case 'google_roas':
$value = round($google_roas, 2) . 'X';
break;
case 'cpoc': case 'cpoc':
$value = '$' . number_format($cpoc, 2) . '%'; $value = '$' . number_format($cpoc, 2) . '%';
break; break;