Visão Geral
Crescimento consolidado de
require_once 'includes/AnalyticsService.php'; require_once 'includes/SearchConsoleService.php'; $analytics = new AnalyticsService(GOOGLE_KEY_FILE); $searchConsole = new SearchConsoleService(GOOGLE_KEY_FILE); $period = $_GET['period'] ?? '28days'; $days = ($period === '7days') ? 7 : 28; $startDate = date('Y-m-d', strtotime("-$days days")); $endDate = date('Y-m-d', strtotime("-1 day")); $prevStartDate = date('Y-m-d', strtotime("-" . ($days * 2) . " days")); $prevEndDate = date('Y-m-d', strtotime("-" . ($days + 1) . " days")); $totals = [ 'users' => 0, 'sessions' => 0, 'engagement' => 0, 'clicks' => 0, 'impressions' => 0, 'position' => 0, 'prev_users' => 0, 'prev_clicks' => 0 ]; $validSites = 0; foreach ($sites as $site) { try { if (!empty($site['ga4_id']) && $site['ga4_id'] !== 'YOUR_GA4_ID') { $data = $analytics->getOverviewMetrics($site['ga4_id'], $startDate, $endDate); $prevData = $analytics->getOverviewMetrics($site['ga4_id'], $prevStartDate, $prevEndDate); $row = $data['rows'][0]['metricValues'] ?? []; if ($row) { $totals['users'] += (int)($row[0]['value'] ?? 0); $totals['sessions'] += (int)($row[1]['value'] ?? 0); $totals['engagement'] += (float)($row[2]['value'] ?? 0); $totals['prev_users'] += (int)($prevData['rows'][0]['metricValues'][0]['value'] ?? 0); $validSites++; } } if (!empty($site['gsc_url'])) { $gsc = $searchConsole->getOverview($site['gsc_url'], $startDate, $endDate); $prevGsc = $searchConsole->getOverview($site['gsc_url'], $prevStartDate, $prevEndDate); $row = $gsc['rows'][0] ?? []; if ($row) { $totals['clicks'] += (int)($row['clicks'] ?? 0); $totals['impressions'] += (int)($row['impressions'] ?? 0); $totals['position'] += (float)($row['position'] ?? 0); $totals['prev_clicks'] += (int)($prevGsc['rows'][0]['clicks'] ?? 0); } } } catch (Exception $e) { $error = $e->getMessage(); } } $avgEngagement = $validSites > 0 ? ($totals['engagement'] / $validSites) * 100 : 0; $avgPosition = $validSites > 0 ? ($totals['position'] / $validSites) : 0; function calcChange($current, $previous) { if ($previous == 0) return 0; return (($current - $previous) / $previous) * 100; } $usersChange = calcChange($totals['users'], $totals['prev_users']); $clicksChange = calcChange($totals['clicks'], $totals['prev_clicks']); ?>
Crescimento consolidado de