О способах отслеживания данных — простыми словами. Server-side vs client-side tracking: преимущества и недостатки

Отслеживание и сбор данных является одной из ключевых составляющих успеха бизнеса в интернете. В этой статье я расскажу о том, как происходит отслеживание, какие методы бывают, их преимущества и недостатки, а также поделюсь своим опытом использования нового способа отслеживания — server-side tracking — в Fintech индустрии. Я постаралась рассказать об этом простыми словами и понятно структурировать информацию (мне в свое время не хватало именно таких статей для погружения в тему), и очень надеюсь, что эта статья будет для вас полезной. 

Итак, начнем. 

Выделяют два основных вида отслеживания потока транзакций: client-side tracking и server-side tracking. 

Кто тут клиент, а кто тут сервер?

Для начала, давайте разберемся, что такое «клиент» и «сервер», т.к. отсутствие понимания этих терминов часто приводит к путанице.

Допустим, вы решили посетить вебсайт. То, что реально произойдет в этом случае — ваш браузер загрузит для вас копии страниц и покажет их вам. Для этого ваш браузер, подобно клиенту в ресторане, сделает запрос на получение определенных страниц, а центральный компьютер отправит — «сервирует» — эти данные для браузера. Таким образом, ваш браузер выступит в роли клиента, а центральный компьютер, обладающий данными — страницами вебсайта — сервером. Помимо веб-браузера, клиентами могут быть, например, ваше мобильное устройство или приложение. 

А как тут участвуют идентификационные теги?  

Дело в том, что помимо копий страниц, ваш браузер или приложение зачастую загружает идентификаторы — кусочки кода, которые запоминают ваш браузер (например, файлы cookies)  или устройство и собирают информацию о посещенных страницах, времени посещения, и т.д. Эти данные затем используются аналитиками данных или маркетологами для решения бизнес-задач. 

Так, понятно, а что за методы сбора данных? Как они работают?  

Таких методов два — client-side tracking и server-side tracking. 

Client-side tracking, или сбор данных на стороне клиента является традиционным, более часто используемым методом. При таком методе добавление тега происходит как в примере выше — с помощью идентификатора в браузере или в приложении. Т.е. действие происходит на «клиентской» стороне — что и обусловило такое название. Информация отправляется напрямую из браузера пользователя или его мобильного устройства и поступает далее на сервер аналитического сервиса (например, это может быть нередко используемые Google Analytics для вебсайтов или Google Analytics for Firebase — для приложений). Взаимодействие клиента и аналитического сервиса происходит без посредников.

Client-side trackingClient-side tracking

В качестве сноски замечу, что несмотря на то, что именно этот способ традиционно использовался для трекинга в качестве основного, в последнее время он вызывает все больше сомнений в бизнес- и технологических кругах из-за вопросов конфиденциальности и приватности данных. Дело в том, что client-side tracking опирается на использование third-party cookies, то есть на использование кусочков кода, созданного «третьей стороной» — напрямую не относящейся к вебсайту, который посещает пользователь (например, cookie, созданная рекламодателем, размещающимся на этом вебсайте). У самого вебсайта будет в этом случае крайне лимитированная информация и контроль над функционированием таких cookie. В результате, у пользователей могут возникать опасения, кто и как использует эти данные, собранные об их поведении онлайн. Этот аспект постепенно начинает регулироваться; так, согласно регламенту о защите данных в Европе (GDPR) вебсайты не могут больше использовать third-party cookies без согласия пользователя. В сфере мобильных приложений сами технологические компании делают шаги по изменению ландшафта трекинга из-за возросшего запроса на конфиденциальность данных. Например, взбудоражившая диджитал-сферу ликвидация включенного по умолчанию IDFA (Identifier for Advertisers) трекинга компанией Apple была подобным шагом. 

Server-side tracking (aka server-to-server, S2S), или сбор данных на стороне сервера. В этом случае отслеживание происходит не «на клиенте» — прямо в браузере или мобильном устройстве — , а на сервере. При такой схеме, веб-контейнер сохраняется, однако он будет значительно компактнее (а значит,   быстрее) и нацелен на сбор данных по интересующему событию (а не на выполнение множества скриптов разных систем — аналитики, third-party и т.д.). В этом случае third-party cookies не используются вовсе, то есть сбор данных осуществляется только первой стороной. При этом добавляется звено-посредник — облачный сервер. Этот облачный сервер принадлежит (точнее, арендуется) владельцу сайта/приложения.  Именно туда и направляется полученный запрос от клиента и данные по нему. Далее в облачном сервере происходит обработка данных и их перенаправление в конечные точки сбора. При этом степень управления и контроля над облачным сервером очень высока. Например, владелец облачного сервера определяет, какие именно данные и в каком виде будут доступны серверам третьей стороны.

