[utmMark] - сохранения UTM меток для форм

Всем привет, выложил дополнение, которое позволяет сохранять UTM метки из URL адреса в скрытые поля в форму, для последующего использования.



Он обрабатывает следующие UTM метки:
  • utm_source
  • utm_medium
  • utm_term
  • utm_content
  • utm_campaign
  • original_ref
  • Начальная страница
  • IP
  • URL
  • roistat
  • roistat_referrer
  • roistat_pos
  • yclid
Метки сохраняются на 24 часа

Использование
Запустить сниппет utmMark в форме

Обязательно нужен pdoTools!

В настройках Вы можете перечислить через запятую необходимые метки.
Ключ — utmmark_marks
Исходники
Modstore

UPD #1
Добавлена поддержка minishop2.
UTM метки сохраняются в поле properties (массив).
Для активации отображений на странице заказа, необходимо в системных настройках, в ms2_order_address_fields добавить properties

Игорь Игамов
03 июля 2020, 11:15
modx.pro
2 414
+11

Комментарии: 12

Виталик
15 июля 2020, 13:35
+1
must have всем продажникам. почему только 4 закачки))
@Игорь Игамов планируется отправка данных вместе с заказом в minishop? может цеплять в комментарий?
Александр
09 октября 2020, 11:57
0
Супер компонент! Очень бы хотелось выводить метки в поля таблицы заказов для экспорта через msStatOrders
Готовы проспонсировать такую доработку!
    Игорь Игамов
    13 октября 2020, 14:26
    0
    Пообщались и сделали следующее, может кому пригодится.
    Добавьте в настройку msstatorders_grid_order_fields поле address_properties
    Если вы хотите сделать вывод столбцов меток, нужно написать плагин на событие msStatOrdersOnPrepareObjectRow
    пример для utm_source
    <?php
    if (!is_object($self) OR $self->classKey !== 'msOrder' OR $type !== 'getlist') {
        return;
    }
    $data = is_array($data) ? $data : array();
    $properties = is_array($data['address_properties']) ? $data['address_properties'] : json_decode($data['address_properties'], 1);
    $data['utm_source'] = isset($properties['utm_source']) ? $properties['utm_source'] : '';
    $modx->event->returnedValues['data'] = $data;
    и уже потом в msstatorders_grid_order_fields добавить utm_source
      Сергей Карпович
      16 января 2022, 21:52
      0
      Всем привет, не могу подружить с MiniShop.
      Добавил properties в ms2_order_address_fields.
      Добавил в msOrder {$_modx->runSnippet('!utmMark')}.
      На странице оформления заказа в форме вижу метки, но в админке в заказе поля properties не появляются.

      Подскажите, куда смотреть?
      newbmod
      10 ноября 2022, 10:49
      0
      Здравствуйте!
      Подскажите, пожалуйста, по меткам roistat, roistat_referrer, roistat_pos
      Установлен счетчик ройстата и в форме проходит вызов сниппета utmMark. Однако ройстатовские метки не заполняются.
      Сергей С
      27 июня 2023, 23:27
      0
      Добрый день! Подскажите как ополучить данные меток заказа, к примеру для отправки в письме менеджерам или для отправки по API.
      Логика подсказывает, что где-то тут
      $properties = $msAddress->get('properties');
      $utm_campaign = $properties->get('utm_campaign');
      Но не работает
        Сергей С
        28 июня 2023, 10:01
        0
        $msAddress = $msOrder->getOne('Address');
        $properties = $msAddress->get('properties');
        $utm_campaign = $properties->get('utm_campaign');
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        12