Какие значения в _ga cookie?
Я использую универсальную аналитику. универсальная аналитика создает первый файл cookie _ga
_ga=1.2.286403989.1366364567;
286403989 - это идентификатор клиента
1366364567 - отметка времени
что такое 1
а также 2
в _ga cookie?
2 ответа
_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
- для example.com число будет 2
Путь по умолчанию к /
но вы также можете изменить его, передав cookiePath
вариант к ga.create
метод. Если вы передадите его, это поле станет разделенным тире на 2 числа. И второе число - это число косых черт в пути.
Используя эти числа, скрипт analytics.js может правильно определить cookie, которые будут использоваться в случае, если установлено несколько файлов cookie.
Например: представьте, что у вас есть сайт, который находится по адресу sub1.sub2.example.com/folder1, на случай, если вы хотите сохранить cookie только на своем сайте и не делать его видимым для других поддоменов или папок, вы можете использовать следующие конфиги:
ga('create', 'UA-XXXX-Y', {
'cookiePath': '/folder1/',
'cookieDomain': 'sub1.sub2.example.com'
});
В этом случае печенье будет выглядеть примерно так;
_ga=1.4-2.XXXXXXXX.YYYYYYY
3-е поле
Это случайно сгенерированный идентификатор пользователя. Используется для идентификации разных пользователей.
4-е поле
Это отметка времени, когда cookie-файл был установлен для этого пользователя.
new Date(1366364567*1000)
> Fri Apr 19 2013 06:42:47 GMT-0300 (BRT)
Это также используется для уникальной идентификации пользователей в случае коллизий userId.
Стоит отметить, что cookie не является API. В будущем это может полностью измениться. Google не рекомендует читать / писать файлы cookie _ga напрямую. Вы должны взаимодействовать с 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;
}
Написано на NodeJS с синтаксисом ES6. Может кому-нибудь помочь?
// Example: GA1.2.494614159.1574329064
const gaCookieGeneration = ({ version = 1, domain, rootpath = '/' }) => {
const subdomains = (domain.match(/./) || []).length + 1;
const rootpathDirs = (rootpath.match(/\//) || []).length;
const cookiePath = rootpathDirs > 1 ? `-${rootpathDirs}` : '';
const uniqueId = Math.random().toString().substr(2, 9);
const timeStamp = (+new Date()).toString().substr(0, 10);
return `GA${version}.${subdomains}${cookiePath}.${uniqueId}.${timeStamp}`;
};
const gaCookie = gaCookieGeneration({
domain: '.example.com',
});