Кто нибудь настраивал Яндекс Метрику для электронной коммерции?
Подскажите как делать, что править?
Может плагин какой есть?
https://yandex.ru/su..._ecommerce-data
Сообщение отредактировал Никола: 20 December 2018 - 14:35
Отправлено 20 December 2018 - 14:32
Кто нибудь настраивал Яндекс Метрику для электронной коммерции?
Подскажите как делать, что править?
Может плагин какой есть?
https://yandex.ru/su..._ecommerce-data
Сообщение отредактировал Никола: 20 December 2018 - 14:35
Отправлено 12 November 2019 - 07:46
Тоже интересует эта тема.
Отправлено 12 November 2019 - 17:45
Да настраивали, mmth (немо) - но не прям все можно сделать - но делали часть)
JBZoo чат / Разработка Joomla расширений и т.д.! / Рекомендую хостинг Joomla
Joomla расширение для Яндекс Турбо и Яндекс Дзен - помощь в настройке
Отправлено 13 November 2019 - 05:03
Вот что у меня получилось в итоге:
\media\zoo\applications\jbuniversal\templates\catalog\basket-success.php:
// Для электронной коммерции Яндекс.Метрика /** @var JBCartOrder $order */ //$order = $view->order; $order = $this->order; $setCurrency = 'RUB'; $total = $order->getTotalSum()->convert($setCurrency); $rates = $total->getCurList(); $rate = $order->val('1', 'usd'); // 1 у.е относительно доллара (должен быть настроен в валютах!) $yaParams = array( 'id' => $order->id, // ID заказа 'revenue' => $total->val(), // Сумма заказа 'currency' => strtoupper($total->cur()), 'exchange_rate' => $rate->val($setCurrency), 'products' => array(), ); $cartItems = $order->getItems(false); foreach ($cartItems as $cartItem) { $itemPrice = $order->val($cartItem->get('total'))->convert($setCurrency); $_item = $this->app->table->item->get($cartItem->get('item_id')); $parentCat = $_item->getPrimaryCategory()->name; $yaParams['products'][] = array( 'id' => $cartItem->get('item_id'), // или артикул $cartItem->find('elements._sku') 'brand' => $cartItem->find('elements._sku'), 'name' => $cartItem->get('item_name'), 'price' => $itemPrice->val(), 'quantity' => $cartItem->get('quantity', 1), 'category' => $parentCat, ); } // echo json_encode($yaParams,JSON_UNESCAPED_UNICODE); // Для электронной коммерции Яндекс.Метрика ?> <!-- Yandex.Metrika ecommerce --> <script type="text/javascript"> // JSON.stringify(dataLayer,null,'\t'); в консоли браузера var yaParams = <?php echo json_encode($yaParams,JSON_UNESCAPED_UNICODE | JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT); ?>; window.dataLayer = window.dataLayer || []; dataLayer.push({ "ecommerce": { "purchase": { "actionField": { "id" : String(yaParams["id"]), "revenue" : yaParams["revenue"], "goal_id" : "ID своей цели из Метрики" }, "products": yaParams["products"] } } }); </script> <!-- Yandex.Metrika ecommerce -->
\media\zoo\applications\jbuniversal\templates\Ваш-шаблон\renderer\item\full.php
<?php $w_id = $item->id; $name = $item->name; //$price = $this->renderPosition('price'); $cat = $item->getPrimaryCategory()->name; ?> <!-- Yandex.Metrika ecommerce --> <script type="text/javascript"> // JSON.stringify(dataLayer,null,'\t'); в консоли браузера window.dataLayer = window.dataLayer || []; dataLayer.push({ "ecommerce": { "detail": { "products": [ { "id": "<?=$w_id;?>", "name" : "<?=$name;?>", "price": "", "brand": "", "category": "<?=$cat;?>" } ] } } }); </script> <!-- Yandex.Metrika ecommerce -->
Сообщение отредактировал demfi: 13 November 2019 - 05:05