Удаление Google Cookies с помощью лака

Я настраиваю лак на моем сервере и изучаю VCL (который я считаю очень аккуратным), и у меня есть следующее в vcl_recv Я пишу, что я не понимаю, зачем это нужно.

if (req.url ~ “\?(utm_(campaign|medium|source|term)|adParams|client|cx|eid|fbid|feed|ref(id|src)?|v(er|iew))=”) {
    set req.url = regsub(req.url, “\?.*$”, “”);
}

Это лишает Google Analytics отслеживания GIF-запроса к Google.

Зачем это необходимо для удаления запроса, поступающего на мой сервер, и не будет ли это разрушать отслеживание и аналитику моих клиентов?

1 ответ

Это не удаление какого-либо файла cookie, а повторная передача множества расширений / параметров URI (например, ver = somethingsomething). Лично я думаю, что если вы не написали это намеренно, не используйте его.

Что касается вопроса о том, какое влияние окажет удаление файлов cookie Google __utm * на аналитику. Вы ссылаетесь на какой-то внешний js-скрипт, клиент выбирает его, и Google выдает Set-Cookie, соответствующий вашему домену. Следующий запрос, который пользователь делает с ВАМИ, содержит этот файл cookie и, таким образом, не позволяет использовать независимый от пользователя кэш. Таким образом, вы удалите этот файл cookie на СВОЕЙ стороне. На аналитику Google это не влияет, так как обслуживаемый вами google.js не может читать заголовки на стороне сервера, а скорее на стороне клиента, иными словами, они не имеют функции для вашего сайта. Аналитики получили свою информацию, когда клиент запросил файл.js. Очевидно, что вы не должны создавать какие-либо файлы cookie с конфликтующими именами, поскольку это может вызвать проблемы.

Я в основном использую пример на varnish-cache.org:

if (req.http.Cookie) {
    set req.http.Cookie = regsuball(req.http.Cookie, "(^|; ) *__utm.=[^;]+;? *", "\1"); #     removes all cookies named __utm? (utma, utmb...) - tracking thing

    if (req.http.Cookie == "") {
        remove req.http.Cookie;
    }
}
Другие вопросы по тегам