Производительность и аналитика

Проблема

Возможные пути решения

  • Подмешивать все данные для аналитики в запросы за товарами
  • При событии с товаром отправлять запрос за расширенной информацией
  • Отправлять минимальную информацию с браузера клиента и дополнять ее в стороннем сервисе

Чем плохи первые два варианта?

Данные варианты плохи тем, что через все каналы мы вынуждены прогонять дополнительную информацию, которая не нужная для отрисовки, но нужна для аналитики.
Если каналы A и B, мы можем увеличить, то каналы C и D являются узким горлышком.

К чему это приводит?

Увеличенная нагрузка на сервера.

Увеличивается время загрузки и отрисовки страницы.

Увеличивается время перехода между страницами.
Увеличивается потребление памяти у клиента.

Как сохранить производительность?

Необходимо загружать на фронт минимальное достаточное количество информации для отрисовки и взаимодействия с пользователем

Вариант 1

По каналам A, B, C мы передаем информацию для фронта.

По каналу D мы передаем минимальные данные для идентификации события(название), товара(id), и пользовательскую информацию.
Далее через сервис аналитики происходит получение id товара из GTM, получение подробной информации о товаре (channel E)

Вариант 2

По каналам A, B, C мы передаем информацию для фронта.

По каналу D мы передаем минимальные данные для идентификации события(название), товара(id), и пользовательскую информацию.
Далее сервис аналитики собирает подробную информацию о товаре (channel E) и отправляет в GTM

Что мы получим в итоге?

  • Минимальное влияние аналитики на производительность фронт приложения.
  • Уменьшение потребления ресурсов некоторых каналов

Analytic

By sticker0ne

Analytic

  • 51