Перейти к содержимому


Фотография
- - - - -

Настройка Яндекс Метрики Для

яндекс электронная коммерция

Сообщений в теме: 3

#1 Никола

Никола

Отправлено 20 December 2018 - 14:32

Кто нибудь настраивал Яндекс Метрику для электронной коммерции?

Подскажите как делать, что править?

Может плагин какой есть?

https://yandex.ru/su..._ecommerce-data


Сообщение отредактировал Никола: 20 December 2018 - 14:35

  • 0

#2 demfi

demfi

Отправлено 12 November 2019 - 07:46

Тоже интересует эта тема.


  • 0

#3 CB9TOIIIA

CB9TOIIIA

Отправлено 12 November 2019 - 17:45

Да настраивали, mmth (немо) - но не прям все можно сделать - но делали часть)


  • 0

#4 demfi

demfi

Отправлено 13 November 2019 - 05:03

Вот что у меня получилось в итоге:

\media\zoo\applications\jbuniversal\templates\catalog\basket-success.php:
 

  1. // Для электронной коммерции Яндекс.Метрика
  2.  
  3. /** @var JBCartOrder $order */
  4. //$order = $view->order;
  5. $order = $this->order;
  6. $setCurrency = 'RUB';
  7. $total = $order->getTotalSum()->convert($setCurrency);
  8. $rates = $total->getCurList();
  9. $rate = $order->val('1', 'usd'); // 1 у.е относительно доллара (должен быть настроен в валютах!)
  10. $yaParams = array(
  11. 'id' => $order->id, // ID заказа
  12. 'revenue' => $total->val(), // Сумма заказа
  13. 'currency' => strtoupper($total->cur()),
  14. 'exchange_rate' => $rate->val($setCurrency),
  15. 'products' => array(),
  16. );
  17. $cartItems = $order->getItems(false);
  18. foreach ($cartItems as $cartItem) {
  19. $itemPrice = $order->val($cartItem->get('total'))->convert($setCurrency);
  20. $_item = $this->app->table->item->get($cartItem->get('item_id'));
  21. $parentCat = $_item->getPrimaryCategory()->name;
  22. $yaParams['products'][] = array(
  23. 'id' => $cartItem->get('item_id'), // или артикул $cartItem->find('elements._sku')
  24. 'brand' => $cartItem->find('elements._sku'),
  25. 'name' => $cartItem->get('item_name'),
  26. 'price' => $itemPrice->val(),
  27. 'quantity' => $cartItem->get('quantity', 1),
  28. 'category' => $parentCat,
  29. );
  30. }
  31. // echo json_encode($yaParams,JSON_UNESCAPED_UNICODE);
  32. // Для электронной коммерции Яндекс.Метрика
  33. ?>
  34.  
  35. <!-- Yandex.Metrika ecommerce -->
  36. <script type="text/javascript">
  37. // JSON.stringify(dataLayer,null,'\t'); в консоли браузера
  38. var yaParams = <?php echo json_encode($yaParams,JSON_UNESCAPED_UNICODE | JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT); ?>;
  39. window.dataLayer = window.dataLayer || [];
  40. dataLayer.push({
  41. "ecommerce": {
  42. "purchase": {
  43. "actionField": {
  44. "id" : String(yaParams["id"]),
  45. "revenue" : yaParams["revenue"],
  46. "goal_id" : "ID своей цели из Метрики"
  47. },
  48. "products": yaParams["products"]
  49. }
  50. }
  51. });
  52. </script>
  53. <!-- Yandex.Metrika ecommerce -->

\media\zoo\applications\jbuniversal\templates\Ваш-шаблон\renderer\item\full.php

 

  1. <?php
  2. $w_id = $item->id;
  3. $name = $item->name;
  4. //$price = $this->renderPosition('price');
  5. $cat = $item->getPrimaryCategory()->name;
  6.  
  7. ?>
  8.  
  9. <!-- Yandex.Metrika ecommerce -->
  10. <script type="text/javascript">
  11. // JSON.stringify(dataLayer,null,'\t'); в консоли браузера
  12.  
  13. window.dataLayer = window.dataLayer || [];
  14.  
  15. dataLayer.push({
  16. "ecommerce": {
  17. "detail": {
  18. "products": [
  19. {
  20. "id": "<?=$w_id;?>",
  21. "name" : "<?=$name;?>",
  22. "price": "",
  23. "brand": "",
  24. "category": "<?=$cat;?>"
  25. }
  26. ]
  27. }
  28. }
  29. });
  30.  
  31.  
  32. </script>
  33. <!-- Yandex.Metrika ecommerce -->
 
Joomla: 3.9.13 JBZoo: 4.10.3 GNU GPL (Community Edition) by SmetDenis Zoo: 3.3.35

Сообщение отредактировал demfi: 13 November 2019 - 05:05

  • 4





Темы с аналогичным тегами яндекс, электронная коммерция

Click to return to top of page in style!