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

Динамический ремаркетинг


Recommended Posts

Здравствуйте, пытаюсь настроить динамический ремаркетинг.

 

Нашел и немного изменил код:

 

<?php 
error_reporting( E_ERROR );

if (! isset ($this->request->get['route'])) {

$ecomm_prodid=0;

$ecomm_pagetype = "home";

$ecomm_totalvalue=0;

}

else {


if ($this->request->get['route'] == 'product/category') {

$ecomm_pagetype = "category";

} 

elseif ($this->request->get['route'] == 'product/product'){ 

$ecomm_pagetype = "offerdetail";

}

elseif ($this->request->get['route'] == 'checkout/cart'){ 

$ecomm_pagetype = "cart";

/*foreach ($this->cart->getProducts() as $product) 
	{
		
				
	}*/

}

elseif ($this->request->get['route'] == 'checkout/success'){ 

$ecomm_pagetype = "purchase";
$ecomm_totalvalue = '';
}

elseif ($this->request->get['route'] == ''){ 

$ecomm_pagetype = "home";

}

elseif ($this->request->get['route'] == 'common/home'){ 

$ecomm_pagetype = "home";

}

else {

$ecomm_pagetype = "siteview";

} 

?>


<?php 

if (isset($this->request->get['product_id'])) {

$Id=$this->request->get['product_id'];

$product_info = $this->model_catalog_product->getProduct($Id);


$product_id = $Id;

If ($product_info['special'] > 0) 

$price = $product_info['special'];

else

$price = $product_info['price'];


} else {

$product_id = 0;

}


if ($this->request->get['route'] == 'product/product') {

$ecomm_prodid = $this->request->get['product_id']; 

}

else{

$ecomm_prodid = ""; 

}


$ecomm_totalvalue=0;


if ($this->request->get['route'] == 'product/product') {

$ecomm_prodid = $product_id; 

$ecomm_totalvalue = $price; 

}

elseif ($this->request->get['route'] == 'checkout/cart'){ 

$ecomm_totalvalue = round($this->cart->getTotal(),2);
		
}

}

?>

<!-- 

Dynamic Remarketing Tag -- 

//-->

<!-- Google Remarketing -->


<?php 
$cnt = 0;
$tempstr = "";
$pricestr = "";

if (! isset ($this->request->get['route'])) {

$ecomm_prodid=0;

$ecomm_pagetype = "home";

$ecomm_totalvalue=0;

}

else {


if ($this->request->get['route'] == 'product/category') {

$ecomm_pagetype = "category";

} 

elseif ($this->request->get['route'] == 'product/product'){ 

$ecomm_pagetype = "offerdetail";

}

elseif ($this->request->get['route'] == 'checkout/cart') { 

$ecomm_pagetype = "cart";

$tempstr = "";
$pricestr = "";
$i = 1;
$massprod = $this->cart->getProducts();
$cnt = count($massprod);

	if ($cnt > 1)
	{
		$tempstr = "['";
		$pricestr = "['";
	}

foreach ($massprod as $ppro) 
		{
			if (($cnt > 1) && ($i < $cnt))
			{
				
				$tempstr .= $ppro['product_id']."', '";
				$pricestr .= $ppro['price']."', '";
			}
			
			if (($cnt > 1) && ($i == $cnt))
			{
				
				$tempstr .= $ppro['product_id']."']";
				$pricestr .= $ppro['price']."']";
			}
			
			if ($cnt == 1)
			{
				
				$tempstr = $ppro['product_id'];
				$pricestr = $ppro['price'];
				
			}
				
				
		$i++;	  
        }
		
		$ecomm_prodid = $tempstr;
		$ecomm_totalvalue = $pricestr;
		
}

elseif ($this->request->get['route'] == 'checkout/success'){ 

$ecomm_pagetype = "purchase";

}

elseif ($this->request->get['route'] == ''){ 

$ecomm_pagetype = "home";

}

elseif ($this->request->get['route'] == 'common/home'){ 

$ecomm_pagetype = "home";

}

else {

$ecomm_pagetype = "siteview";

} 

?>


<?php 

if (isset($this->request->get['product_id'])) {

$Id=$this->request->get['product_id'];

$product_info = $this->model_catalog_product->getProduct($Id);


$product_id = $Id;

If ($product_info['special'] > 0) 

$price = $product_info['special'];

else

$price = $product_info['price'];


} else {
	

$product_id = 0;

}


if ($this->request->get['route'] == 'product/product') {

$ecomm_prodid = $this->request->get['product_id']; 

}

else{
	
	if ($ecomm_prodid !== $tempstr){
			$ecomm_prodid = ""; 
		
	}



}



if ($ecomm_totalvalue !== $pricestr)
	{
		$ecomm_totalvalue=0;
	}


if ($this->request->get['route'] == 'product/product') {

$ecomm_prodid = $product_id; 

$ecomm_totalvalue = $price; 

}

elseif ($this->request->get['route'] == 'checkout/cart'){ 

	if ($cnt <= 1)
	{
		$ecomm_totalvalue = round($this->cart->getTotal(),2);
	}
	
		
}

}

