Каковы значения в _ga cookie?

Я использую универсальную аналитику. универсальная аналитика создает первый файл cookie _ga

_ga=1.2.286403989.1366364567;

286403989 is clientId

1366364567 - временная метка

что такое 1 и 2 в _ga cookie?

2 ответа

_ga=1.2.286403989.1366364567;

Это поля с четырьмя точками. Это то, что я мог понять до сих пор:

1-е поле

Я не уверен, но я считаю, что это номер версии. В случае изменения формата файла cookie в будущем. Кажется, что в данный момент фиксировано значение 1.

Второе поле

Это поле используется для определения правильного файла cookie в случае, если несколько файлов cookie настроены на разные пути или домены.

По умолчанию cookie устанавливается на пути / и в домене на document.location.hostname(с удаленным префиксом www.).

У вас может быть набор cookie _ga на sub.example.com и еще один файл cookie, установленный на example.com. Поскольку способ использования API cookie в браузерах не позволяет определить, какой именно cookie вы используете.

Итак, второе число - это количество компонентов (разделенных точками) в домене.

  • для sub.example.com число будет 3
  • для example.com число будет 2

Путь по умолчанию равен /, но вы также можете изменить его, передав параметр cookiePath методу ga.create. Если вы пройдете, это поле будет разделено на две цифры. И второе число - это число слэшей в пути.

Используя эти числа, analytics.js script может корректно идентифицировать куки файл, который будет использоваться в случае, если установлено несколько файлов cookie.

например: Представьте, что у вас есть сайт, который живет на sub1.sub2.example.com/folder1, если вы хотите сохранить cookie только на своем сайте и не сделать его видимым для других поддоменов или папок, вы можете использовать следующие конфигурации:

ga('create', 'UA-XXXX-Y', {
 'cookiePath': '/folder1/',
 'cookieDomain': 'sub1.sub2.example.com'
});

В этом случае cookie будет выглядеть примерно так:

_ga=1.4-2.XXXXXXXX.YYYYYYY

Третье поле

Это случайный сгенерированный идентификатор пользователя. Используется для идентификации разных пользователей.

4-е поле

Это отметка времени, когда первый cookie был установлен для этого пользователя.

new Date(1366364567*1000)
> Fri Apr 19 2013 06:42:47 GMT-0300 (BRT)

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

Стоит упомянуть, что cookie - это не API. В будущем он может полностью измениться. Google не рекомендует напрямую читать/писать _ga cookie. Вы должны взаимодействовать с Google Analytics через одну из библиотек отслеживания, таких как analytics.js. Для этой информации, кроме любопытства, не так много пользы.

Если вы читаете/пишете непосредственно cookie, вы делаете это неправильно.


Думаю, было бы полезно:)

/**
 * Get Google Analytics UID
 * @return int
 */
public function getGAUID() {
 $uid = 0;
 if ($_COOKIE['__utma'])
 list($hash_domain, $uid, $first_visit, $prew_visit, $time_start, $num_visits) = sscanf($_COOKIE['__utma'], '%d.%d.%d.%d.%d.%d');
 elseif ($_COOKIE['_ga'])
 list($c_format, $c_domain, $uid, $first_visit) = sscanf($_COOKIE['_ga'], 'GA%d.%d.%d.%d');
 return $uid;
}

licensed under cc by-sa 3.0 with attribution.