Кто нибудь настраивал Яндекс Метрику для электронной коммерции?
Подскажите как делать, что править?
Может плагин какой есть?
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