?>

<!-- 

Dynamic Remarketing Tag -- 

//-->

<script type="text/javascript">

var google_tag_params = {

dynx_itemid: <?php if ($cnt <= 1){ echo "'".$ecomm_prodid."'";} else {echo $ecomm_prodid;} ?>,
dynx_pagetype: '<?php echo $ecomm_pagetype; ?>',
dynx_totalvalue: <?php if ($cnt <= 1){ echo "'".$ecomm_totalvalue."'";} else {echo $ecomm_totalvalue;} ?>,

};


</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/929562639/?guid=ON&amp;script=0"/>
</div>
</noscript>

<!-- End Google Remarketing -->

В итоге, на странице товара все, вроде, правильно:

59f85b3be8a56_.JPG.2cfc8ba944546f8c96277e4b24de2249.JPG

На корзине тоже, но не уверен:

 

когда один товар:
59f85b5b467e0_1.JPG.a63f46943b1e239b1ab73b719ff6c9c7.JPG

Когда несколько товаров в корзине:

59f85b683622d_.JPG.b666a8d4ba6f28bb2cdcecd2476a11da.JPG

 

Осталось сделать страницу: "Спасибо за покупку".

Страница: "Спасибо за покупку" не готова. Но я так понял, что будет все аналогично странице Корзины, 

 

но: 

 

dynx_pagetype: 'purchase'  ?

 

Вопрос, как подтянуть с корзины в страницу: "Спасибо за покупку"?

Посоветуйте какой-нибудь модуль для генерации фида товаров.

Змінено користувачем kirosin
Надіслати
Поділитися на інших сайтах


а checkout/success это не оно?

У вас ошибка, totalvalue должно быть int без кавычек и когда несколько товаров - это сумма значений

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

Спасибо, а ItemID может быть сколько угодно?

 

Мне надо найти еще для страницы: "Спасибо за покупку", как получить id товаров и сумму. Для неё теги будут такие же, как и для корзины (айди всех товаров в квадратных скобках и кавычках, тип страницы и общая сумма – одно число)?

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


9 минут назад, kirosin сказал:

Спасибо, а ItemID может быть сколько угодно?

 

Мне надо найти еще для страницы: "Спасибо за покупку", как получить id товаров и сумму. Для неё теги будут такие же, как и для корзины (айди всех товаров в квадратных скобках и кавычках, тип страницы и общая сумма – одно число)?

в контроллере success после

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

 

получаете заказ и все остальное 

для нее тег 

в корзине тег conversionintent

а на странице успеха conversion

 

 

да itemid может быть полно, но общая сумма общая и не в кавычках

 

PS с фидом могу помочь за пару пива, есть своя наработка

 

Змінено користувачем spectre
Надіслати
Поділитися на інших сайтах

Проверьте, пожалуйста, правильно ли я Вас понял?:

Переделал, теперь так:

В карточке товара:59f879640ccd8_.JPG.148fead3a11315addcc80b7572719412.JPG

 

В корзине, если один товар: 59f8797bed8cb_1.JPG.9a009ff8349d4d489c3c95b7a6b847d0.JPG

 

В корзине, если товаров много:59f87991411e1_2.JPG.197fa1a60f8f9a4af895ef8b47c7747e.JPG

 

Цитата

PS с фидом могу помочь за пару пива, есть своя наработка

 

Было бы неплохо реальзовать с автонаполнением. Я в Украине (Мерчант не подходит). Сейчас, доразбираюсь с страницей Спасибо за заказ и отпишусь.

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


37 минут назад, spectre сказал:

в контроллере success после

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

 

получаете заказ и все остальное 

для нее тег 

в корзине тег conversionintent

а на странице успеха conversion

 

 

да itemid может быть полно, но общая сумма общая и не в кавычках

 

PS с фидом могу помочь за пару пива, есть своя наработка

 

 

В Спасибо за покупку, я так понял, должно быть аналогично корзине, кроме dynx_pagetype: conversion ?

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


7 минут назад, spectre сказал:

да

 

в файле success.php такое:

 

