Skip to content

Instantly share code, notes, and snippets.

@TrywaR
Last active June 2, 2019 20:09
Show Gist options
  • Save TrywaR/c6adbdba5f88d5fcc866a467131fcbd7 to your computer and use it in GitHub Desktop.
Save TrywaR/c6adbdba5f88d5fcc866a467131fcbd7 to your computer and use it in GitHub Desktop.
Отслеживаем откуда перешёл пользователь, в зависимости от этого показываем номер телефона, почту и тд
<?php
// Параметры
// $html = ''; Вывод с html
// $need = ''; Что нужно вывести, телефон или тд
if (!$need)
$need = 'phone'; // По умолчанию выводим телефон
$arrParam = array(
'google' => array(
'title' => 'Google good!',
'phone' => '777',
),
'yandex' => array(
'title' => 'Хуяндекс = говно!',
'phone' => '888',
),
'mail' => array(
'title' => 'Майл = говно!',
'phone' => '999',
)
);
// - Параметры по умолчанию
$arrDefaultParam = array(
'phone' => '123',
);
// Переходы с рекламы
// Для Яндекса
if (isset($_GET['utm_source']) && $_GET['utm_source'] == 'yandex.direct') {
// Меняем контент
$arrDefaultParam = array(
'phone' => '444',
);
}
// Для Google
if (isset($_GET['gclid'])) {
// Меняем контент
$arrDefaultParam = array(
'phone' => '555',
);
}
if (!$_SESSION['HTTP_REFERER'])
$sRefferUlr = $_SERVER['HTTP_REFERER'];
else
$sRefferUlr = $_SESSION['HTTP_REFERER'];
// Параметры х
// Ищем подходящий массив с параметрами
foreach ($arrParam as $sSiteName => $arrValues)
if (strripos($sRefferUlr, $sSiteName) != false)
$result = $arrValues[$need];
// Если не нашли то выводим значение по умолчанию
if (!$result)
$result = $arrDefaultParam[$need];
// Сохраняем в сессию чтобы не про..терять
if (!$_SESSION['HTTP_REFERER'])
$_SESSION['HTTP_REFERER'] = $sRefferUlr;
// Оформляем вывод при необходимости
if (isset($html)) {
if ($need === 'phone') {
$sPhoneClean = str_replace("+", "", $result);
$sPhoneClean = str_replace("(", "", $sPhoneClean);
$sPhoneClean = str_replace(")", "", $sPhoneClean);
$sPhoneClean = str_replace("-", "", $sPhoneClean);
$sPhoneClean = str_replace(" ", "", $sPhoneClean);
$result = '
<a href="tel:'.$sPhoneClean.'">
'.$result.'
</a>
';
}
}
// Выводим
return $result;
@TrywaR
Copy link
Author

TrywaR commented Jun 2, 2019

Создаём сниппет, обзываем например CallTracking, внего пихаем такой код

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment