Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Настройка динамического ремаркетинга Google на ocStore 2.1.0.2.1


Recommended Posts

Добрый вечер! Столкнулся с проблемой настройки динамического ремакертинга на ocStore 2.1.0.2.1, а именно правки кода движка сайта для отправки в гугл нужных данных. В интернете есть решение для 1.5 но два дня поиска, кроме платных модулей ничего не принесли. Предлагаю свое решение:

1) Берем файл footer.tpl из catalog/view/theme/ваша_тема/template/common/

2) Перед тегом </body> (в самом низу кода) вставляем код ремаркетинга гугл, где ХХХХХХ ваш ID, жирным выделил доработку от себя, в остальном код идентичен стандартному

<!--Dynamic Remarketing Tag --//-->
<script type="text/javascript">
var google_tag_params = {
dynx_itemid: '<?php echo $dynx_itemid; ?>',
dynx_pagetype: '<?php echo $dynx_pagetype; ?>',
dynx_totalvalue: '<?php echo $dynx_totalvalue; ?>',
};
</script>

<script type="text/javascript">
/* <![CDATA[ */
var google_conversion_id = XXXXXXXXXXX;
var google_custom_params = window.google_tag_params;
var google_remarketing_only = true;
/* ]]> */
</script>
<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
</script>
<noscript>
<div style="display:inline;">
<img height="1" width="1" style="border-style:none;" alt="" src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/XXXXXXXXX/?guid=ON&amp;script=0"/>
</div>
</noscript>

3) Берем файл footer.php из /catalog/controller/common/

4) После строки         $data['powered'] = sprintf($this->language->get('text_powered'), $this->config->get('config_name'), date('Y', time())); добавляем следующее:

if (! isset ($this->request->get['route'])) {
            $data['dynx_itemid']='';
            $data['dynx_pagetype'] = "home";
            $data['dynx_totalvalue']='';
            $data['product_id'] = '';
            $data['product_id_q'] = '';
            $data['price'] = '';
        } else {
            $data['dynx_totalvalue']='';
            $data['product_id'] = '';
            $data['product_id_q'] = '';
            $data['price'] = '';
            if ($this->request->get['route'] == 'product/category') {
                $data['dynx_pagetype'] = "other";
            } elseif ($this->request->get['route'] == 'product/product'){
                $data['dynx_pagetype'] = "offerdetail";
            } elseif ($this->request->get['route'] == 'checkout/cart'){
                $data['dynx_pagetype'] = "cart";
            } elseif ($this->request->get['route'] == 'search/?search'){
                $data['dynx_pagetype'] = "searchresults";
            } elseif ($this->request->get['route'] == 'checkout/success'){
                $data['dynx_pagetype'] = "purchase";
            } elseif ($this->request->get['route'] == 'checkout/success'){
                $data['dynx_pagetype'] = "conversion";
            } elseif ($this->request->get['route'] == 'checkout/fastorder/fastorder'){
                $data['dynx_pagetype'] = "conversionintent";
            } elseif ($this->request->get['route'] == ''){
                $data['dynx_pagetype'] = "home";
            } elseif ($this->request->get['route'] == ''){
                $data['dynx_pagetype'] = "other";
            } elseif ($this->request->get['route'] == 'common/home'){
                $data['dynx_pagetype'] = "home";
            } else {
                $data['dynx_pagetype'] = "other";
            }

            if (isset($this->request->get['product_id'])) {
                $Id=$this->request->get['product_id'];
                $product_info = $this->model_catalog_product->getProduct($Id );
                $data['product_id'] = $Id;
                If ($product_info['special'] > 0)
                    $data['price'] = $product_info['special'];
                else
                    $data['price'] = $product_info['price'];
            }

            if ($this->request->get['route'] == 'product/product') {
                $data['dynx_itemid'] = $this->request->get['product_id'];
            } else {
                $data['dynx_itemid'] = "";
            }

            if ($this->request->get['route'] == 'product/product') {
                $data['dynx_itemid'] = $data['product_id'];
                $data['dynx_totalvalue'] = $data['price'];
            } elseif ($this->request->get['route'] == 'checkout/cart'){
                $data['dynx_totalvalue'] = round($this->cart->getTotal(),2);
            } elseif ($this->request->get['route'] == 'checkout/fastorder/fastorder'){
                $data['dynx_totalvalue'] = round($this->cart->getTotal(),2);
            }
        }

5) Сохраняем файлы на сервере, обновляем модификаторы и смотрим код, на странице товара (Пример: https://basispro.com.ua/loft-5552.html )  в самом низу видим заветные строки:

var google_tag_params = {
dynx_itemid: '627',
dynx_pagetype: 'offerdetail',
dynx_totalvalue: '258.0000',
};

На данный момент не могу понять почему не работает на странице поиска и при оформлении заказа не цыпляет dynx_itemid:, если у кого есть идеи как решить просьба написать. Спасибо за внимание!

  • +1 1
Надіслати
Поділитися на інших сайтах


  • 7 months later...

@hichlander

Спасибо!

Повторил Ваш код, в корзине и в поиске не отображается, т.к. на них ссылки другие..

поиск: 

      elseif ($this->request->get['route'] == 'product/search'){
                $data['dynx_pagetype'] = "searchresults";}

корзина (у меня simple, соответственно ссылка на simple):

      elseif ($this->request->get['route'] == 'checkout/simplecheckout'){
                $data['dynx_pagetype'] = "cart";}

Все работает, корзину и поиск определяет, только тотал количества и цены товаров по корзине не считает.. Корзину определил, а товары в корзине нет :( 

Если кто знает, подскажите. Спасибо!

 

Надіслати
Поділитися на інших сайтах


  • 8 months later...
В 01.11.2017 в 19:39, Shkodich сказал:

@hichlander

Спасибо!

Повторил Ваш код, в корзине и в поиске не отображается, т.к. на них ссылки другие..

поиск: 

      elseif ($this->request->get['route'] == 'product/search'){
                $data['dynx_pagetype'] = "searchresults";}

корзина (у меня simple, соответственно ссылка на simple):

      elseif ($this->request->get['route'] == 'checkout/simplecheckout'){
                $data['dynx_pagetype'] = "cart";}

Все работает, корзину и поиск определяет, только тотал количества и цены товаров по корзине не считает.. Корзину определил, а товары в корзине нет  

Если кто знает, подскажите. Спасибо!

 

 Такая же история и у меня, Подскажите вы разобрались в чем проблема?

Надіслати
Поділитися на інших сайтах


  • 5 weeks later...
В 01.11.2017 в 19:39, Shkodich сказал:

@hichlander

Спасибо!

Повторил Ваш код, в корзине и в поиске не отображается, т.к. на них ссылки другие..

поиск: 

      elseif ($this->request->get['route'] == 'product/search'){
                $data['dynx_pagetype'] = "searchresults";}

корзина (у меня simple, соответственно ссылка на simple):

      elseif ($this->request->get['route'] == 'checkout/simplecheckout'){
                $data['dynx_pagetype'] = "cart";}

Все работает, корзину и поиск определяет, только тотал количества и цены товаров по корзине не считает.. Корзину определил, а товары в корзине нет  

Если кто знает, подскажите. Спасибо!

 

удалось кому то решить?

Надіслати
Поділитися на інших сайтах


  • 2 years later...

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.