Отслеживание и сбор данных является одной из ключевых составляющих успеха бизнеса в интернете. В этой статье я расскажу о том, как происходит отслеживание, какие методы бывают, их преимущества и недостатки, а также поделюсь своим опытом использования нового способа отслеживания - 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 tracking
Client-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 tracking
Server-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 может стать хорошей альтернативой. 

Комментарии (11)


  1. lola_kochieva
    29.10.2022 02:19

    Интересно, спасибо) я знала что есть client-side tracking, и все компании, в которых я работала, использовали client-side tracking. Но про server-side tracking не знала


  1. BugM
    29.10.2022 02:27
    +2

    А уников вы как считаете? А если без логинвалла?


    1. Sabina_Shukyurova Автор
      29.10.2022 16:03

      Отличный вопрос! В общем виде, для каждого пользователя создается unique id, который затем хранится на сервере. Когда пользователь совершает конверсию, этот unique id мэппится к тому, что был создан при изначальном взаимодействии. 
      Это довольно широкая тема, я бы посоветовала глянуть вот этот материал https://www.linkedin.com/pulse/straightforward-simple-server-side-tracking-guy-erez/, мне кажется, он наиболее подробный по ней.


      1. BugM
        29.10.2022 16:14

        То есть ставите туже самую AD куку что и все. А чтобы получать нормальную аналитику нужна интеграция с большими ребятами, которые что-то знают про ваши ID и умеют во всякий антифрод.

        А не проще сразу взять готовое решение? Вот от Гугла например: https://developers.google.com/tag-platform/tag-manager/server-side/intro


  1. akuleshov7
    29.10.2022 14:28
    +1

    Мне кажется, что на хабр можно было не объяснять так подробно, что такое сервер и клиент, но в остальном - отличная статья!

    Надо сделать ещё цикл статей про то, как пользователю обходить и запрещать слежку и считывание метрик :)


  1. olku
    30.10.2022 17:42
    +2

    Очень поверхностно. Создаётся впечатление, что GDPR это про куки, но если трекать на сервере, то передавай данные кому хошь. Неа.


    1. Sabina_Shukyurova Автор
      30.10.2022 18:40
      +1

      Конечно, нельзя передавать все что угодно и кому хочешь) Серверный трекинг никак не будет изменять законодательство о передаче данных. Но он сможет наделить использующих его большим количеством контроля, чтобы быть compliant.


      1. olku
        30.10.2022 19:04
        +1

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


        1. Sabina_Shukyurova Автор
          30.10.2022 20:04

          Я в предложении выше говорю об акторах, осуществляющих сбор данных. Контроль над данными при серверном отслеживании определенно будет выше.


  1. olku
    31.10.2022 23:05

    Три момента для тех, кто решит воспользоваться статьей всерьез.

    server-side tracking - это сбор данных первой стороной
    Так они говорят. Но если маскировку third-party под first-party, например, с помощью CNAME Cloaking еще можно отследить, то проксирование серверных логов "на сторону" - только косвенно по слитым данным.

    Client-side Не отвечает современным запросам на приватность данных
    Вероятно, не отвечает жадности трекеров. :) Например, регулятор ЕС принуждает вебмастеров получать явное информированное согласие, на клиенте, для каждого стороннего получателя данных.

    Игнорирование сервером настройки браузера Global Privacy Control в некоторых юрисдикциях может дорого стоить - https://oag.ca.gov/news/press-releases/attorney-general-bonta-announces-settlement-sephora-part-ongoing-enforcement. Заголовок DNT не вышло интегрировать в правила регуляторов, теперь вторая попытка.


    1. BugM
      31.10.2022 23:34
      +1

      Сайты жить хотят. Стоит ли их за это винить?

      Возьмем однозначно хороший flightradar24. И список его рекламных партнеров https://www.flightradar24.com/privacy-policy#usageInformation Вы действительно хотите прокликивать их всех галочками соглашаясь перед тем как посмотреть на самолетики? Куки плашки еще недостаточно бесят? Надо кликать 100+ галочек обязательно?

      А да. Если все посетители не прокликают их все сайт умрет. И не будет однозначно хорошего сайта flightradar24. Тоже не очень выход как по мне.