Как добавить цель на оформление заказа в Opencart 3?
В интернете есть инструкции по добавлению цели «Посещение страницы» с указанием вхождения «route=checkout/success». Но пользователь может перезагрузить страницу и цель защитается дважды.
Другой вариант
Добавить кода события на страницу об успешном оформлении заказа с проверкой на наличие id нового заказа для избежания дублирования достижения цели.
Инструкция
1. В файле /catalog/controller/checkout/success.php
перед строкой
unset($this->session->data['shipping_method']);
добавить код:
$data['order_id'] = $this->session->data['order_id'];
2. В файле /catalog/view/theme/моя_тема/template/common/success.twig
перед {{ footer }} или в другом подходящем месте, где нет условий и т. п.,
добавить:
{% if order_id %}
<script>
function MetrikaZakaz() {
ym(64834153,'reachGoal','zakaz'); return true;
}
MetrikaZakaz()
</script>
{% endif %}
И поменять номер счетчика и идентификатор цели на свои.
В написании инструкции помог этот материал.