У цій статті розповімо як відстежувати конверсії магазину на OpenCart та передавати цінність конверсій в Google Analytics (GA4) та Google Ads.
Детальна інформація про конверсії дозволяє відслідкувати ефективність рекламної кампанії чи стратегії пошукової оптимізації інтернет-магазину. Статистика про динаміку цінності конверсій протягом певного часу дає змогу оцінити загальний дохід і рентабельність витрат на рекламу чи оптимізацію.
Відслідковувати загальну статистику веб-сайту можна можна за допомогою вставки коду відстеження "gtag". Його можна додати в OpenCart у стандартний модуль, який можна знайти у розділі Розширення > Розширення > вибрати тип розширень "Аналітика" > Google Analytics.
Для відстеження подій, таких як конверсії, потрібно додатково інтегрувати код події у кнопки або сторінки. Для цього можна використовувати готові модулі або додавати код самостійно. Наприклад, у нас є модуль інтеграції подій на сторінці товару. Ми ж розглянемо додавання коду подій вручну.
Щоб відслідковувати конверсії в OpenCart і передавати їх цінність в Google Analytics та пов'язані з ним сервіси потрібно визначити, де саме відбувається та чи інша конверсія. Для прикладу, будемо відстежувати успішне оформлення замовлення та передавати дані про замовлення, такі як перелік товарів, їх вартість та кількість, у GA4. Сторінкою конверсії, у цьому випадку, буде сторінка успішного замовлення OpenCart, на яку автоматично переадресовується покупець після оплати замовлення. Слід зауважити, що для різних конфігурацій методів оплати та модулів оформлення замовлення, на вашому сайті сторінкою успішного замовлення може бути інша, нестандартна, сторінка. Ми приводимо приклад для стандартної сторінки успішного замовлення, яка зазвичай має URL index.php?route=checkout/success або його ЧПУ версію.
Як передавати цінність конверсій OpenCart
Отже, перейдемо до інструкції з інтеграції коду відстеження конверсії "замовлення" і покажемо, як передавати цінність конверсії. Ця інструкція для OpenCart 3 та OpenCart 4, проте вона також працюватиме у OpenCart 2, якщо конвертувати код twig у php.
1. В файлі catalog/controller/checkout/success.php
зразу після рядка:
if (isset($this->session->data['order_id'])) {
треба додати:
$this->load->model('checkout/order');
$data['order_info'] = $this->model_checkout_order->getOrder($this->session->data['order_id']);
$data['products'] = $this->model_checkout_order->getOrderProducts($this->session->data['order_id']);
2. В файлі catalog/view/theme/шаблон/template/common/success.twig
перед рядком:
{{ footer }}
треба додати:
{% if order_info %}
<script>
gtag("event", "purchase", {
transaction_id: "{{ order_info.order_id }}",
value: {{ order_info.total }},
currency: "{{ order_info.currency_code }}",
items: [
{% set k = 0 %}
{% set count_products = products|length %}
{% for product in products %}
{% set k = k + 1 %}
{
item_id: "{{ product.model }}",
item_name: "{{ product.name }}",
currency: "{{ order_info.currency_code }}",
price: {{ product.price }},
quantity: {{ product.quantity }}
{% if k==count_products %} } {% else %} }, {% endif %}
{% endfor %}
]
});
</script>
{% endif %}
В даному випадку ми передаємо конверсію "purchase", яка є однією із стандартних. При необхідності, ви можете змінити назву конверсії.
Якщо потрібно, щоб передавались лише замовлення з певним статусом замовлення, модифікуємо попередній код "одягнувши" його в перевірку статусу замовлення:
{% order_info and order_info.order_status_id == '5' %}
тут скрипт події
{% endif %}
3. Після цього треба оновити всі можливі кеші, які у вас є, це можна зробити в адмінці: кеш модифікаторів, кеш шаблонів twig (кеш теми), кеш спеціальних модулів кешування.
Як бачите, це зовсім не складно. Таким методом можна відслідковувати різні конверсії в OpenCart.