Повторное использование данных Meta Ads
Коннектор Meta Ads использует механизм повторного использования (data reuse) для оптимизации запросов к API и снижения нагрузки. Кеширование позволяет избежать повторных запросов одинаковых данных в рамках одной сессии и между сессиями.
Как работает кеширование
Ключ кеша
Каждый запрос к Meta Ads API идентифицируется уникальным ключом, который формируется из:
- ID рекламного аккаунта (
account_id) - Уровень детализации (
level: account, campaign, adset, ad) - Период (
date_presetилиtime_range) - Набор полей (
fields) - Параметры фильтрации (
filtering) - Разбивки (
breakdowns)
Совпадение всех параметров означает идентичный запрос — данные возвращаются из кеша без обращения к API.
Время жизни кеша (TTL)
| Тип данных | TTL | Причина |
|---|---|---|
| Данные за сегодня | 5 минут | Данные активно обновляются |
| Данные за вчера | 30 минут | Незначительные изменения из-за атрибуции |
| Данные старше 2 дней | 1 час | Данные стабильны |
| Структурные данные (кампании, группы) | 15 минут | Редко меняются |
| Асинхронные отчёты | До истечения отчёта (24 часа) | Результаты не меняются |
Инвалидация кеша
Кеш автоматически инвалидируется в следующих случаях:
- Ручное обновление: пользователь нажал "Обновить данные"
- Изменение периода: запрос с новым
date_presetилиtime_range - Изменение конфигурации: смена фильтров, разбивок или полей
- Превышение TTL: данные считаются устаревшими по времени
Стратегия кеширования
Прогрессивное кеширование
LightLead использует стратегию прогрессивного кеширования:
- Первый запрос: данные загружаются из API и сохраняются в кеш
- Повторный запрос: данные возвращаются из кеша, если TTL не истёк
- Фоновое обновление: при приближении к концу TTL запускается фоновое обновление
Иерархическое кеширование
Данные кешируются на разных уровнях:
- Уровень запроса: результат конкретного API-запроса
- Уровень сущности: данные отдельных кампаний, групп, объявлений
- Уровень метаданных: списки аккаунтов, страниц, Instagram-аккаунтов
При изменении метаданных (например, переименование кампании) инвалидируется только соответствующий уровень кеша.
Преимущества повторного использования
- Снижение нагрузки на API: меньше запросов → меньше шанс троттлинга
- Быстрее отклик: данные из кеша возвращаются мгновенно
- Экономия квот: не расходуется лимит запросов Meta API
- Стабильность: при временной недоступности API можно использовать кешированные данные
Ограничения кеширования
- Не для real-time: кеширование не подходит для real-time дашбордов
- Память: кеш потребляет оперативную память
- Консистентность: при изменении данных в Ads Manager кеш может отдавать устаревшие данные до истечения TTL
Принудительное обновление
Для получения самых актуальных данных используйте кнопку Обновить в интерфейсе LightLead. Это принудительно инвалидирует кеш и выполняет новый запрос к API.