Обзор
Optimizely Web Experimentation подсчитывает MAU на основе рендеринга фрагмента сценария для оценки веб-экспериментов. Поэтому, когда вы глобально устанавливаете фрагмент на веб-сайт, вы можете подсчитывать MAU для страниц, которые не нужно учитывать. Также могут быть некоторые типы страниц, которым не нужен веб-эксперимент, поскольку на них никогда не будет экспериментов. Видеть https://support.optimizely.com/hc/en-us/articles/4410284235789-Monitor-monthly-active-users-MAUs для получения информации об этом потреблении.
В статье предлагается не отображать скрипт или отказаться от него, используя следующий скрипт.
Однако откуда нам знать!
Решение
REST API для веб-экспериментов может возвращать активные эксперименты для конкретного проекта, используя токен носителя пользователя. https://docs.developers.optimizely.com/web-experimentation/reference/list_experiments
Поэтому мы можем подключить логику, чтобы узнать, есть ли в домене/подстранице активный эксперимент.
В качестве доказательства концепции (я еще не использовал ее в реальном проекте) я создал https://github.com/scottreed/Optimizely-Web-Experimentation-Evaluator/
Этот проект представляет собой POC для оценки Optimizely Web Experimentation через REST API с использованием токена носителя для пользователя, проводящего веб-эксперименты.
Веб-эксперименты Подсчитывает ежемесячных активных пользователей на основе сценария, который только что отображается на странице, чтобы оценить, нужно ли проводить эксперимент. Это означает, что всякий раз, когда вы отображаете фрагмент веб-эксперимента, даже если нет необходимости его запускать, он будет оцениваться и для уникального пользователя будет считаться MAU.
Это может увеличить затраты, поскольку вы учитываете пользователей, которым не нужно запускать этот сервис. Это особенно важно при работе с несколькими сайтами, где вы не можете проводить эксперименты на определенных разделах страниц или дочерних сайтах.
Обзор проекта
Это стандартный проект со следующими
- .NET 8.0
- ASP.NET Core 8.0
- Оптимизировать SDK
- Минимальный API
- В кэше памяти
Функции
Проект имеет следующие особенности
- Возвращает список экспериментов из REST API веб-экспериментов на основе прошлых флагов состояния.
- Фильтрация списка экспериментов на основе нескольких критериев пути (например, подпути или маршрут веб-сайта).
- Логическое значение в
ExperimentFilterServiceсервис, позволяющий возвращать эксперименты, если у них нет критериев соответствия URL-адресов. - Кэширование экспериментов в памяти, поэтому их не нужно постоянно переоценивать с интервалом в 15 минут.
- Минимальный API, соответствующий формату веб-перехватчика JSON Post. Этот вебхук можно настроить в настройках проекта и он уведомляет вас, когда в проекте происходят изменения. Этот минимальный API очистит кеш на основе идентификатора проекта.
Заключение
Используя это, мы можем активно узнать из внутреннего кода, нужно ли нам отображать (или выбирать) сценарий веб-экспериментации. Таким образом, мы можем остановить подсчет MAU и снизить затраты ТОЛЬКО до необходимого уровня!
Обратите внимание, что это всего лишь оценщик, поэтому, если вам нужно переопределить его и продолжать рендерить (для отслеживания/критериев аудитории или других функций), вы можете адаптировать его.
Поскольку это всего лишь POC и идея, дайте мне знать, если у вас есть предложения.
13 февраля 2026 г.
По теме

