Статистика баннера и Google Analytics с использованием PHP - PullRequest
2 голосов
/ 16 октября 2011

Я создал скрипт партнерского баннера, который, из того, что я видел, совершенно уникален. Я ограничен NDA, поэтому, пожалуйста, поймите, если я не могу предоставить действительные страницы или доменное имя.

Партнер может выбрать из восьми различных баннеров разных размеров. Код, предоставляемый аффилированному лицу, представлен в макете CSS - простые div-ы и абзацы - с одним якорем, не содержащим вызова onclick, а src не содержит строки запроса. Партнерский код также обеспечивает вызов файла javascript на сервере моего клиента. Текст привязки (ключевые слова) зависит от affiliate_id. Src вызова скрипта определяет тип баннера и идентификатор партнера в формате: http://www.somedomain.com/banner_dir/affiliate_id/banner_id/. Используя .htaccess, страница индекса в banner_dir имеет расширение .js, но интерпретирует код PHP. Index.js анализирует структуру каталогов для извлечения affiliate_id и banner_id.

Если вы можете следовать этому примеру, index.js, использующий PHP, создает сеанс на сервере клиента, который назначает переменные сессий affiliate_id, banner_id, ключевые слова и ссылающийся домен. Статистика сохраняется в паре таблиц статистики. Сценарий выпадает из PHP, а затем записывает на страницу партнеров таблицу стилей для баннера с помощью document.write ().

Таким образом, я сделал междоменный cookie-файл, используя все приемы, которые я мог придумать, с целью создания контента на удаленном сервере, который максимально оптимизирует SEO для моего клиента с минимальным отрицательным SEO. , И да, это работает.

Когда на баннере нажимают, на сервере клиента имеется интерпретирующий код для записи клика на баннере, извлекающего значения из сеанса.

Пока клиент выполнил все требования, кроме одного. Он хочет передать статистику своему аккаунту Google Analytics. Мне нужно иметь возможность генерировать статистику для отображения и клика по баннеру на основе affiliate_id, типа баннера и ключевых слов. Клиент должен уметь оценивать эффективность ключевых слов и баннеров, а также эффективность партнеров. В идеале мы могли бы отслеживать клиента от просмотра баннера до успешной продажи.

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

Я могу передать исходный код GA при выходе из скрипта index.js, но у меня есть некоторые проблемы с событием click thru. Я хочу избегать использования события click при щелчке якоря в баннере, сохраняя код максимально чистым. В идеале я хотел бы сделать фоновый вызов при доступе к сайту моего клиента, так как код, который интерпретирует данные сеанса, включает в себя перенаправление PHP и ничего не может быть написано до перенаправления без ошибок.

Есть вопросы, комментарии или предложения?

Я не совсем освоил интерфейс этого места, поэтому, пожалуйста, извините пост ниже в этой теме. Во всяком случае, это код, который я использую. Данные публикуются из скриптов click и display через cURL, и я знаю, что они вызываются. Однако данные не попадают в Google Analytics.

<? 
$f = $_POST['banner']; 
$a = $_POST['affiliate_id']; 
$r = urlencode ($_POST['referrer']); 
$k = $_POST['keywords']; 
// $_POST['c'] = the click event 
?> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
<head> 
     <title>GA Display script</title> 
<script type="text/javascript"> 
var _gaq = _gaq || []; 
function loadtracking() { 
_gaq.push(['_setAccount', 'UA-XXXXXXXXXX-X']); 
_gaq.push(['_setCampNameKey', 'banners']);    // name 
_gaq.push(['_setCampMediumKey', '<?=$f?>']);  // image 
_gaq.push(['_setCampSourceKey', '<?=$a?>']);  // source 
_gaq.push(['_setCampTermKey', '<?=$k?>']);   // term/keyword 
_gaq.push(['_setReferrerOverride(<?=$r?>)']); 
_gaq.push(['_setCampContentKey', '<?=$k?>']);  // content 
_gaq.push(['_trackPageview']); 
<?if ($_POST['c'] == 1){?>  
_gaq.push(['_trackEvent', 'banners', 'Click', 'Banner Click-thru']); 
<?}else{?>  
_gaq.push(['_trackEvent', 'banners', 'Display', 'Banner Display']); 
<?}?> 
(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); 
  })(); 
} 
loadtracking(); 
</script>  
</head> 
<body> 
</body> 
</html>

1 Ответ

0 голосов
/ 09 ноября 2011

Звучит как работа для ajax. Вы заявляете, что не хотите зависеть от события клика, поэтому вместо этого вы хотите действовать при доступе к вашему клиентскому сайту. Если вы создадите удаленный файл javascript и добавите ссылку на него на сайт клиента, это не будет служить вашим намерениям?

Дайте мне знать, правильно ли я вас понял или это поможет вам.

...