Устанавливаем код Google Tag Manager для отслеживания покупок на CMS Битрикс

Устанавливаем код Google Tag Manager для отслеживания покупок на Битрикс

И так, сегодня займемся установкой кода отслеживания конверсий от Google. В данном случае конверсией будет у нас выступать успешно оформленный заказ.
Без долгих прелюдий и лишней воды начинаю плавно переходить к сути данной записи.

Установка

Для начала найдем файл «confirm.php» нашего активного компонента «sale.order.ajax» и после:

if (!empty($arResult["ORDER"])):

Вставим вот такой код:

$allinfo = CSaleOrder::GetByID($arResult["ORDER"]["ACCOUNT_NUMBER"]); // Вытаскиваем общую информацию о заказе
if($arResult["ORDER"]["ACCOUNT_NUMBER"]>0): //Если ID заказа больше нуля, действуем далее
	$dbBasket = CSaleBasket::GetList( //Вытаскиваю подробности по каждому товару
            array("NAME" => "ASC"),
            array("FUSER_ID" => CSaleBasket::GetBasketUserID(), "ORDER_ID" => $arResult["ORDER"]["ACCOUNT_NUMBER"])
        );
		
	//Создаем массив перебирая товар из корзины  для Google	
	$data = null;
	while ($arBasket = $dbBasket->GetNext()):
		$db_props = CIBlockElement::GetProperty('ИД ИНФОБЛОКА С КАТАЛОГОМ', $arBasket['PRODUCT_ID'], array("sort" => "asc"), Array("CODE"=>"OWNER_ID"));
							
		if($ar_props = $db_props->Fetch()):
			$owner_id = $ar_props["VALUE"];
		endIf;
							
		$data .= "{
				'name': '".$arBasket['NAME']."', 
				'sku': '".$owner_id."',
				'price': '".$arBasket['PRICE']."', 
				'quantity': '".number_format($arBasket['QUANTITY'], 0, '', '')."'
		},"; 
		endWhile;
		
		//Производим буферизацию данных	
		ob_start();
		session_start();
			echo"<script  data-skip-moving=true>
						dataLayer = [{
							'transactionId': '".$arResult['ORDER']['ACCOUNT_NUMBER']."',
							'transactionAffiliation': '".$_SERVER['REQUEST_SCHEME']."://".$_SERVER['HTTP_HOST']."',
							'transactionTotal': ".$allinfo['PRICE'].",
							'transactionTax': ".$allinfo['TAX_VALUE'].", 
							'transactionProducts': [".$data."]
						}]; 
			</script>";
				
		$data = ob_get_contents(); 
		ob_end_clean(); 
		
		$APPLICATION->SetPageProperty("google_convert", $data); //Создаем данные для отложенной загрузки Битрикс под названием "google_convert"
endIf;

Затем мы можем позволить себе перейти к следующему файлу «header.php» вашего основного шаблона и сделаем вывод ранее буферизированного кода (ставим между тегами «head» и «/head»):

<?php $APPLICATION->ShowProperty("google_convert", ""); ?>

Ну и на последок, не забываем поставить сам Tag Manager, желательно после тега «head», пример ниже, но у вас должен быть свой код, полученный из вашего аккаунта Tag Manager:

<!-- Google Tag Manager -->
<script data-skip-moving=true>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXX');</script>
<!-- End Google Tag Manager -->
к содержанию ↑

Проверка

Так же хочу посоветовать для визуализации и проверки правильности работы данной сборки — расширение для Google Chrome: Tag Assistant (by Google)

В использовании расширение очень простое. В нашем случае покупаем товар на своем сайте, естественно после установки кода который мы разобрали выше, оставаясь на странице «Спасибо» кликаем на иконку данного расширения в тулбаре. И периходим далее как на скрине ниже (не забываем нажать Enable). Если данные не подтянулись, обновите страницу.

Проверяем правильность установки кода конверсии

Проверяем правильность установки кода конверсии

[Всего голосов: 4    Средний: 4.5/5]