Class ControllerCheckoutSuccess extends Controller { 
    public function index() {     
        if (isset($this->session->data['order_id'])) {
            $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']);
            unset($this->session->data['totals']);
        }    

 

Не понимаю, как выдрать отсюда ID товаров?

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


Только что, kirosin сказал:

 

в файле success.php такое:

 

Class ControllerCheckoutSuccess extends Controller { 
    public function index() {     
        if (isset($this->session->data['order_id'])) {
            $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']);
            unset($this->session->data['totals']);
        }    

 

Не понимаю, как выдрать отсюда ID товаров?

Отсюда - никак, получить заказ по $this->session->data['order_id'] каким-то методом

перед тем как он очистится

 

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

2 минуты назад, spectre сказал:

Отсюда - никак, получить заказ по $this->session->data['order_id'] каким-то методом

перед тем как он очистится

 

 

Так что там насчет помощи и пару пива) ? Помогите, пожалуйста с этим тоже

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


  • 2 weeks later...

Всем добрый день!

Подскажите, как выводить свой dynx_pagetype для каждой категории и подкатегории, цель создать отдельные аудитории по категориям.

Т.е. мне нужно, к примеру, чтоб в категории "Канцелярия" dynx_pagetype отображался как dynx_pagetype: "kancelyariya", в другой категории другой dynx_pagetype, тип страницы category для всех категорий не подходит. Подскажите, пожалуйста, как реализовать. Спасибо! 

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


3 минуты назад, Shkodich сказал:

чтоб в категории "Канцелярия" dynx_pagetype отображался как dynx_pagetype: "kancelyariya", в другой категории другой dynx_pagetype

 

Либо по id категории, либо делать дополнительное поле в админке категории, где вручную прописать нужное значение, которое потом выводить в скрипт.

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

29 минут назад, mazein сказал:

 

Либо по id категории, либо делать дополнительное поле в админке категории, где вручную прописать нужное значение, которое потом выводить в скрипт.

Намекните, пожалуйста, как через id категории реализовать, я думал типа такого но не вышло:

 elseif ($this->request->get['route'] == 'product/category_id=50'){
                $data['dynx_pagetype'] = "kancelyariya";

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


Только что, Shkodich сказал:

Намекните

<?php if ($category_id==50) { ?>

<?php } else { ?>

<?php } ?>

В этом случае скрипт

<script type="text/javascript">
var google_tag_params = {
dynx_itemid: ,
dynx_pagetype: ,
dynx_totalvalue: ,
};
</script>

нужно вставить в файл вывод категории:

/catalog/view/theme/default/template/product/category.tpl

 

Для остальных типов страниц лучше тоже вставить в соответствующие файлы.

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

  • 5 months later...

Здравствуйте, 

 

При использовании вашего кода, к сожалению, я получаю данные результаты на любой странице:

ecomm_prodid: '0',
ecomm_pagetype: 'home',
ecomm_totalvalue: '0',

 

Система opencart  2.0.3.1

 

Сайт: https://technomaszbud.pl

 

Можете пожалуйста помочь в поиске проблемы?

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


4 минуты назад, kabasik сказал:

Здравствуйте, 

 

При использовании вашего кода, к сожалению, я получаю данные результаты на любой странице:

ecomm_prodid: '0',
ecomm_pagetype: 'home',
ecomm_totalvalue: '0',

 

Система opencart  2.0.3.1

 

Сайт: https://technomaszbud.pl

 

Можете пожалуйста помочь в поиске проблемы?

установка-настройка - 5 рублей

Змінено користувачем spectre
Надіслати
Поділитися на інших сайтах

  • 6 months later...
В 31.10.2017 в 13:12, kirosin сказал:

Здравствуйте, пытаюсь настроить динамический ремаркетинг.

 

Нашел и немного изменил код:

 


<?php 
error_reporting( E_ERROR );

if (! isset ($this->request->get['route'])) {

$ecomm_prodid=0;

$ecomm_pagetype = "home";

$ecomm_totalvalue=0;

}

else {


if ($this->request->get['route'] == 'product/category') {

$ecomm_pagetype = "category";

} 

elseif ($this->request->get['route'] == 'product/product'){ 

$ecomm_pagetype = "offerdetail";

}

elseif ($this->request->get['route'] == 'checkout/cart'){ 

$ecomm_pagetype = "cart";

/*foreach ($this->cart->getProducts() as $product) 
	{
		
				
	}*/

}

elseif ($this->request->get['route'] == 'checkout/success'){ 

$ecomm_pagetype = "purchase";
$ecomm_totalvalue = '';
}

elseif ($this->request->get['route'] == ''){ 

$ecomm_pagetype = "home";

}

elseif ($this->request->get['route'] == 'common/home'){ 

$ecomm_pagetype = "home";

}

else {

$ecomm_pagetype = "siteview";

} 

?>


<?php 

if (isset($this->request->get['product_id'])) {

$Id=$this->request->get['product_id'];

$product_info = $this->model_catalog_product->getProduct($Id);


$product_id = $Id;

If ($product_info['special'] > 0) 

$price = $product_info['special'];

else

$price = $product_info['price'];


} else {

$product_id = 0;

}


if ($this->request->get['route'] == 'product/product') {

$ecomm_prodid = $this->request->get['product_id']; 

}

else{

$ecomm_prodid = ""; 

}


$ecomm_totalvalue=0;


if ($this->request->get['route'] == 'product/product') {

$ecomm_prodid = $product_id; 

$ecomm_totalvalue = $price; 

}

elseif ($this->request->get['route'] == 'checkout/cart'){ 

$ecomm_totalvalue = round($this->cart->getTotal(),2);
		
}

}

?>

<!-- 

Dynamic Remarketing Tag -- 

//-->

<!-- Google Remarketing -->


<?php 
$cnt = 0;
$tempstr = "";
$pricestr = "";

if (! isset ($this->request->get['route'])) {

$ecomm_prodid=0;

$ecomm_pagetype = "home";

$ecomm_totalvalue=0;

}

else {


if ($this->request->get['route'] == 'product/category') {

$ecomm_pagetype = "category";

} 

elseif ($this->request->get['route'] == 'product/product'){ 

$ecomm_pagetype = "offerdetail";

}

elseif ($this->request->get['route'] == 'checkout/cart') { 

$ecomm_pagetype = "cart";

$tempstr = "";
$pricestr = "";
$i = 1;
$massprod = $this->cart->getProducts();
$cnt = count($massprod);

	if ($cnt > 1)
	{
		$tempstr = "['";
		$pricestr = "['";
	}

foreach ($massprod as $ppro) 
		{
			if (($cnt > 1) && ($i < $cnt))
			{
				
				$tempstr .= $ppro['product_id']."', '";
				$pricestr .= $ppro['price']."', '";
			}
			
			if (($cnt > 1) && ($i == $cnt))
			{
				
				$tempstr .= $ppro['product_id']."']";
				$pricestr .= $ppro['price']."']";
			}
			
			if ($cnt == 1)
			{
				
				$tempstr = $ppro['product_id'];
				$pricestr = $ppro['price'];
				
			}
				
				
		$i++;	  
        }
		
		$ecomm_prodid = $tempstr;
		$ecomm_totalvalue = $pricestr;
		
}

elseif ($this->request->get['route'] == 'checkout/success'){ 

$ecomm_pagetype = "purchase";

}

elseif ($this->request->get['route'] == ''){ 

$ecomm_pagetype = "home";

}

elseif ($this->request->get['route'] == 'common/home'){ 

$ecomm_pagetype = "home";

}

else {

$ecomm_pagetype = "siteview";

} 

?>


<?php 

if (isset($this->request->get['product_id'])) {

$Id=$this->request->get['product_id'];

$product_info = $this->model_catalog_product->getProduct($Id);


$product_id = $Id;

If ($product_info['special'] > 0) 

$price = $product_info['special'];

else

$price = $product_info['price'];


} else {
	

$product_id = 0;

}


if ($this->request->get['route'] == 'product/product') {

$ecomm_prodid = $this->request->get['product_id']; 

}

else{
	
	if ($ecomm_prodid !== $tempstr){
			$ecomm_prodid = ""; 
		
	}



}



if ($ecomm_totalvalue !== $pricestr)
	{
		$ecomm_totalvalue=0;
	}


if ($this->request->get['route'] == 'product/product') {

$ecomm_prodid = $product_id; 

$ecomm_totalvalue = $price; 

}

elseif ($this->request->get['route'] == 'checkout/cart'){ 

	if ($cnt <= 1)
	{
		$ecomm_totalvalue = round($this->cart->getTotal(),2);
	}
	
		
}

}

?>

<!-- 

Dynamic Remarketing Tag -- 

//-->

<script type="text/javascript">

var google_tag_params = {

dynx_itemid: <?php if ($cnt <= 1){ echo "'".$ecomm_prodid."'";} else {echo $ecomm_prodid;} ?>,
dynx_pagetype: '<?php echo $ecomm_pagetype; ?>',
dynx_totalvalue: <?php if ($cnt <= 1){ echo "'".$ecomm_totalvalue."'";} else {echo $ecomm_totalvalue;} ?>,

};


</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/929562639/?guid=ON&amp;script=0"/>
</div>
</noscript>

<!-- End Google Remarketing -->

 

А в какой файл добавить этот код?

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


  • 1 year later...

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

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

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

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

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

Вхід

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

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

Important Information

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