Получение yclid на сайте для отслеживания конверсий

Параметр yclid добавляется в URL объявлений Яндекс Директа. Чтобы отслеживать конверсии по yclid, нужно настроить извлечение его значения из URL и сохранение на вашем сервере, а затем передавать в Яндекс Метрику в CSV-файле.

Перед началом работы убедитесь, что вы можете:
  • Изменять HTML-код страниц сайта так, чтобы сохранять значения параметра yclid из URL объявлений.
  • Сохранять значение параметра yclid вместе с информацией о посетителях, полученной на вашем сайте.

Шаг 1. Настройте сохранение yclid из URL объявлений Директа

В код страниц вашего сайта добавьте JavaScript-код для сохранения yclid в cookie. В примере ниже cookie присвоено имя yclid.
<script type="text/javascript">
function setCookie(name, value, days){
    var date = new Date();
    date.setTime(date.getTime() + (days*24*60*60*1000)); 
    var expires = "; expires=" + date.toGMTString();
    document.cookie = name + "=" + value + expires + ";path=/";
}
function getParam(p){
    var match = RegExp('[?&]' + p + '=([^&]*)').exec(window.location.search);
    return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
}
var yclid = getParam('yclid');
if(yclid){
    setCookie('yclid', yclid, 90);
}
</script> 

Рекомендуем поместить этот код в элемент body. Так вам не потребуется добавлять его каждый раз при создании рекламного объявления.

Шаг 2. Настройте извлечение значения yclid из cookie

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

Примечание. Код для передачи yclid можно написать на любом языке программирования, который поддерживается вашим сервером или браузером посетителя. В примере используется JavaScript.
<form action="" name="myForm">   
    Name: <input type="text" name="name">
    <!--Скрытое поле для извлечения yclid-->   
    <input type="hidden" id="yclid_field" name="yclid_field" value="">    
    <input type="submit" value="Submit Form" name="btnSubmit">  
</form>

<!--Извлечение yclid и изменение скрытого поля-->
<script> 
  function readCookie(name) { 
  var n = name + "="; 
  var cookie = document.cookie.split(';'); 
  for(var i=0;i < cookie.length;i++) {      
      var c = cookie[i];      
      while (c.charAt(0)==' '){c = c.substring(1,c.length);}      
      if (c.indexOf(n) == 0){return c.substring(n.length,c.length);} 
  } 
  return null; 
  } 
  window.onload = function() {      
      document.getElementById('yclid_field').value = 
  readCookie('yclid'); 
  } 
</script>

Обратите внимание: служба поддержки не обзванивает пользователей. Не следуйте указаниям людей, которые вам звонят и представляются службой поддержки Яндекс Метрики.