Jump to content
uamassimo

Код конверсии на странице "Спасибо за покупку"

Recommended Posts

Всем привет, задача установить код в тегах <head></head> на странице после успешной покупки

 

Насколько я понимаю нужно мне сделать что-то типа
 

{% if checkout/success %}

<!-- Event snippet for Website sale conversion page --> 
<script> 
  gtag('event', 'conversion', { 
    'send_to': 'AW-2342342343656/P-i9CIjsdfsdfsdr78KMC', 
    'transaction_id': '{{ text_order_id }}' 
  }); 
</script>

{% endif %}

Этот код не работает, выдает ошибку, помогите пожалуйста пожалуйста решить
И еще один вопрос как динамически вставить номер заказа

Edited by uamassimo

Share this post


Link to post
Share on other sites

Вопрос по отображению кода только на странице решен.
Если кому интересно, то решение вот
В файле /catalog/controller/common/header.php добавил переменную:

$data['route'] = $this->request->get['route'];

Затем между тегами <head> </head> использовал такой код:
 

{% if route == 'checkout/success' %}

Свой код

{% endif %}

Но вот дальше не получилось отобразить номер заказа, чтобы передать его в transaction_id

Share this post


Link to post
Share on other sites

Номер заказа из сессии нужно брать

Share this post


Link to post
Share on other sites
1 час назад, uamassimo сказал:

Вопрос по отображению кода только на странице решен.
Если кому интересно, то решение вот
В файле /catalog/controller/common/header.php добавил переменную:

$data['route'] = $this->request->get['route'];

Затем между тегами <head> </head> использовал такой код:
 

{% if route == 'checkout/success' %}

Свой код

{% endif %}

Но вот дальше не получилось отобразить номер заказа, чтобы передать его в transaction_id

 

 

у вас при каждом обновлении страницы успеха будет уходить конверсия

Share this post


Link to post
Share on other sites

Нужно передавать номер заказа в сессии. Потом на странице успешного заказа, если в сессии есть номер заказа - получать данные по заказу и отправлять их гугл скриптом. 

 

Share this post


Link to post
Share on other sites
13 часов назад, spectre сказал:

 

 

у вас при каждом обновлении страницы успеха будет уходить конверсия

 

Так а как правильно делать?

Edited by uamassimo

Share this post


Link to post
Share on other sites
14 часов назад, LiLu сказал:

Номер заказа из сессии нужно брать

 

13 часов назад, niger сказал:

Нужно передавать номер заказа в сессии. Потом на странице успешного заказа, если в сессии есть номер заказа - получать данные по заказу и отправлять их гугл скриптом. 

 


Как из сессии его вытащить?
Пробовал как тут, ничего не получилось

 

Share this post


Link to post
Share on other sites

Присоединяясь к вопросу - Как настроить отслеживание конверсии перехода на страницу "Спасибо за заказ"? Куда вставлять предлагаемый гуглом тег?

Share this post


Link to post
Share on other sites
12 минут назад, Paint сказал:

Присоединяясь к вопросу - Как настроить отслеживание конверсии перехода на страницу "Спасибо за заказ"? Куда вставлять предлагаемый гуглом тег?

 

  • +1 1

Share this post


Link to post
Share on other sites
В 30.07.2020 в 17:34, uamassimo сказал:

Всем привет, задача установить код в тегах <head></head> на странице после успешной покупки

 

Насколько я понимаю нужно мне сделать что-то типа
 

{% if checkout/success %}

<!-- Event snippet for Website sale conversion page --> 
<script> 
  gtag('event', 'conversion', { 
    'send_to': 'AW-2342342343656/P-i9CIjsdfsdfsdr78KMC', 
    'transaction_id': '{{ text_order_id }}' 
  }); 
</script>

{% endif %}

Этот код не работает, выдает ошибку, помогите пожалуйста пожалуйста решить
И еще один вопрос как динамически вставить номер заказа

а почему не так?

 

Share this post


