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