Google Analytics — Как получить UTM с помощью PHP?

Я новичок в UTM (модуль отслеживания Urchin) и хочу получить параметры UTM, по которым пользователь нажимал ссылку (например, facebook, google, twitter), и сколько раз пользователь нажимал на ссылку с тем же источником utm и сохранял ее. в базу данных MySQL.

У меня есть фрагмент PHP, но параметры utm не были получены и сохранены в базе данных.

Как это исправить?

if(isset($_SERVER['HTTP_REFERER'])){
$utm_source = isset($_GET['utm_source']) ? $_GET['utm_source'] : '';
$utm_medium = isset($_GET['utm_medium']) ? $_GET['utm_medium'] : '';
$utm_campaign = isset($_GET['utm_campaign']) ? $_GET['utm_campaign'] : '';
$utm_term = isset($_GET['utm_term']) ? $_GET['utm_term'] : '';

echo $_SERVER['HTTP_REFERER'];

$sql = "INSERT INTO utm_param(utm_source,utm_medium,utm_campaign)
VALUES('".$conn->real_escape_string($utm_source)."',
'".$conn->real_escape_string($utm_medium)."',
'".$conn->real_escape_string($utm_campaign)."')";
}

структура таблицы utm_param db

Опишите utm_param;

0

Решение

Прежде чем беспокоиться о получении значения атрибутов UTM, у вас есть проблема безопасности, требующая некоторого внимания. В настоящее время вы принимаете необработанный (небезопасный) пользовательский ввод (через $_POST['var']) и помещать его прямо в запрос к базе данных, что является небезопасной практикой, допускающей внедрение SQL-кода (например, злонамеренный пользователь может отправить вам специально созданную строку, которая дает ему возможность делать с вашей базой все, что угодно).

Пожалуйста, прочитайте этот вопрос переполнения стека о том, как избежать внедрения SQL в PHP.

Как правило, стандарт utm параметры для отслеживания того, откуда пользователь приходит из строки запроса, например:

http://yoursite.com?utm_source=google&utm_campaign=campaign_name

Если вы не делаете что-то нестандартное, это будет GET-запрос к вашему серверу (в отличие от POST), поэтому ваши переменные будут доступны через суперглобальный $ _GET. Например $_GET['utm_source'] а также $_GET['utm_campaign']

Глядя на схему таблицы, вам также может понадобиться добавить auto_increment в столбец идентификатора, чтобы он автоматически получал значение при добавлении новой строки.

ALTER TABLE `utm_param`
CHANGE COLUMN `id` `id` INT(100) NOT NULL AUTO_INCREMENT;
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]