Как добавить метку Utm_term в ссылку YML файла плагина Я.Маркет?

Добрый вечер!

Мне необходимо, чтобы в YML файле, экспортируемом плагином Яндекс.Маркет, добавлялась метка utm_term со значением ID товара.

Подскажите, можно ли это в коде как-то поковырять самостоятельно?

Это мне нужно для сервиса PricsLabs, который по этому ID подскажет какие конкретно товары были заказаны.


P.S.: понятно, что о способе добавлять метки в YML файл ручками речи быть не может.


19 ответов

  • 1

    /yml_catalog/offers/offer@id имеет формат %product_id%[s%sku_id%] — это разве не то, что нужно?

    • +1
      Микаэль Геворкян Микаэль Геворкян 25 декабря 2014 12:34 #
      к сожалению, PriceLabs на это не реагирует, он фиксирует id именно по метке. Ниже привел отрывок из кода. Жирным выделена метка, которой не хватает:
      <offers>
      <offer available="true" id="231">
      <url>
      ссылка/?utm_source=market.yandex.ru&utm_medium=cpc&utm_campaign=3Dlion&utm_term=231

      </url>

      • +2

        в методе shopYandexmarketPluginRunController::getValue для frontend_url добавить код, добавляющий нужную строчку к URL.

        Если это стандартное требование PriceLabs, то есть шанс на появление данной модификации в основном коде, в противном случае придется при каждом обновлении восстанавливать свою модификацию.

    • +1
      Микаэль Геворкян Микаэль Геворкян 25 декабря 2014 12:34 #
      к сожалению, PriceLabs на это не реагирует, он фиксирует id именно по метке. Ниже привел отрывок из кода. Жирным выделена метка, которой не хватает:
      <offers>
      <offer available="true" id="231">
      <url>
      ссылка/?utm_source=market.yandex.ru&utm_medium=cpc&utm_campaign=3Dlion&utm_term=231

      </url>

  • 1
    Микаэль Геворкян 26 декабря 2014 07:49 #

    Честно говоря, моих знаний недостаточно, чтобы понять какой именно код туда добавить.

    если добавить строчку 'utm_term' => waRequest::post('utm_campaign'), после 87 строки

    и на 155 – foreach (array('utm_source', 'utm_medium', 'utm_campaign', 'utm_term',) as $field) {

    то в ссылке появится utm_term=(со значением utm_campaign). Но что прописать вместе подчеркнутого выше, я не могу понять.

    Ясно, что решение в 1-2 строчках, но каких..

    • +2
      Леонид Вакуленко Леонид Вакуленко 26 декабря 2014 08:31 #

      Добавьте строчку

      $value .= '&utm_term='.$data['id'];

      В районе строки 1141, чтобы получилось:

      if ($this->data['utm']) {
          $value .= (strpos($value, '?') ? '&' : '?').$this->data['utm'];
          $value .= '&utm_term='.$data['id'];
      }
      

      И уберите utm_term из массива на 87 строке и цикла на 155 строке, про которые вы писали выше. Должно заработать, но вживую я не запускал.

  • 1
    Микаэль Геворкян 26 декабря 2014 09:33 #

    все заработало! Спасибо большое!

  • 1
    ДенисычЪ 4 марта 2015 11:42 #

    В каком файле это надо прописать? Тоже актуально.

  • 1
    Микаэль Геворкян 5 марта 2015 07:14 #

    wa-apps/shop/plugins/yandexmarket/lib/actions/backend/shopYandexmarketPluginRun.controller.php


  • 1
    santa0 6 мая 2017 20:47 #

    А как правильно прописать %name% ?

    utm_term=%name% выгружает кириллицу вот так:

    <offer available="true" id="19541">
    <url>
    https://xxx.ru/togorovoe-oborudovanie/igolchatye-pistolety/derzhatel-plastikovyy-f50-5000-fine/
    ?utm_source=YMarket&utm_medium=cpc&utm_campaign=YMarket&
    utm_term=%D0%94%D0%B5%D1%80%D0%B6%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%20%D0%BF%D0%BB%D0%B0%D1%81%D1%82%D0%B8%D0%BA%D0%BE%D0%B2%D1%8B%D0%B9%20F50%20%285000%29%20Fine
    </url>
    <price>960.00</price>
    <currencyId>RUB</currencyId>
    <categoryId type="Own">337</categoryId>
    <picture>
    https://xxx.ru/wa-data/public/shop/products/41/95/19541/images/3153/3153.970.jpg
    </picture>
    <name>Держатель пластиковый F50 (5000) Fine</name>

    При этом само название товара выгружается в читабельном виде, а UTM метка выгружается кракозябрами с %%. Ни сам маркет, ни другие маркетплейсы такое не принимают и ругаются.

    Как привести метку в читабельный вид?

    • +1

      так он кириллицу трансформирует. Уверен, что название на английском будут отображаться нормально. Но если честно я не понял, зачем вам в utm_term название товара? Прайс лаб воспринимает айди, а в самом прайслабе уже можно и статистику по товарам смотреть

  • 1
    santa0 10 мая 2017 11:06 #

    Это мне для метрики нужно.

    Директ и Маркет умеют распознавать товары по ID, а прочие маркетплейсы (Avito, Price.ru и тд) выдают, в лучшем случае, свой внутренний номер объявления. А динамические объявления так не отследить, нужно видеть именно название товара в метке.

    URL в качестве метки нельзя поставить? Типа, %url%?

    • +1

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

      • +1
        santa0 santa0 10 мая 2017 11:12 #

        Это очевидно, но зачем мне в метрике 1000+ строк в отчете с артикулами? Вручную же их сверять я не буду, естественно. Мне нужно чтобы сразу в метрике видеть, какие динамические объявления (они же — товарные позиции) приносят доход, а какие сливают деньги.

        • +1

          для директа например можно делать так http://xxx.ru/?utm_source=yandex&utm_medium=cpc&utm_campaign={campaign_id}&utm_content={ad_id}&utm_term={keyword}

          и он автоматически подставляет значения вплоть до ключевика. Попробуй узнать есть ли такие же значения в агрегаторах, но если они разные, то фиг знает как их раскидывать.

          ну поробу url вставить в метку

          • +1
            santa0 santa0 10 мая 2017 11:50 #

            Директ с Метрикой сейчас вообще слились в экстазе и там видно все безо всяких меток.

            А остальные ставят только свои внутренние номера объявлений. Поэтому я и хочу utm_term прописать свой , а остальное пусть они ставят что хотят )

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите