Назначение
Ads Control — приложение рекламной аналитики с интерфейсом React и локальным сервером Node.js. Оно предназначено для просмотра результатов рекламных кампаний и подготовки отчётов по проектам. Загрузка реальной рекламной статистики Google Ads API пока не реализована. В отдельном модуле для сервера владельца реализованы Google OAuth и callback, требующие установки и настройки реквизитов.
Текущее состояние
| Компонент | Состояние |
|---|---|
| Обзор, фильтры, графики, Excel | Работают на демоданных |
| Node.js JSON API | Реализован в локальном проекте |
| Ручной ввод лидов и планов | Работает; публичное демо сохраняет в браузер |
| Статусы аккаунтов | Ручное редактирование в прототипе |
| Google OAuth | Реализован в серверном модуле; требует установки и OAuth-реквизитов владельца |
| Google Ads reporting | Загрузка статистики ещё не реализована |
| Авторизация, разграничение доступа и БД | Требуются перед использованием реальных данных |
Планируемый сценарий Google Ads API
Сценарий: получение отчётности для аккаунтов с разрешённым доступом. Основные запросы — GoogleAdsService.Search или SearchStream: дневная статистика customer, campaign и ad_group_ad. Планируемые поля: стабильные ID, названия кампаний, date, impressions, clicks, cost_micros, conversions и валюта аккаунта.
CTR рассчитывается как clicks / impressions × 100. Стоимость приводится из cost_micros к валюте аккаунта. CPL рассчитывается как cost / conversions. Дробные конверсии сохраняются в точности источника; неоднозначные результаты не распределяются произвольно между отдельными креативами.
Запрашиваемый доступ
Для планируемой пользовательской OAuth-интеграции нужен scope https://www.googleapis.com/auth/adwords. Этот scope допускает управление рекламой; у Google нет отдельного OAuth scope только для чтения отчётов. Приложение планирует ограничить собственную реализацию запросами чтения. После настройки серверного модуля вход запрашивает openid/email/profile, а разрешение Google Ads предоставляется отдельным действием.
Планируемый поток данных
- Пользователь разрешает доступ через официальный OAuth-экран Google.
- Node.js проверяет аккаунты, доступные пользователю, и получает отчётные данные.
- Сервер хранит OAuth-реквизиты отдельно от браузерного приложения и ограничивает доступ к данным соответствующего пользователя.
- Синхронизация обновляет записи по customer ID, campaign/ad ID и дате без дублей.
- React получает агрегированные показатели через внутренний JSON API.
- Пользователь просматривает показатели или скачивает XLSX. Внешние лиды учитываются отдельно.
Перед production-запуском необходимы авторизация, шифрование OAuth-токенов, проверка принадлежности аккаунтов, журналирование, механизм отключения источника и удаления данных. Эти меры не представлены как уже реализованные.
Кто использует продукт
Целевые роли: специалист по рекламе и ответственный за отчётность проекта. Фактический круг пользователей — собственная команда или внешние клиенты — должен быть подтверждён владельцем перед заявкой.
Демонстрация
Открыть рабочее демо →. Демо работает полностью в браузере на вымышленных данных. Оно не выполняет Google Ads API-запросы и не предоставляет доступ к рекламным аккаунтам.
English review summary
Ads Control is a React dashboard with a Node.js JSON API prototype for advertising reporting. Existing features include project and date filters, conversion and spend charts, manually entered external leads, account status annotations, creative reporting and XLSX export. The public demo uses synthetic data and browser-local storage only. A separate Node.js OAuth module provides Google sign-in and incremental Google Ads consent after installation and configuration on the owner’s server. Google Ads reporting ingestion has not been implemented.
Planned API use: read reporting metrics for authorized advertising accounts through GoogleAdsService.Search / SearchStream. The planned OAuth scope is https://www.googleapis.com/auth/adwords. The intended implementation uses read calls only; the scope itself is not read-only. No automatic ad creation, campaign mutation, keyword planning or billing operations are planned for this reporting workflow.
Адреса авторизации
Страница входа: https://g-dash.online/login/.
Authorized redirect URI: https://g-dash.online/oauth/google/callback.
Страница подключения после входа: https://g-dash.online/account/.
Redirect URI обрабатывает код на сервере; это не адрес дашборда.