Назначение

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 предоставляется отдельным действием.

Планируемый поток данных

  1. Пользователь разрешает доступ через официальный OAuth-экран Google.
  2. Node.js проверяет аккаунты, доступные пользователю, и получает отчётные данные.
  3. Сервер хранит OAuth-реквизиты отдельно от браузерного приложения и ограничивает доступ к данным соответствующего пользователя.
  4. Синхронизация обновляет записи по customer ID, campaign/ad ID и дате без дублей.
  5. React получает агрегированные показатели через внутренний JSON API.
  6. Пользователь просматривает показатели или скачивает 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 обрабатывает код на сервере; это не адрес дашборда.

Официальные материалы