Server-side trackingServer-side tracking

А зачем нам усложнять процесс сбора данных звеном-посредником?  

Появление дополнительного звена в сборе данных — облачного сервера — нацелено на то, чтобы решить ряд сложностей, сопряженных с привычным, client-side tracking методом. В частности, наличие облачного сервера решает вопросы скорости загрузки страниц, контроля и приватности данных , а также блокировщиков рекламы, которые снижают точность собираемых данных. 

Получается, у server-side tracking есть значительные преимущества? А есть ли недостатки?

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

Аспекты

Client-side

Server-side

Простота внедрения

Прост во внедрении. Зачастую существуют уже готовые фрагменты кода, которые можно скопировать и внедрить.

Потребуется дополнительное время разработчиков на установку и запуск облачного сервера

Тестирование и отладка

Проще тестировать 

Нет привычных инструментов отладки

Стоимость 

Как правило, дешевле, т.к. не нужно платить за облачный сервер

Как правило, дороже

Безопасность/Защита данных 

Лимитированный контроль за тем, какие данные собираются 

Более защищенный; высокая степень контроля над экземпляром сервера и передачей данных третьим сторонам

Приватность/комплайенс

Не отвечает современным запросам на приватность данных

Соблюдаются требования приватности; поскольку server-side tracking —  это сбор данных первой стороной, (а сбор данных третьей стороной не происходит), он соответствует различным регламентам по защите персональных данных, например, GDPR

Скорость загрузки страниц

Скорость загрузки страниц снижается, особенно если используются теги нескольких аналитических систем (они увеличивают нагрузку на браузер/мобильное устройство)

Быстрее; конечные пользователи получают улучшенную производительность за счет снижения нагрузки тегов, выполняемых в браузере/устройстве пользователя.

Точность данных 

Блокировщики рекламы, различные браузерные ограничения и удаление пользователями cookie негативно влияют на точность сбора данных

Поскольку все запросы обрабатываются на стороне сервера, а не на стороне браузера, блокировщики рекламы, ITP никак не влияют на точность данных

CRM/offline данные

Нельзя добавить (ввиду прямого взаимодействия конечных систем и браузера/мобильного устройства) 

Можно добавить релевантные CRM данные, например по событиям, произошедшим уже оффлайн — за пределами сайта или приложения

На последнем пункте имеет смысл остановиться отдельно. Он зачастую опускается при перечислении основных преимуществ и недостатков способов трекинга, однако, на мой взгляд, может оказывать существенное влияние на ваши бизнес-процессы, например улучшить эффективность вашей рекламы. 

Что за CRM данные и чем они могут быть полезны при трекинге?

Некоторые отслеживаемые события, которые имеют большое значение как для аналитики, так и непосредственно для настройки эффективных рекламных кампаний, происходят вне среды браузера или приложения пользователя. 

Например, продолжительное время я сотрудничала с компаниями в сфере Fintech, и такими событиями для них являлись подтвержденный перевод или подтвержденный депозит (в отличие от неподтвержденного депозита, событие по которому происходило в приложении). Эти данные были доступны в CRM системе, и добавление их в систему аналитики предоставляет возможность анализа более «полезных», более коррелирующих с прибылью данных. Кроме того, их непосредственное добавление в рекламный аккаунт в качестве цели, могут повысить эффективность работы этих кампаний (т.к. алгоритм в качестве цели будет ориентироваться на более «полезное» для бизнеса событие). Собственно, эти предположения оправдались. Эффективность рекламных кампаний по ROI возрастала на 10–20%. 

Так какой способ лучше выбирать? Выводы

Ответ на этот вопрос зависит от того, какими возможностями вы располагаете и какие данные и для каких целей собираете. Если для вас в приоритете сэкономить время (как на внедрение, так и на тестирование, отладку и устранение ошибок) и деньги, то выбирайте client-side tracking. Именно этот способ является привычным и стандартным при отслеживании. Если у же есть потребность в дополнительной точности данных,   их конфиденциальности, передаче событий из CRM, и у вас есть возможность направить ресурсы разработчиков на подобный проект — server-side tracking может стать хорошей альтернативой. 

© Habrahabr.ru