Accounts、Campaigns、Ad Sets 、Ads、Creatives 数据字段更新
This commit is contained in:
parent
765dc88e87
commit
0ac4027bc9
@ -200,7 +200,6 @@ class AdsInsightService
|
|||||||
COALESCE(SUM(d.spend) / 1000000, 0) as spend,
|
COALESCE(SUM(d.spend) / 1000000, 0) as spend,
|
||||||
COALESCE(SUM(d.impressions), 0) as impressions,
|
COALESCE(SUM(d.impressions), 0) as impressions,
|
||||||
COALESCE(SUM(d.adds_to_cart), 0) as adds_to_cart,
|
COALESCE(SUM(d.adds_to_cart), 0) as adds_to_cart,
|
||||||
COALESCE(SUM(d.cost_per_atc), 0) as cost_per_atc,
|
|
||||||
COALESCE(SUM(d.purchases), 0) as purchases,
|
COALESCE(SUM(d.purchases), 0) as purchases,
|
||||||
COALESCE(SUM(d.purchases_value / 1000000), 0) as purchases_value,
|
COALESCE(SUM(d.purchases_value / 1000000), 0) as purchases_value,
|
||||||
COALESCE(SUM(d.revenue / 1000000), 0) as revenue,
|
COALESCE(SUM(d.revenue / 1000000), 0) as revenue,
|
||||||
@ -232,6 +231,7 @@ class AdsInsightService
|
|||||||
$total_purchases_value = array_sum(array_column($allCampaigns, 'purchases_value'));
|
$total_purchases_value = array_sum(array_column($allCampaigns, 'purchases_value'));
|
||||||
$total_revenue = array_sum(array_column($allCampaigns, 'revenue'));
|
$total_revenue = array_sum(array_column($allCampaigns, 'revenue'));
|
||||||
$total_purchases = array_sum(array_column($allCampaigns, 'purchases'));
|
$total_purchases = array_sum(array_column($allCampaigns, 'purchases'));
|
||||||
|
$adds_to_cart = array_sum(array_column($allCampaigns, 'adds_to_cart'));
|
||||||
$cost_per_purchase = $total_purchases == 0 ? 0 : round($total_spend / $total_purchases, 2);
|
$cost_per_purchase = $total_purchases == 0 ? 0 : round($total_spend / $total_purchases, 2);
|
||||||
// 汇总统计数据
|
// 汇总统计数据
|
||||||
$statistics = [
|
$statistics = [
|
||||||
@ -242,7 +242,7 @@ class AdsInsightService
|
|||||||
'clicks' => $total_clicks,
|
'clicks' => $total_clicks,
|
||||||
'impressions' => $total_impressions,
|
'impressions' => $total_impressions,
|
||||||
'adds_to_cart' => array_sum(array_column($allCampaigns, 'adds_to_cart')),
|
'adds_to_cart' => array_sum(array_column($allCampaigns, 'adds_to_cart')),
|
||||||
'cost_per_atc' => array_sum(array_column($allCampaigns, 'cost_per_atc')),
|
'cost_per_atc' => $adds_to_cart == 0 ? '-' : '$' . number_format(($total_spend / $adds_to_cart), 2),
|
||||||
'purchases' => array_sum(array_column($allCampaigns, 'purchases')),
|
'purchases' => array_sum(array_column($allCampaigns, 'purchases')),
|
||||||
'purchases_value' => array_sum(array_column($allCampaigns, 'purchases_value')),
|
'purchases_value' => array_sum(array_column($allCampaigns, 'purchases_value')),
|
||||||
'cost_per_purchase' => '$' . number_format($cost_per_purchase, 2) ?: '$0.00',
|
'cost_per_purchase' => '$' . number_format($cost_per_purchase, 2) ?: '$0.00',
|
||||||
@ -289,10 +289,10 @@ class AdsInsightService
|
|||||||
'clicks' => $item['clicks'],
|
'clicks' => $item['clicks'],
|
||||||
'ctr' => $ctr, // CTR 字段
|
'ctr' => $ctr, // CTR 字段
|
||||||
'adds_to_cart' => $item['adds_to_cart'],
|
'adds_to_cart' => $item['adds_to_cart'],
|
||||||
'cost_per_atc' => $item['cost_per_atc'],
|
'cost_per_atc' => $item['adds_to_cart'] > 0 ? '$' . number_format(($item['spend'] / $item['adds_to_cart']), 2) : '-',
|
||||||
'purchases' => $item['purchases'],
|
'purchases' => $item['purchases'],
|
||||||
'purchases_value' => '$' . number_format($item['purchases_value'], 2), // 格式化购买金额
|
'purchases_value' => '$' . number_format($item['purchases_value'], 2), // 格式化购买金额
|
||||||
'cost_per_purchase' => $item['purchases'] > 0 ? '$' . number_format(($item['spend'] / $item['purchases']), 2) : '$0.00',
|
'cost_per_purchase' => $item['purchases'] > 0 ? '$' . number_format(($item['spend'] / $item['purchases']), 2) : '-',
|
||||||
'revenue' => '$' . number_format($item['revenue'], 2), // 格式化收入
|
'revenue' => '$' . number_format($item['revenue'], 2), // 格式化收入
|
||||||
'total_cost' => '$' . number_format($item['total_cost'], 2), // 格式化总成本
|
'total_cost' => '$' . number_format($item['total_cost'], 2), // 格式化总成本
|
||||||
'conversion_rate' => $conversion_rate,
|
'conversion_rate' => $conversion_rate,
|
||||||
@ -896,7 +896,6 @@ class AdsInsightService
|
|||||||
COALESCE(SUM(d.spend) / 1000000, 0) as spend,
|
COALESCE(SUM(d.spend) / 1000000, 0) as spend,
|
||||||
COALESCE(SUM(d.impressions), 0) as impressions,
|
COALESCE(SUM(d.impressions), 0) as impressions,
|
||||||
COALESCE(SUM(d.adds_to_cart), 0) as adds_to_cart,
|
COALESCE(SUM(d.adds_to_cart), 0) as adds_to_cart,
|
||||||
COALESCE(SUM(d.cost_per_atc), 0) as cost_per_atc,
|
|
||||||
COALESCE(SUM(d.purchases), 0) as purchases,
|
COALESCE(SUM(d.purchases), 0) as purchases,
|
||||||
COALESCE(SUM(d.purchases_value / 1000000), 0) as purchases_value,
|
COALESCE(SUM(d.purchases_value / 1000000), 0) as purchases_value,
|
||||||
COALESCE(SUM(d.revenue / 1000000), 0) as revenue,
|
COALESCE(SUM(d.revenue / 1000000), 0) as revenue,
|
||||||
@ -930,6 +929,7 @@ class AdsInsightService
|
|||||||
$total_purchases_value = array_sum(array_column($allAdsets, 'purchases_value'));
|
$total_purchases_value = array_sum(array_column($allAdsets, 'purchases_value'));
|
||||||
$total_revenue = array_sum(array_column($allAdsets, 'revenue'));
|
$total_revenue = array_sum(array_column($allAdsets, 'revenue'));
|
||||||
$total_purchases = array_sum(array_column($allAdsets, 'purchases'));
|
$total_purchases = array_sum(array_column($allAdsets, 'purchases'));
|
||||||
|
$adds_to_cart = array_sum(array_column($allAdsets, 'adds_to_cart'));
|
||||||
$cost_per_purchase = $total_purchases == 0 ? 0 : round($total_spend / $total_purchases, 2);
|
$cost_per_purchase = $total_purchases == 0 ? 0 : round($total_spend / $total_purchases, 2);
|
||||||
|
|
||||||
// 汇总统计数据
|
// 汇总统计数据
|
||||||
@ -941,7 +941,7 @@ class AdsInsightService
|
|||||||
'clicks' => $total_clicks,
|
'clicks' => $total_clicks,
|
||||||
'impressions' => array_sum(array_column($allAdsets, 'impressions')),
|
'impressions' => array_sum(array_column($allAdsets, 'impressions')),
|
||||||
'adds_to_cart' => array_sum(array_column($allAdsets, 'adds_to_cart')),
|
'adds_to_cart' => array_sum(array_column($allAdsets, 'adds_to_cart')),
|
||||||
'cost_per_atc' => array_sum(array_column($allAdsets, 'cost_per_atc')),
|
'cost_per_atc' => $adds_to_cart == 0 ? '-' : '$' . number_format(($total_spend / $adds_to_cart), 2),
|
||||||
'purchases' => array_sum(array_column($allAdsets, 'purchases')),
|
'purchases' => array_sum(array_column($allAdsets, 'purchases')),
|
||||||
'purchases_value' => array_sum(array_column($allAdsets, 'purchases_value')),
|
'purchases_value' => array_sum(array_column($allAdsets, 'purchases_value')),
|
||||||
'cost_per_purchase' => '$' . number_format($cost_per_purchase, 2) ?: '$0.00',
|
'cost_per_purchase' => '$' . number_format($cost_per_purchase, 2) ?: '$0.00',
|
||||||
@ -987,10 +987,10 @@ class AdsInsightService
|
|||||||
'clicks' => $item['clicks'],
|
'clicks' => $item['clicks'],
|
||||||
'ctr' => $ctr, // CTR 字段
|
'ctr' => $ctr, // CTR 字段
|
||||||
'adds_to_cart' => $item['adds_to_cart'],
|
'adds_to_cart' => $item['adds_to_cart'],
|
||||||
'cost_per_atc' => $item['cost_per_atc'],
|
'cost_per_atc' => $item['adds_to_cart'] > 0 ? '$' . number_format(($item['spend'] / $item['adds_to_cart']), 2) : '-',
|
||||||
'purchases' => $item['purchases'],
|
'purchases' => $item['purchases'],
|
||||||
'purchases_value' => '$' . number_format($item['purchases_value'], 2), // 格式化购买金额
|
'purchases_value' => '$' . number_format($item['purchases_value'], 2), // 格式化购买金额
|
||||||
'cost_per_purchase' => $item['purchases'] > 0 ? '$' . number_format(($item['spend'] / $item['purchases']), 2) : '$0.00',
|
'cost_per_purchase' => $item['purchases'] > 0 ? '$' . number_format(($item['spend'] / $item['purchases']), 2) : '-',
|
||||||
'revenue' => '$' . number_format($item['revenue'], 2), // 格式化收入
|
'revenue' => '$' . number_format($item['revenue'], 2), // 格式化收入
|
||||||
'total_cost' => '$' . number_format($item['total_cost'], 2), // 格式化总成本
|
'total_cost' => '$' . number_format($item['total_cost'], 2), // 格式化总成本
|
||||||
'conversion_rate' => $conversion_rate, // 没有提供有效的计算,保持为 '-'
|
'conversion_rate' => $conversion_rate, // 没有提供有效的计算,保持为 '-'
|
||||||
@ -1192,7 +1192,6 @@ class AdsInsightService
|
|||||||
COALESCE(SUM(d.spend) / 1000000, 0) as spend,
|
COALESCE(SUM(d.spend) / 1000000, 0) as spend,
|
||||||
COALESCE(SUM(d.impressions), 0) as impressions,
|
COALESCE(SUM(d.impressions), 0) as impressions,
|
||||||
COALESCE(SUM(d.adds_to_cart), 0) as adds_to_cart,
|
COALESCE(SUM(d.adds_to_cart), 0) as adds_to_cart,
|
||||||
COALESCE(SUM(d.cost_per_atc), 0) as cost_per_atc,
|
|
||||||
COALESCE(SUM(d.purchases), 0) as purchases,
|
COALESCE(SUM(d.purchases), 0) as purchases,
|
||||||
COALESCE(SUM(d.purchases_value) / 1000000, 0) as purchases_value,
|
COALESCE(SUM(d.purchases_value) / 1000000, 0) as purchases_value,
|
||||||
COALESCE(SUM(d.revenue) / 1000000, 0) as revenue,
|
COALESCE(SUM(d.revenue) / 1000000, 0) as revenue,
|
||||||
@ -1228,6 +1227,7 @@ class AdsInsightService
|
|||||||
$total_purchases_value = array_sum(array_column($allAccounts, 'purchases_value'));
|
$total_purchases_value = array_sum(array_column($allAccounts, 'purchases_value'));
|
||||||
$total_revenue = array_sum(array_column($allAccounts, 'revenue'));
|
$total_revenue = array_sum(array_column($allAccounts, 'revenue'));
|
||||||
$total_purchases = array_sum(array_column($allAccounts, 'purchases'));
|
$total_purchases = array_sum(array_column($allAccounts, 'purchases'));
|
||||||
|
$adds_to_cart = array_sum(array_column($allAccounts, 'adds_to_cart'));
|
||||||
$cost_per_purchase = $total_purchases == 0 ? 0 : round($total_spend / $total_purchases, 2);
|
$cost_per_purchase = $total_purchases == 0 ? 0 : round($total_spend / $total_purchases, 2);
|
||||||
|
|
||||||
$statistics = [
|
$statistics = [
|
||||||
@ -1238,7 +1238,7 @@ class AdsInsightService
|
|||||||
'clicks' => $total_clicks,
|
'clicks' => $total_clicks,
|
||||||
'impressions' => array_sum(array_column($allAccounts, 'impressions')),
|
'impressions' => array_sum(array_column($allAccounts, 'impressions')),
|
||||||
'adds_to_cart' => array_sum(array_column($allAccounts, 'adds_to_cart')),
|
'adds_to_cart' => array_sum(array_column($allAccounts, 'adds_to_cart')),
|
||||||
'cost_per_atc' => array_sum(array_column($allAccounts, 'cost_per_atc')),
|
'cost_per_atc' => $adds_to_cart == 0 ? '-' : '$' . number_format(($total_spend / $adds_to_cart), 2),
|
||||||
'purchases' => array_sum(array_column($allAccounts, 'purchases')),
|
'purchases' => array_sum(array_column($allAccounts, 'purchases')),
|
||||||
'purchases_value' => array_sum(array_column($allAccounts, 'purchases_value')),
|
'purchases_value' => array_sum(array_column($allAccounts, 'purchases_value')),
|
||||||
'cost_per_purchase' => '$' . number_format($cost_per_purchase, 2) ?: '$0.00',
|
'cost_per_purchase' => '$' . number_format($cost_per_purchase, 2) ?: '$0.00',
|
||||||
@ -1286,10 +1286,10 @@ class AdsInsightService
|
|||||||
'clicks' => $item['clicks'],
|
'clicks' => $item['clicks'],
|
||||||
'ctr' => $ctr, // CTR 字段
|
'ctr' => $ctr, // CTR 字段
|
||||||
'adds_to_cart' => $item['adds_to_cart'],
|
'adds_to_cart' => $item['adds_to_cart'],
|
||||||
'cost_per_atc' => $item['cost_per_atc'],
|
'cost_per_atc' => $item['adds_to_cart'] > 0 ? '$' . number_format(($item['spend'] / $item['adds_to_cart']), 2) : '-',
|
||||||
'purchases' => $item['purchases'],
|
'purchases' => $item['purchases'],
|
||||||
'purchases_value' => '$' . number_format($item['purchases_value'], 2), // 格式化购买金额
|
'purchases_value' => '$' . number_format($item['purchases_value'], 2), // 格式化购买金额
|
||||||
'cost_per_purchase' => $item['purchases'] > 0 ? '$' . number_format(($item['spend'] / $item['purchases']), 2) : '$0.00',
|
'cost_per_purchase' => $item['purchases'] > 0 ? '$' . number_format(($item['spend'] / $item['purchases']), 2) : '-',
|
||||||
'revenue' => '$' . number_format($item['revenue'], 2), // 格式化收入
|
'revenue' => '$' . number_format($item['revenue'], 2), // 格式化收入
|
||||||
'total_cost' => '$' . number_format($item['total_cost'], 2), // 格式化总成本
|
'total_cost' => '$' . number_format($item['total_cost'], 2), // 格式化总成本
|
||||||
'conversion_rate' => $conversion_rate,
|
'conversion_rate' => $conversion_rate,
|
||||||
@ -1361,7 +1361,6 @@ class AdsInsightService
|
|||||||
COALESCE(SUM(d.spend) / 1000000, 0) as spend,
|
COALESCE(SUM(d.spend) / 1000000, 0) as spend,
|
||||||
COALESCE(SUM(d.impressions), 0) as impressions,
|
COALESCE(SUM(d.impressions), 0) as impressions,
|
||||||
COALESCE(SUM(d.adds_to_cart), 0) as adds_to_cart,
|
COALESCE(SUM(d.adds_to_cart), 0) as adds_to_cart,
|
||||||
COALESCE(SUM(d.cost_per_atc), 0) as cost_per_atc,
|
|
||||||
COALESCE(SUM(d.purchases), 0) as purchases,
|
COALESCE(SUM(d.purchases), 0) as purchases,
|
||||||
COALESCE(SUM(d.purchases_value) / 1000000, 0) as purchases_value,
|
COALESCE(SUM(d.purchases_value) / 1000000, 0) as purchases_value,
|
||||||
COALESCE(SUM(d.revenue) / 1000000, 0) as revenue,
|
COALESCE(SUM(d.revenue) / 1000000, 0) as revenue,
|
||||||
@ -1396,6 +1395,7 @@ class AdsInsightService
|
|||||||
$total_purchases_value = array_sum(array_column($allAds, 'purchases_value'));
|
$total_purchases_value = array_sum(array_column($allAds, 'purchases_value'));
|
||||||
$total_revenue = array_sum(array_column($allAds, 'revenue'));
|
$total_revenue = array_sum(array_column($allAds, 'revenue'));
|
||||||
$total_purchases = array_sum(array_column($allAds, 'purchases'));
|
$total_purchases = array_sum(array_column($allAds, 'purchases'));
|
||||||
|
$adds_to_cart = array_sum(array_column($allAds, 'adds_to_cart'));
|
||||||
$cost_per_purchase = $total_purchases == 0 ? 0 : round($total_spend / $total_purchases, 2);
|
$cost_per_purchase = $total_purchases == 0 ? 0 : round($total_spend / $total_purchases, 2);
|
||||||
|
|
||||||
$statistics = [
|
$statistics = [
|
||||||
@ -1406,7 +1406,7 @@ class AdsInsightService
|
|||||||
'clicks' => $total_clicks,
|
'clicks' => $total_clicks,
|
||||||
'impressions' => array_sum(array_column($allAds, 'impressions')),
|
'impressions' => array_sum(array_column($allAds, 'impressions')),
|
||||||
'adds_to_cart' => array_sum(array_column($allAds, 'adds_to_cart')),
|
'adds_to_cart' => array_sum(array_column($allAds, 'adds_to_cart')),
|
||||||
'cost_per_atc' => array_sum(array_column($allAds, 'cost_per_atc')),
|
'cost_per_atc' => $adds_to_cart == 0 ? '-' : '$' . number_format(($total_spend / $adds_to_cart), 2),
|
||||||
'purchases' => array_sum(array_column($allAds, 'purchases')),
|
'purchases' => array_sum(array_column($allAds, 'purchases')),
|
||||||
'purchases_value' => array_sum(array_column($allAds, 'purchases_value')),
|
'purchases_value' => array_sum(array_column($allAds, 'purchases_value')),
|
||||||
'cost_per_purchase' => '$' . number_format($cost_per_purchase, 2) ?: '$0.00',
|
'cost_per_purchase' => '$' . number_format($cost_per_purchase, 2) ?: '$0.00',
|
||||||
@ -1454,10 +1454,10 @@ class AdsInsightService
|
|||||||
'clicks' => $item['clicks'],
|
'clicks' => $item['clicks'],
|
||||||
'ctr' => $ctr, // CTR 字段
|
'ctr' => $ctr, // CTR 字段
|
||||||
'adds_to_cart' => $item['adds_to_cart'],
|
'adds_to_cart' => $item['adds_to_cart'],
|
||||||
'cost_per_atc' => $item['cost_per_atc'],
|
'cost_per_atc' => $item['adds_to_cart'] > 0 ? '$' . number_format(($item['spend'] / $item['adds_to_cart']), 2) : '-',
|
||||||
'purchases' => $item['purchases'],
|
'purchases' => $item['purchases'],
|
||||||
'purchases_value' => '$' . number_format($item['purchases_value'], 2), // 格式化购买金额
|
'purchases_value' => '$' . number_format($item['purchases_value'], 2), // 格式化购买金额
|
||||||
'cost_per_purchase' => $item['purchases'] > 0 ? '$' . number_format(($item['spend'] / $item['purchases']), 2) : '$0.00',
|
'cost_per_purchase' => $item['purchases'] > 0 ? '$' . number_format(($item['spend'] / $item['purchases']), 2) : '-',
|
||||||
'revenue' => '$' . number_format($item['revenue'], 2), // 格式化收入
|
'revenue' => '$' . number_format($item['revenue'], 2), // 格式化收入
|
||||||
'total_cost' => '$' . number_format($item['total_cost'], 2), // 格式化总成本
|
'total_cost' => '$' . number_format($item['total_cost'], 2), // 格式化总成本
|
||||||
'conversion_rate' => $conversion_rate,
|
'conversion_rate' => $conversion_rate,
|
||||||
@ -1823,6 +1823,9 @@ class AdsInsightService
|
|||||||
ThinkDb::raw('COALESCE(SUM(i.revenue) / 1000000, 0) AS total_revenue'),
|
ThinkDb::raw('COALESCE(SUM(i.revenue) / 1000000, 0) AS total_revenue'),
|
||||||
ThinkDb::raw('COALESCE(SUM(i.impressions), 0) AS total_impressions'),
|
ThinkDb::raw('COALESCE(SUM(i.impressions), 0) AS total_impressions'),
|
||||||
ThinkDb::raw('COALESCE(SUM(i.clicks), 0) AS total_clicks'),
|
ThinkDb::raw('COALESCE(SUM(i.clicks), 0) AS total_clicks'),
|
||||||
|
ThinkDb::raw('COALESCE(SUM(i.link_clicks), 0) AS total_link_clicks'),
|
||||||
|
ThinkDb::raw('COALESCE(SUM(i.adds_to_cart), 0) AS total_adds_to_cart'),
|
||||||
|
ThinkDb::raw('COALESCE(SUM(i.outbound_clicks), 0) AS total_outbound_clicks'),
|
||||||
ThinkDb::raw('COALESCE(SUM(i.video_25),0) AS video_plays_25_rate'),
|
ThinkDb::raw('COALESCE(SUM(i.video_25),0) AS video_plays_25_rate'),
|
||||||
ThinkDb::raw('COALESCE(SUM(i.video_50),0) AS video_plays_50_rate'),
|
ThinkDb::raw('COALESCE(SUM(i.video_50),0) AS video_plays_50_rate'),
|
||||||
ThinkDb::raw('COALESCE(SUM(i.video_75),0) AS video_plays_75_rate'),
|
ThinkDb::raw('COALESCE(SUM(i.video_75),0) AS video_plays_75_rate'),
|
||||||
@ -1887,6 +1890,9 @@ class AdsInsightService
|
|||||||
'total_conversions' => 0,
|
'total_conversions' => 0,
|
||||||
'impressions' => 0,
|
'impressions' => 0,
|
||||||
'clicks' => 0,
|
'clicks' => 0,
|
||||||
|
'link_clicks' => 0,
|
||||||
|
'outbound_clicks' => 0,
|
||||||
|
'adds_to_cart' => 0,
|
||||||
'revenue' => 0,
|
'revenue' => 0,
|
||||||
'ad_count' => 0
|
'ad_count' => 0
|
||||||
];
|
];
|
||||||
@ -1898,17 +1904,14 @@ class AdsInsightService
|
|||||||
$creativeSummaryData[$creativeId]['purchases'] += $creativeData['total_purchases'];
|
$creativeSummaryData[$creativeId]['purchases'] += $creativeData['total_purchases'];
|
||||||
$creativeSummaryData[$creativeId]['impressions'] += $creativeData['total_impressions'];
|
$creativeSummaryData[$creativeId]['impressions'] += $creativeData['total_impressions'];
|
||||||
$creativeSummaryData[$creativeId]['clicks'] += $creativeData['total_clicks'];
|
$creativeSummaryData[$creativeId]['clicks'] += $creativeData['total_clicks'];
|
||||||
|
$creativeSummaryData[$creativeId]['link_clicks'] += $creativeData['total_link_clicks'];
|
||||||
|
$creativeSummaryData[$creativeId]['outbound_clicks'] += $creativeData['total_outbound_clicks'];
|
||||||
|
$creativeSummaryData[$creativeId]['adds_to_cart'] += $creativeData['total_adds_to_cart'];
|
||||||
$creativeSummaryData[$creativeId]['revenue'] += $creativeData['total_revenue'];
|
$creativeSummaryData[$creativeId]['revenue'] += $creativeData['total_revenue'];
|
||||||
$creativeSummaryData[$creativeId]['video_plays_25_rate'] += $creativeData['video_plays_25_rate'];
|
$creativeSummaryData[$creativeId]['video_plays_25_rate'] += $creativeData['video_plays_25_rate'];
|
||||||
$creativeSummaryData[$creativeId]['video_plays_50_rate'] += $creativeData['video_plays_50_rate'];
|
$creativeSummaryData[$creativeId]['video_plays_50_rate'] += $creativeData['video_plays_50_rate'];
|
||||||
$creativeSummaryData[$creativeId]['video_plays_75_rate'] += $creativeData['video_plays_75_rate'];
|
$creativeSummaryData[$creativeId]['video_plays_75_rate'] += $creativeData['video_plays_75_rate'];
|
||||||
$creativeSummaryData[$creativeId]['video_plays_100_rate'] += $creativeData['video_plays_100_rate'];
|
$creativeSummaryData[$creativeId]['video_plays_100_rate'] += $creativeData['video_plays_100_rate'];
|
||||||
// 计算 ROAS
|
|
||||||
$roas = $creativeSummaryData[$creativeId]['spend'] > 0
|
|
||||||
? $creativeSummaryData[$creativeId]['revenue'] / $creativeSummaryData[$creativeId]['spend']
|
|
||||||
: 0;
|
|
||||||
$creativeSummaryData[$creativeId]['roas'] = $roas > 0 ? number_format($roas, 2) . 'X' : '-';
|
|
||||||
|
|
||||||
// 填充广告计数
|
// 填充广告计数
|
||||||
// $creativeSummaryData[$creativeData->creative_id]['ad_count'] = rand(10, 200); // 每个 creative_id 对应一个广告
|
// $creativeSummaryData[$creativeData->creative_id]['ad_count'] = rand(10, 200); // 每个 creative_id 对应一个广告
|
||||||
}
|
}
|
||||||
@ -1920,24 +1923,27 @@ class AdsInsightService
|
|||||||
$statisticsData['purchases'] = array_sum(array_column($creativeSummaryData, 'purchases'));
|
$statisticsData['purchases'] = array_sum(array_column($creativeSummaryData, 'purchases'));
|
||||||
$statisticsData['impressions'] = array_sum(array_column($creativeSummaryData, 'impressions'));
|
$statisticsData['impressions'] = array_sum(array_column($creativeSummaryData, 'impressions'));
|
||||||
$statisticsData['clicks'] = array_sum(array_column($creativeSummaryData, 'clicks'));
|
$statisticsData['clicks'] = array_sum(array_column($creativeSummaryData, 'clicks'));
|
||||||
|
$statisticsData['link_clicks'] = array_sum(array_column($creativeSummaryData, 'link_clicks'));
|
||||||
|
$statisticsData['outbound_clicks'] = array_sum(array_column($creativeSummaryData, 'outbound_clicks'));
|
||||||
|
$statisticsData['adds_to_cart'] = array_sum(array_column($creativeSummaryData, 'adds_to_cart'));
|
||||||
$statisticsData['revenue'] = array_sum(array_column($creativeSummaryData, 'revenue'));
|
$statisticsData['revenue'] = array_sum(array_column($creativeSummaryData, 'revenue'));
|
||||||
// 汇总统计数据
|
// 汇总统计数据
|
||||||
$statistics = [
|
$statistics = [
|
||||||
'spend' => '$' . number_format($statisticsData['spend'], 2), // 格式化金额
|
'spend' => '$' . number_format($statisticsData['spend'], 2), // 格式化金额
|
||||||
'purchases_value' => '$' . number_format($statisticsData['purchases_value'], 2), // 格式化金额
|
'purchases_value' => '$' . number_format($statisticsData['purchases_value'], 2), // 格式化金额
|
||||||
'roas' => $statisticsData['spend'] == 0 ? '-' : round($statisticsData['revenue'] / $statisticsData['spend'], 2) . 'X',
|
'roas' => $statisticsData['spend'] == 0 ? '-' : round($statisticsData['revenue'] / $statisticsData['spend'], 2) . 'X',
|
||||||
'cpa' => '-', // 格式化金额
|
'cpa' => $statisticsData['purchases'] == 0 ? '-' : '$' . number_format($statisticsData['spend'] / $statisticsData['purchases'], 2),
|
||||||
'cpc_link_click' => '-', // 格式化金额
|
'cpc_link_click' => $statisticsData['link_clicks'] == 0 ? '-' : '$' . number_format($statisticsData['spend'] / $statisticsData['link_clicks'], 2),
|
||||||
'cpm' => '-', // 格式化金额
|
'cpm' => $statisticsData['impressions'] == 0 ? '-' : '$' . number_format($statisticsData['spend'] * 1000 / $statisticsData['impressions'], 2), // sum(spend) * 1000 / sum(Impression)
|
||||||
'cpc_all' => '-', //格式化金额
|
'cpc_all' => $statisticsData['clicks'] == 0 ? '-' : '$' . number_format($statisticsData['spend'] / $statisticsData['clicks'], 2),
|
||||||
'aov' => '-', // 格式化金额
|
'aov' => $statisticsData['purchases'] == 0 ? '-' : '$' . number_format($statisticsData['purchases_value'] / $statisticsData['purchases'], 2), // 格式化金额
|
||||||
'click_to_atc_ratio' => '-', // 格式化百分比
|
'click_to_atc_ratio' => ($statisticsData['clicks'] > 0) ? number_format(($statisticsData['adds_to_cart'] / $statisticsData['clicks']) * 100, 2) . '%' : '-',
|
||||||
'atc_to_purchase_ratio' => '-',// 格式化百分比
|
'atc_to_purchase_ratio' => ($statisticsData['adds_to_cart'] > 0) ? number_format(($statisticsData['purchases'] / $statisticsData['adds_to_cart']) * 100, 2) . '%' : '-',
|
||||||
'purchases' => $statisticsData['purchases'],
|
'purchases' => $statisticsData['purchases'],
|
||||||
'first_frame_retention' => '-',
|
'first_frame_retention' => '-',
|
||||||
'thumbstop' => '-',
|
'thumbstop' => '-',
|
||||||
'ctr_outbound' => '-',
|
'ctr_outbound' => ($statisticsData['impressions'] > 0) ? number_format(($statisticsData['outbound_clicks'] / $statisticsData['impressions']) * 100, 2) . '%' : '-', // 格式化为百分比
|
||||||
'click_to_purchase' => '-',
|
'click_to_purchase' => ($statisticsData['purchases'] > 0) ? number_format(($statisticsData['outbound_clicks'] / $statisticsData['purchases']) * 100, 2) . '%' : '-',
|
||||||
'ctr_all' => ($statisticsData['impressions'] > 0) ? number_format(($statisticsData['clicks'] / $statisticsData['impressions']) * 100, 2) . '%' : '-', // 格式化为百分比
|
'ctr_all' => ($statisticsData['impressions'] > 0) ? number_format(($statisticsData['clicks'] / $statisticsData['impressions']) * 100, 2) . '%' : '-', // 格式化为百分比
|
||||||
'video_plays_25_rate' => array_sum(array_column($creativeSummaryData, 'video_plays_25_rate')),
|
'video_plays_25_rate' => array_sum(array_column($creativeSummaryData, 'video_plays_25_rate')),
|
||||||
'video_plays_50_rate' => array_sum(array_column($creativeSummaryData, 'video_plays_50_rate')),
|
'video_plays_50_rate' => array_sum(array_column($creativeSummaryData, 'video_plays_50_rate')),
|
||||||
@ -1995,19 +2001,19 @@ class AdsInsightService
|
|||||||
'thumbnail_url' => $item['thumbnail_url'],
|
'thumbnail_url' => $item['thumbnail_url'],
|
||||||
'spend' => '$' . number_format($item['spend'], 2),
|
'spend' => '$' . number_format($item['spend'], 2),
|
||||||
'purchases_value' => '$' . number_format($item['purchases_value'], 2),
|
'purchases_value' => '$' . number_format($item['purchases_value'], 2),
|
||||||
'roas' => $item['roas'],
|
'roas' => $item['spend'] == 0 ? '-' : round($item['revenue'] / $item['spend'], 2) . 'X',
|
||||||
'cpa' => '-',
|
'cpa' => $item['purchases'] == 0 ? '-' : '$' . number_format($item['spend'] / $item['purchases'], 2),
|
||||||
'cpc_link_click' => '-',
|
'cpc_link_click' => $item['link_clicks'] == 0 ? '-' : '$' . number_format($item['spend'] / $item['link_clicks'], 2),
|
||||||
'cpm' => '-',
|
'cpm' => $item['impressions'] == 0 ? '-' : '$' . number_format($item['spend'] * 1000 / $item['impressions'], 2),
|
||||||
'cpc_all' => '-',
|
'cpc_all' => $item['clicks'] == 0 ? '-' : '$' . number_format($item['spend'] / $item['clicks'], 2),
|
||||||
'aov' => '-',
|
'aov' => $item['purchases'] == 0 ? '-' : '$' . number_format($item['purchases_value'] / $item['purchases'], 2),
|
||||||
'click_to_atc_ratio' => '-',
|
'click_to_atc_ratio' => ($item['clicks'] > 0) ? number_format(($item['adds_to_cart'] / $item['clicks']) * 100, 2) . '%' : '-',
|
||||||
'atc_to_purchase_ratio' => '-',
|
'atc_to_purchase_ratio' => ($item['adds_to_cart'] > 0) ? number_format(($item['purchases'] / $item['adds_to_cart']) * 100, 2) . '%' : '-',
|
||||||
'purchases' => $item['purchases'],
|
'purchases' => $item['purchases'],
|
||||||
'first_frame_retention' => '-',
|
'first_frame_retention' => '-',
|
||||||
'thumbstop' => '-',
|
'thumbstop' => '-',
|
||||||
'ctr_outbound' => '-',
|
'ctr_outbound' => ($item['impressions'] > 0) ? number_format(($item['outbound_clicks'] / $item['impressions']) * 100, 2) . '%' : '-', // 格式化为百分比
|
||||||
'click_to_purchase' => '-',
|
'click_to_purchase' => ($item['purchases'] > 0) ? number_format(($item['outbound_clicks'] / $item['purchases']) * 100, 2) . '%' : '-',
|
||||||
'ctr_all' => ($item['impressions'] > 0) ? number_format(($item['clicks'] / $item['impressions']) * 100, 2) . '%' : '-',
|
'ctr_all' => ($item['impressions'] > 0) ? number_format(($item['clicks'] / $item['impressions']) * 100, 2) . '%' : '-',
|
||||||
'total_conversions_value' => '$' . number_format($item['purchases_value'], 2), //准备删除
|
'total_conversions_value' => '$' . number_format($item['purchases_value'], 2), //准备删除
|
||||||
'impressions' => $item['impressions'],
|
'impressions' => $item['impressions'],
|
||||||
|
Loading…
Reference in New Issue
Block a user