Подсчет количества отправленных форм
На странице сайта расположена анкета, которую заполняют посетители сайта. Данные анкеты отправляются владельцу сайта нажатием на кнопку Отправить форму. Необходимо с помощью системы AdRiver подсчитать, сколько раз была нажата кнопка и какое количество анкет было отправлено.
-
Пример. Код для анкеты имеет вид:
<form id="form" action='#'> <input name=aa type=hidden value=462> <input name=lop type=hidden value=563> <input name=cat type=hidden value=2> <input type='hidden' name='post' value='1'> <table width=90% cellspacing=5> <tr><td width=25%><p>Имя:</td><td><input name='name' type='text' size=50 maxlength=255 value=''></td></tr> <tr><td><p>Никнейм:</td><td><input name='nickname' type='text' size=50 maxlength=255 value=''></td></tr> <tr><td><p>E-mail:</td><td><input name='email' type='text' size=50 maxlength=255 value=''></td></tr> <tr><td><p>ICQ:</td><td><input name='icq' type='text' size=50 maxlength=255 value=''></td></tr> <tr><td colspan=2 align=center><input value='Отправить заявку' type='submit' id="button"></div></form></td></tr> </table>
- Создайте зону сайта submit (ваша зона сайта может называться по-другому).
-
Сгенерируйте для этой сайтзоны код counter.
Пример кода counter (вам понадобится только часть ссылки, выделенная красным):
<!-- AdRiver code START Type: counter Site: primer SZ: submit PZ: 0 BN: 0--> <script language="javascript" type="text/javascript"><!-- var RndNum4NoCash = Math.round(Math.random() * 1000000000); var ar_Tail='unknown'; if (document.referrer) ar_Tail = escape(document.referrer); document.write( '<img src="http://ad.adriver.ru/cgi-bin/rle.cgi?' + 'sid=92926&sz=submit&bt=21&pz=0&rnd=' + RndNum4NoCash + '&tail256=' + ar_Tail + '" border=0 width=1 height=1>') //--></script> <noscript> <img src="http://ad.adriver.ru/cgi-bin/rle.cgi?sid=92926&sz=submit&bt=21&pz=0&rnd=1490049405" border=0 width=1 height=1> </noscript> <!-- AdRiver code END -->
-
На страницу сайта, на которой размещена анкета, вставьте следующую функцию:
<script language=javascript> (function(b_id, f_id, src){ var s = false; function sendForm(){ if (s) return; var f = document.getElementById(f_id); if (f) { var pixel = new Image(); pixel.onerror = pixel.onload = function(){ if (s) return; s = true; f.submit(); } pixel.src = src; setTimeout(function(){ if (s) return; s = true; f.submit(); }, 3000); } } function checkErrors(){ // Функция проверки ошибок return true; } var b = document.getElementById(b_id); if (b) { var old_click = b.onclick; b.onclick = function(){ s = false; if(checkErrors())sendForm(); if (old_click) old_click(); return false; } } })('id1','id2','pixel'); </script>
Обратите внимание на сторку, выделенную красным. В строке используются следующие переменные:
- id1 — id кнопки отправки формы;
- id2 — id самой формы;
- pixel — код counter (часть ссылки п.3, выделенная красным).
Примечание: Для подсчёта количества отправленных форм вы можете использовать код счётчик сторонней системы управления рекламой.
-
Для анкеты (п.1) и кода counter (п.3) функция (п.4) будет выглядеть следующим образом:
Примечание: Данный код необходимо разместить на странице после формы, но не раньше неё.
<script language=javascript> (function(b_id, f_id, src){ var s = false; function sendForm(){ if (s) return; var f = document.getElementById(f_id); if (f) { var pixel = new Image(); pixel.onerror = pixel.onload = function(){ if (s) return; s = true; f.submit(); } pixel.src = src; setTimeout(function(){ if (s) return; s = true; f.submit(); }, 3000); } } function checkErrors(){ // Функция проверки ошибок return true; } var b = document.getElementById(b_id); if (b) { var old_click = b.onclick; b.onclick = function(){ s = false; if(checkErrors())sendForm(); if (old_click) old_click(); return false; } } })('button','form','http://ad.adriver.ru/cgi-bin/rle.cgi?sid=92926&sz=submit&bt=21&pz=0'); </script>
- Данные по количеству отправленных форм вы можете посмотреть в статистике показов по зоне сайта submit.