Подсчет количества отправленных форм для постклик/поствью аналитики сайта рекламодателя
На странице сайта расположена анкета, которую заполняют посетители сайта. Данные анкеты отправляются владельцу сайта нажатием на кнопку Отправить форму. Необходимо с помощью системы 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 (ваша зона сайта может называться по-другому).
-
Сгенерируйте для этой сайтзоны код JS-counter.
Пример кода JS-counter (вам понадобится только часть ссылки, выделенная красным):
<!-- AdRiver code START Type: JS-counter Site: primer SZ: submit PZ: 0 BN: 0--> <script language="javascript" type="text/javascript"><!-- !function(e,t){function r(e,t,r){t=t||"&",r=r||"=";var o=[];for(var n in e)e.hasOwnProperty(n)&&o.push(n+r+encodeURIComponent(e[n]));return o.join(t)}function o(e){var t={};if(e){var r=e.split("&");for(var o in r)if(r.hasOwnProperty(o)){var n=r[o].split("=");void 0!==n[0]&&void 0!==n[1]&&(t[n[0]]=decodeURIComponent(n[1]))}}return t}function n(e){return(/^\/\//.test(e)?"https:":"")+e}function i(e,t){var r=e.cookie.match("(^|;) ?"+t+"=([^;]*)(;|$)");return r?decodeURIComponent(r[2]):null}var d,a=document;"undefined"==typeof AdriverCounter&&(AdriverCounter=((d=function(e,t,r){var o=document.domain;if(!(this instanceof AdriverCounter))return d.items[e];d.urlParams=d.getUrlParameters(window.location.search.substring(1)),void 0!==d.urlParams.adrclid&&(t.fsid=d.urlParams.adrclid),null!==d.getCookie(document,"adrcid")&&(t.cid=d.getCookie(document,"adrcid")),r&&r.id&&null!==d.getCookie(document,r.id)&&(t.suid=o+"_"+encodeURIComponent(d.getCookie(document,r.id))),r&&r.gid1?t.gid1=r.gid1:null!==d.getCookie(document,"_ga")&&(t.gid1=encodeURIComponent(d.getCookie(document,"_ga"))),r&&r.yid1?t.yid1=r.yid1:null!==d.getCookie(document,"_ym_uid")&&(t.yid1=encodeURIComponent(d.getCookie(document,"_ym_uid"))),t.loc=encodeURIComponent(window.location.href),e=d.items.length||1,d.items[e]=this,t.ph=e,t.custom&&(t.custom=d.toQueryString(t.custom,";")),d.request(d.toQueryString(t))}).httplize=n,d.loadScript=function(e){try{var t=a.getElementsByTagName("head")[0],r=a.createElement("script");r.setAttribute("type","text/javascript"),r.setAttribute("referrerpolicy","no-referrer-when-downgrade"),r.setAttribute("charset","windows-1251"),r.setAttribute("src",e.split("![rnd]").join(Math.round(1e6*Math.random()))),r.onreadystatechange=function(){/loaded|complete/.test(this.readyState)&&(r.onload=null,t.removeChild(r))},r.onload=function(){t.removeChild(r)},t.insertBefore(r,t.firstChild)}catch(e){}},d.toQueryString=r,d.request=function(e){var t=d.toQueryString(d.defaults);d.loadScript(d.redirectHost+"/cgi-bin/erle.cgi?"+e+"&rnd=![rnd]"+(t?"&"+t:""))},d.getUrlParameters=o,d.getCookie=i,d.items=[],d.defaults={tail256:document.referrer||"unknown"},d.redirectHost="https://ad.adriver.ru",d.urlParams={},d)),new AdriverCounter(0,e,t)} ({sid:12345,bt:62,sz:"submit"},{id:"",gid1:"",yid1:""}); //--></script> <!-- AdRiver code END -->
-
На страницу сайта, на которой размещена анкета, вставьте следующую функцию:
<script language=javascript> (function(b_id, f_id, p, c){ function sendForm(){ var f = document.getElementById(f_id); if (f) { function counter (e,t) {function r(e,t,r){t=t||"&",r=r||"=";var o=[];for(var n in e)e.hasOwnProperty(n)&&o.push(n+r+encodeURIComponent(e[n]));return o.join(t)}function o(e){var t={};if(e){var r=e.split("&");for(var o in r)if(r.hasOwnProperty(o)){var n=r[o].split("=");void 0!==n[0]&&void 0!==n[1]&&(t[n[0]]=decodeURIComponent(n[1]))}}return t}function n(e){return(/^\/\//.test(e)?"https:":"")+e}function i(e,t){var r=e.cookie.match("(^|;) ?"+t+"=([^;]*)(;|$)");return r?decodeURIComponent(r[2]):null}var d,a=document;"undefined"==typeof AdriverCounter&&(AdriverCounter=((d=function(e,t,r){var o=document.domain;if(!(this instanceof AdriverCounter))return d.items[e];d.urlParams=d.getUrlParameters(window.location.search.substring(1)),void 0!==d.urlParams.adrclid&&(t.fsid=d.urlParams.adrclid),null!==d.getCookie(document,"adrcid")&&(t.cid=d.getCookie(document,"adrcid")),r&&r.id&&null!==d.getCookie(document,r.id)&&(t.suid=o+"_"+encodeURIComponent(d.getCookie(document,r.id))),r&&r.gid1?t.gid1=r.gid1:null!==d.getCookie(document,"_ga")&&(t.gid1=encodeURIComponent(d.getCookie(document,"_ga"))),r&&r.yid1?t.yid1=r.yid1:null!==d.getCookie(document,"_ym_uid")&&(t.yid1=encodeURIComponent(d.getCookie(document,"_ym_uid"))),t.loc=encodeURIComponent(window.location.href),e=d.items.length||1,d.items[e]=this,t.ph=e,t.custom&&(t.custom=d.toQueryString(t.custom,";")),d.request(d.toQueryString(t))}).httplize=n,d.loadScript=function(e){try{var t=a.getElementsByTagName("head")[0],r=a.createElement("script");r.setAttribute("type","text/javascript"),r.setAttribute("referrerpolicy","no-referrer-when-downgrade"),r.setAttribute("charset","windows-1251"),r.setAttribute("src",e.split("![rnd]").join(Math.round(1e6*Math.random()))),r.onreadystatechange=function(){/loaded|complete/.test(this.readyState)&&(r.onload=null,t.removeChild(r))},r.onload=function(){t.removeChild(r)},t.insertBefore(r,t.firstChild)}catch(e){}},d.toQueryString=r,d.request=function(e){var t=d.toQueryString(d.defaults);d.loadScript(d.redirectHost+"/cgi-bin/erle.cgi?"+e+"&rnd=![rnd]"+(t?"&"+t:""))},d.getUrlParameters=o,d.getCookie=i,d.items=[],d.defaults={tail256:document.referrer||"unknown"},d.redirectHost="https://ad.adriver.ru",d.urlParams={},d)),new AdriverCounter(0,e,t)} counter (p,c); setTimeout(function(){ f.submit(); }, 1000); } } function checkErrors(){ // Функция проверки ошибок return true; } var b = document.getElementById(b_id); if (b) { var old_click = b.onclick; b.onclick = function(){ if(checkErrors())sendForm(); if (old_click) old_click(); return false; } } })('id1','id2',{parameters},{parameters}); </script>
Обратите внимание на строку, выделенную красным. В строке используются следующие переменные:
- id1 — id кнопки отправки формы;
- id2 — id самой формы;
- {parameters},{parameters} — параметры из п.3, выделенные красным.
Примечание: Для подсчёта количества отправленных форм вы можете использовать код счётчик сторонней системы управления рекламой.
-
Пример готового кода из предыдущих пунктов:
Примечание: Данный код необходимо разместить на странице после формы, но не раньше неё.
<script language=javascript> (function(b_id, f_id, p, c){ function sendForm(){ var f = document.getElementById(f_id); if (f) { function counter (e,t) {function r(e,t,r){t=t||"&",r=r||"=";var o=[];for(var n in e)e.hasOwnProperty(n)&&o.push(n+r+encodeURIComponent(e[n]));return o.join(t)}function o(e){var t={};if(e){var r=e.split("&");for(var o in r)if(r.hasOwnProperty(o)){var n=r[o].split("=");void 0!==n[0]&&void 0!==n[1]&&(t[n[0]]=decodeURIComponent(n[1]))}}return t}function n(e){return(/^\/\//.test(e)?"https:":"")+e}function i(e,t){var r=e.cookie.match("(^|;) ?"+t+"=([^;]*)(;|$)");return r?decodeURIComponent(r[2]):null}var d,a=document;"undefined"==typeof AdriverCounter&&(AdriverCounter=((d=function(e,t,r){var o=document.domain;if(!(this instanceof AdriverCounter))return d.items[e];d.urlParams=d.getUrlParameters(window.location.search.substring(1)),void 0!==d.urlParams.adrclid&&(t.fsid=d.urlParams.adrclid),null!==d.getCookie(document,"adrcid")&&(t.cid=d.getCookie(document,"adrcid")),r&&r.id&&null!==d.getCookie(document,r.id)&&(t.suid=o+"_"+encodeURIComponent(d.getCookie(document,r.id))),r&&r.gid1?t.gid1=r.gid1:null!==d.getCookie(document,"_ga")&&(t.gid1=encodeURIComponent(d.getCookie(document,"_ga"))),r&&r.yid1?t.yid1=r.yid1:null!==d.getCookie(document,"_ym_uid")&&(t.yid1=encodeURIComponent(d.getCookie(document,"_ym_uid"))),t.loc=encodeURIComponent(window.location.href),e=d.items.length||1,d.items[e]=this,t.ph=e,t.custom&&(t.custom=d.toQueryString(t.custom,";")),d.request(d.toQueryString(t))}).httplize=n,d.loadScript=function(e){try{var t=a.getElementsByTagName("head")[0],r=a.createElement("script");r.setAttribute("type","text/javascript"),r.setAttribute("referrerpolicy","no-referrer-when-downgrade"),r.setAttribute("charset","windows-1251"),r.setAttribute("src",e.split("![rnd]").join(Math.round(1e6*Math.random()))),r.onreadystatechange=function(){/loaded|complete/.test(this.readyState)&&(r.onload=null,t.removeChild(r))},r.onload=function(){t.removeChild(r)},t.insertBefore(r,t.firstChild)}catch(e){}},d.toQueryString=r,d.request=function(e){var t=d.toQueryString(d.defaults);d.loadScript(d.redirectHost+"/cgi-bin/erle.cgi?"+e+"&rnd=![rnd]"+(t?"&"+t:""))},d.getUrlParameters=o,d.getCookie=i,d.items=[],d.defaults={tail256:document.referrer||"unknown"},d.redirectHost="https://ad.adriver.ru",d.urlParams={},d)),new AdriverCounter(0,e,t)} counter (p,c); setTimeout(function(){ f.submit(); }, 1000); } } function checkErrors(){ // Функция проверки ошибок return true; } var b = document.getElementById(b_id); if (b) { var old_click = b.onclick; b.onclick = function(){ if(checkErrors())sendForm(); if (old_click) old_click(); return false; } } })('button','form',{sid:12345,bt:62,sz:"submit"},{id:"",gid1:"",yid1:""}); </script>
- Данные по количеству отправленных форм вы можете посмотреть в статистике показов по зоне сайта submit.
- Параметры для обеспечения синхронизации идентификаторов AdRiver и веб-аналитической системы сайта рекламодателя для последующей постклик и поствью аналитики рекламных кампаний:
- id — название собственного ID пользователя (например, из CRM или 1st party cookie);
- gid1 — ID пользователя Google Analytics (GA);
- yid1 — ID пользователя Яндекс.Метрика (ЯМ).
Значения параметров можно самостоятельно подставить средствами сайта или GTM.
Если они не будут заполнены, код JS-counter автоматически будет определять ID пользователя GA и ID пользователя ЯМ на странице и передавать их в запросе.