Подтвердить что ты не робот

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

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

 _ga=1.2.286403989.1366364567;

286403989 is clientId

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

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

4b9b3361

Ответ 1

_ga=1.2.286403989.1366364567;

1-е поле

Это номер версии. В случае изменения формата файла cookie в будущем. Кажется, теперь фиксируется на 1. Один выше - старый формат. Новые cookie имеют это значение, установленное в "GA1"

2-е поле

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

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

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

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

  • для sub.example.com число будет 3
  • например, номер будет 2

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

Используя эти числа, сценарий analytics.js может корректно идентифицировать куки файл, который будет использоваться, если есть несколько файлов 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

Третье поле

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

Четвертое поле

Это отметка времени, когда 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, вы делаете это неправильно.

Ответ 2

Я думаю, это было бы полезно.

/**
 * 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;
}