Показать сообщение отдельно
  #1 (permalink)  
Старый 25.07.2012, 12:40
Интересующийся
Отправить личное сообщение для Stanisov Посмотреть профиль Найти все сообщения от Stanisov
 
Регистрация: 03.01.2012
Сообщений: 17

Выполнить код Google Analytics eCommers после заказа AJAXом
Выполнить код Google Analytics eCommers после заказа AJAXом
Добрый день! Нужна ваша помощь по реализации стандартного API GA.
-----------------
Задача: Нужно отследить покупку заказа товара.
-----------------
Методы: Использую стандартное API от GA. В документации сказано, что код Google нужно разместить на странице , которая оповещает об удачной покупке. Но у меня заказ производится через AJAX. И выводится сообщение что заказ оформлен в асинхронном режиме.
Как мне через AJAX отследить покупку?
-----------------
Как я реализовую?

файл: analyticsGoogle.js ( подключаю в header)
function addTransaction(order,allPrice)
	{
		_gaq.push(['_addTrans',
		order, // Внутренний уникальный идентификационный номер заказа
		"",// Дополнительный партнер или аффилированный склад
		allPrice,// Общая сумма в долларах для транзакции
		"", // Сумма налога для транзакции
		"",// Сумма отгрузки для транзакции
		"", // Город, связанный с транзакцией
		"", // Область или регион
		"Россия" // Страна
		]);
		console.log('It work!');		
	}

	function addOrder(order, name, price, kolvo, category)
	{
		_gaq.push(['_addItem',
		order, // Ваш внутренний уникальный идентификационный номер заказа (должен быть таким же, как для строки транзакции)
		"", // Код складской единицы для продукта
		name, // Название или описание продукта
		category, // Категория продукта или разновидности
		price,// Цена за единицу продукта
		kolvo // Заказанное количество
		]);
		console.log('It work!');
	}
 // end GA Commercy


Функция отправки из файла: addOne.js (подключаю ниже)
/*
 * Функция отправка формы AJAX
 */

function SendPost()
{
	var i = 0; // счетчик полей
	jQuery.each(jQuery('#ordering-mw input'), function(index,value) // снова перибераем input'ы
	{
		if(jQuery(value).val().length > 0) i = i+1; // считаем только заполненные
	});
	if(i>6) // 6 input полей в форме включая hidden
	{
		jQuery.ajax({
		type: 'POST',
		url: '/addone/addOne.php', // скрипт который обрабатывает все серверные запросы
		data: 	{ // параметры для $_POST
					'name' : jQuery("#ordering-name").val(),
					'phone' : jQuery("#ordering-phone").val(),
					'email' : jQuery("#ordering-email").val(),
					'product' : jQuery("#pID").val(),
					'price' : jQuery("#price").val(),
					'id' : jQuery("#id").val(),
					'url' : jQuery("#url").val(),					
				},
		response : 'text', // возвращаем ответ текстом
                
                beforeSend : function() // перед отправкой
                {
                    jQuery('#rslt').html('<img src="/addone/images/loading-one.gif" border="0">');    
                },
                
		header:	{ // заголовок браузеру
					'Content-Type' : 'application/x-www-form-urlencoded; charset=utf-8',
					'Referer' : location.href
				},
		success : function(data) // возвращает ok, если все ок
				{
					addTransaction(jQuery("#id").val(), jQuery("#price").val()); // Вызываю методы добавления транзакции
					addOrder(jQuery("#id").val(), jQuery("#ordering-name").val(), jQuery("#price").val(), 1, 'Заказано в один клик'); // метод добавления инфы о товаре
					if(data == "wrongmail") jQuery('#rslt').html('<span style="color: #f00;">Не верный формат e-mail! Повторите отправку.</span>');
					else if(data == "emptymail") jQuery('#rslt').html('<span style="color: #f00;">Не верный формат e-mail! Повторите отправку.</span>');
					else if(data == "spam") jQuery('#rslt').html('<span style="color: #f00;">Подождите несколько секунд, чтобы заказать повторно</span>');					
					else jQuery('#rslt').html('<span style="color: #068403;">Заказ отправлен успешно, с Вами свяжется наш оператор.</span>');
				}
			});
	}
	else
	{
		jQuery('#rslt').html('<span style="color: #f00;">Необходимо заполнить все поля</span>');
	}
}


Кусок HTML со страницы формы заказа:
<!-- Модальное окно для заказа в один клик -->
<script type="text/javascript">
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-23801028-1']); // объявляю ID для GA
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>
<div style="display: none;" id="oneClick" class="jqmWindow formOne jqmID1">
    <div id="ordering-mw">
		<div><a class="jqmClose" id="close-icon" href="#"></a></div>
		<div class="clear"></div>
		<h2>Заказ в один клик!</h2>
		<p>Оформление заказа</p>
		<div style="text-align: center;" id="rslt" class="rslt"></div>
		<form action="#">
		    <input type="hidden" value="" name="productID" id="pID">
		    <input type="hidden" value="" name="price" id="price">
		    <input type="hidden" value="" name="id" id="id">
		    <input type="hidden" value="" name="url" id="url">
...
.....
......
			<input type="button" value="Отправить" onclick="SendPost();">


Форма работает, но статистика не доходит Помогите пожалуйста!
Ответить с цитированием