Link to post
Share on other sites
В 31.07.2020 в 08:50, uamassimo сказал:

 


Как из сессии его вытащить?
Пробовал как тут, ничего не получилось

 

У меня раньше в гараже был опенкарт 1.5 сайт - и я там это делал. Как в вашей версии, и что у вас там я не знаю.  Ниже логика - без кода.

Вы сохраняете заказ - если сохранение успешное - перед функцией редиректа на страницу "спасибо" в сессию записываете номер заказа.

Потом в контроллере страницы "Спасибо" - проверяете есть ли в сессии номер заказа, если он есть записываете его в переменную, дальше запрос к модели "получить все данные по заказу" закидываете их в переменную для вывода и очищаете из сессии номер заказа(чтобы каждый раз клиент не видел спасибо ваш заказ такой-то оформлен) - и отправляете это во вьюху страницы "Спасибо" и там уже переменную разбираете и засовываете в скрипт от гугла все необходимые ему данные в нужном для него формате. 

 

Edited by niger

Share this post


Link to post
Share on other sites
1 минуту назад, niger сказал:

 

 

ой не то нажал

Edited by niger

Share this post


Link to post
Share on other sites
<?php if (isset($order_id) && $order_id) { ?>
    <!-- Google Analytics - Ecommerce Tracking (Universal Analytics) -->
    <script type="text/javascript">

        gtag('event', 'purchase', {
            "transaction_id": "<?php echo $order_id; ?>",
            "affiliation": "<?php echo $order_info['store_name']; ?>",
            "value": <?php echo $order_info['total']; ?>,
            "currency": "<?php echo $order_info['currency_code']; ?>",
            "tax": "<?php echo $tax; ?>",
            "shipping": "<?php echo $shipping; ?>",
            "items": [
                <?php foreach ($order_products as $row) { ?>
                {
                    "id": "<?php echo $row['model']; ?>",
                    "name": "<?php echo $row['name']; ?>",
                    "quantity": <?php echo $row['quantity']; ?>,
                    "price": '<?php echo $row['price']; ?>'
                },
                <?php } ?>
            ]
        });

    </script>


    <!-- End Google Analytics - Ecommerce Tracking (Universal Analytics) -->
    <!-- Event snippet for Покупка товара conversion page -->
    <script>
        gtag('event', 'conversion', {
            'send_to': 'Ваше из гугладвордса',
            'value': <?php echo $order_info['total']; ?>,
            'currency': '<?php echo $order_info['currency_code']; ?>',
            'transaction_id': '<?php echo $order_id; ?>'
        });
    </script>

Верхнее для view файла success.tpl

 

ниже для контроллера success.php 

		if (isset($this->session->data['order_id'])) {

            $this->load->model('account/order');

            $this->data['order_id']       = $this->session->data['order_id'];
            $this->data['order_info']     = $this->model_account_order->getOrder($this->session->data['order_id']);
            $this->data['order_totals']   = $this->model_account_order->getOrderTotals($this->session->data['order_id']);
            $this->data['order_products'] = $this->model_account_order->getOrderProducts($this->session->data['order_id']);

            $shipping = 0;

            foreach ($this->data['order_totals'] as $row)
            {
                if ($row['code'] == 'shipping')
                {
                    $shipping = $row['value'];
                }
            }

            $this->data['shipping'] = $shipping;

            $tax = 0;

            foreach ($this->data['order_products'] as $row)
            {
                $tax = $tax + $row['tax'];
            }

            $this->data['tax'] = $tax;

			$this->cart->clear();
			unset($this->session->data['shipping_method']);
			unset($this->session->data['shipping_methods']);
			unset($this->session->data['payment_method']);
			unset($this->session->data['payment_methods']);
			unset($this->session->data['guest']);
			unset($this->session->data['comment']);
			unset($this->session->data['order_id']);	
			unset($this->session->data['coupon']);
			unset($this->session->data['reward']);
			unset($this->session->data['voucher']);
			unset($this->session->data['vouchers']);
		}	

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.