Как лучше всего хранить UTM-метки разных сущностей в базе данных?

У меня есть:

1. Заказы
2. Заявки
3. Сообщения со страницы контакты

Для этих сущностей я хочу хранить в БД UTM-метки, но не просто сохранить, а чтобы в дальнейшем можно было делать небольшие срезы (например, самый прибыльный источник, объявление и т. д).

Возник вопрос, как лучше организовать их хранение?

Если бы мне нужно было просто их сохранить, то использовал бы например JSON и записывал в поле utm_data, но не уверен, что это хороший вариант, если требуются дальнейшие манипуляции с ними.

Сейчас думаю о таких вариантах:

Вариант 1. Создать три разных таблицы для каждой сущности, например, order_utm_params, request_utm_params, contactus_utm_params и использовать связь hasMany()

Вариант 2. Создать одну таблицу для всех сущностей, например, utm_paramable и использовать связь morphMany()

В первом варианте вроде все ОК, но таблиц слишком много, во втором таблиц не много, но получится большая каша, так как UTM-меток может быть много, как бы вы сделали? И почему?

Может был подобный опыт?

Отдельные системы аналитики не предлагайте, так как городить из сайта Яндекс.Метрику не хочу.
  • Вопрос задан
  • 322 просмотра
Решения вопроса 1
Fragster
@Fragster
помогло? отметь решением!
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы