$_SERVER['HTTP_REFERER'] - работает если я перехожу с гугл, а если я перехожу с метки UTM нет
$utm = $output['utm_term'] - адекватно извлекает метку
Написал сниппет
Код сниппета:
<?php
@session_start();
if(isset($_SERVER['HTTP_REFERER'])){
if($_SESSION["referer"] == '') $_SESSION["referer"] = $_SERVER['HTTP_REFERER'];
}
//$referer = "http://xxx.ru/xxx?utm_source=yandex&utm_medium=cpc&utm_campaign=17188546&utm_content=1823884480&utm_term=%D0%B1%D0%BB%D0%B5%D1%84%D0%B0%D1%80%D0%BE%D0%BF%D0%BB%D0%B0%D1%81%D1%82%D0%B8%D0%BA%D0%B0&yclid=1826291325305359810"; //(isset($_SESSION["referer"]))? $_SESSION["referer"] : 'Реферальная ссылка не определена' ;
$referer = $_SERVER['HTTP_REFERER'];
if (stristr($referer, 'yandex.ru')) { $search = 'text='; $crawler = 'Yandex'; }
if (stristr($referer, 'rambler.ru')) { $search = 'words='; $crawler = 'Rambler'; }
if (stristr($referer, 'google.ru')) { $search = 'q='; $crawler = 'Google'; }
if (stristr($referer, 'google.com')) { $search = 'q='; $crawler = 'Google'; }
if (stristr($referer, 'mail.ru')) { $search = 'q='; $crawler = 'Mail.Ru'; }
//if (stristr($referer, 'yahoo.com')) { $search = 'q='; $crawler = 'Yahoo'; }
if (stristr($referer, 'bing.com')) { $search = 'q='; $crawler = 'Bing'; }
if (stristr($referer, 'qip.ru')) { $search = 'query='; $crawler = 'QIP'; }
if (isset($crawler)){
$phrase = urldecode($referer);
preg_match('/'.$search.'([^&]*)', $phrase.'&', $phrase_k);
$phrase = $phrase_k[1];
$referer = $crawler;
}
if(isset($crawler)){
echo 'Ключи: '.$phrase.' Источник: '.$referer;
}else{
$phrase = urldecode($referer);
parse_str($referer, $output);
$utm_source = $output['utm_source'];
$utm = $output['utm_term'];
echo ' UTM: '.$utm.' Источник: '.$referer;
}
Подскажите что можно исправить, чтобы сниппет корректно работал?