Stape

Как настроить дедупликацию событий Facebook в Google Tag Manager

Автор
Stape
Опубликовано
March 12, 2021
Также мы есть в

Использование отслеживания на стороне сервера Facebook (Facebook Conversions API) становится все более популярным благодаря его способности предотвращать блокировку пикселей отслеживания со стороны ITP и AdBlockers. Еще одно значительное преимущество Facebook Conversions API заключается в том, что он увеличивает продолжительность жизни FB cookie. Если вы еще не внедрили FB Conversions API на своем сайте, следуйте этому руководству

В этой статье я опишу, как настроить дедупликацию событий Facebook, если вы используете для своего сайта как браузерные, так и серверные методы отслеживания.

Зачем нужно настраивать дедупликацию событий Facebook?Скопировать ссылку на этот раздел

Пиксель Facebook и Conversions API позволяют вам обмениваться стандартными и пользовательскими событиями с FB, чтобы вы могли измерять и оптимизировать эффективность рекламы. Пиксель позволяет делиться веб-событиями из веб-браузера, а Conversions API позволяет делиться веб-событиями непосредственно с облачного сервера. 

И Facebook pixel, и Facebook conversion API позволяют отправлять события. Под событиями я подразумеваю действия клиентов. Разница в том, что pixel отправляет события из браузера, а CAPI - с сервера. Если вы укажете Facebook, что браузер и серверный метод посылают одинаковые события, то он примет одни данные и исключит другие.

Существует несколько способов настройки отслеживания Facebook, включая следующие:

1. Использование исключительно браузерного (пиксельного) метода. Не рекомендуется FB из-за ограничений на отслеживание пользователей. 

2. Использование только серверного отслеживания. Основное преимущество отслеживания только на сервере заключается в том, что пиксель FB не будет загружать ваш браузер. Ваш сайт будет загружаться быстрее, и это приведет к лучшему пользовательскому опыту. 

3. Комбинирование отслеживание в браузере и на сервере. Здесь у вас есть несколько вариантов: 

•  Отправлять одни события из браузера, а другие - из сервера. Например, встроенная интеграция Shopify с FB Conversion API будет отправлять все события FB через браузер, а события покупки - с сервера. В этом случае вам не нужна дедупликация. 

•  Отправлять все события из браузера и с сервера. 

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

Facebook требует отправки двух параметров события для дедупликации событий: имя события и идентификатор события. Вы уже отправили имя события при существующей настройке. В этой статье мы рассмотрим, как настроить идентификатор события Facebook внутри контейнера Google Tag Manager.

Как работает дедупликация событий Facebook?Скопировать ссылку на этот раздел

У Facebook есть два способа выявления дублирующихся событий, которые были отправлены из браузера и с сервера:

1. ID и название события.

Facebook рекомендует этот метод, и мы рассмотрим его в нашем руководстве. Для этого метода вы должны использовать ID события для всех событий, которые вы отправляете через пиксели и CAPI. FB будет дедуплицировать события Facebook Pixels и Conversion API с идентичными именами событий и ID событий. Facebook придает большее значение событию браузера, и если они видят похожие события с разницей в 5 минут, они оставят события браузера и очистят события сервера. 

2. FBP или внешний ID

Этот метод существует, но не рекомендуется Facebook. В этом случае вам нужно будет отправить имя события, fbp и/или external_id для всех событий браузера и сервера. Facebook сравнивает все эти параметры и определяет, есть ли уже событие браузера с такими параметрами, и если есть, то отклоняет события сервера. FB не рекомендует использовать эти события, поскольку они могут определить дедупликацию только в том случае, если первым было отправлено событие браузера. Это означает, что если вы сначала отправите серверное событие, события будут дублироваться. 

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

Как настроить дедупликацию событий Facebook через Google Tag Manager?Скопировать ссылку на этот раздел

Мы создали пользовательскую Google Tag Manager переменную (variable), которая будет добавлять уникальный идентификатор события к событиям Facebook в браузере и на сервере. Это позволит вам отслеживать пользователей как из браузера, так и с сервера и дедуплицировать события. Этот метод будет работать, если ваш пиксель Facebook настроен внутри веб-контейнера Google Tag Manager и если Facebook conversion API настроен через серверный контейнер Google Tag Manager.

1. Вам необходимо настроить Facebook conversion API через серверный контейнер Google Tag Manager. Пожалуйста, следуйте этому руководству, если он еще не настроен на вашем сайте. 

2. Нажмите на эту ссылку, чтобы загрузить пользовательскую переменную (variable), которая отправляет уникальный идентификатор события; или же добавьте через Template Gallery

3. (GitHub метод) Перейдите в Google Tag Manager Web Container и импортируйте переменную, которую вы только что загрузили. Нажмите Шаблоны -> Новый (внутри шаблонов переменных) -> нажмите на три точки в правом верхнем углу -> Импорт -> выберите variable -> После завершения нажмите Сохранить.

template gallery import
variable templates new

4. Добавьте это переменную во все события Facebook, которые у вас есть внутри веб-контейнера. 

Существует два способа добавления переменных: использование пользовательского шаблона для тегов FB и добавление тегов FB как пользовательского HTML. 

Если вы используете шаблон FB: 

Откройте Facebook Tag → Нажмите More Settings → Добавьте переменную в поля Event ID → Нажмите Save. 

event id 

Если вы добавили FB-теги с помощью custom HTML:

Откройте тег Facebook → добавьте параметр ID события в событие Facebook → нажмите Сохранить. 

{eventID: '{{Идентификатор события}}'

html facebook
!

Выполните следующие шаги, если вы используете Universal Analytics. Если вы используете GA4, прокрутите вниз до шага 9.

5. На этом шаге мы настроим установку, которая будет передавать тот же ID события в серверный контейнер Google Tag Manager. По-скольку наш серверный тег Facebook работает на основе событий Google Analytics, мы добавим ID событий Facebook в теги Google Analytics внутри веб-контейнера. В этом примере я отправлю идентификатор события в Google Analytics Custom Dimension. Вы можете отправить его через другие поля.

Откройте тег Google Analytics внутри веб-контейнера → Нажмите More settings → Custom Dimension → Add index и выберите ID события переменной.

Добавьте ID события Facebook ко всем пользовательским измерениям GA (или другим выбранным вами параметрам), которые вы хотите отслеживать внутри серверного контейнера. 

После этого перейдите в режим предварительного просмотра и убедитесь, что все работает правильно. Затем опубликуйте обновления. 

tag details
event id

6. Перейдите в  Google Tag Manager Server Container → щелкните Variables → New Variable → выберите variable type Query Parameter → имя параметра cd1 (в моем случае, потому что индекс пользовательского измерения, которое я создал в веб-контейнере, равен 1) → щелкните Save. 

7. Перейдите в режим предварительного просмотра и проверьте, что серверный контейнер Google Tag Manager видит созданную вами переменную. 

variable configuration
facebook event id

8. Откройте Facebook Tag внутри серверного контейнера Google Tag Manager → нажмите Server Event Data Override → в Property Name выберите Event ID → в Property Value выберите variable, которую вы создали в серверном контейнере. 

Добавьте Event ID Variable ко всем тегам Facebook внутри серверного контейнера. Как только тег перейдет в режим предварительного просмотра на сервере, этот тест изменится. 

Event ID Variable
Event ID Variable
!

Следующие шаги предназначенны для настройки идентификатора события через GA4. Если вы используете UniversalAnalytics, перейдите к шагу 13

9. Создайте или используйте существующий тег события GA4 внутри веб-контейнера -> Параметры события -> Добавьте event_id в качестве имени параметра и выберите переменную Event ID в качестве значения. Также проверьте, какой триггер вы используете для события GA4. Вы всегда должны использовать один и тот же триггер для тега Facebook и GA4 для одинаковых событий. Например, теги GA4 и FB add to cart должны использовать один и тот же триггер, в этом случае ID события будет идентичным. Добавьте идентификатор события Facebook ко всем тегам событий GA4, которые вы хотите отслеживать внутри серверного контейнера.

evend id

Как только вы это сделали, перейдите в режим предварительного просмотра и убедитесь, что все работает правильно. Затем опубликуйте обновления.

10. Перейдите в Google Tag Manager Server Container → нажмите Variable -> New Variable → выберите тип variable Event Data → Key path event_id (в моем случае, потому что имя параметра, который я создал в веб-контейнере, - event_id) → нажмите Save.

variable configuraiton

11. Откройте Facebook Tag в серверном контейнере Google Tag Manager → нажмите Server Event Data Override → в Property Name выберите Event ID → в Property Value выберите variable, которую вы создали в серверном контейнере.

server event data override

Добавьте Event ID Variable ко всем тегам Facebook внутри серверного контейнера. Как только тег перейдет в режим предварительного просмотра на сервере, этот тест изменится. 

12. Перейдите в режим предварительного просмотра и проверьте, что event_id varieble, которую вы создали в веб-контейнере, совпадает с той, которую вы отправляете в Facebook.

event_id varieble
event_id varieble

13. На этом этапе мы проверим, что дедупликация событий Facebook сработала. Перейдите в инструмент Test Event внутри Facebook Business Manager -> Убедитесь, что вы добавили тестовый ID в теге Facebook внутри серверного контейнера Google Tag Manager -> Проверьте, что Facebook показывает события сервера и браузера в инструменте тестирования и одно из событий было дедуплицировано. 

pageview

14. Не забудьте опубликовать свои изменения.

ЗаключениеСкопировать ссылку на этот раздел

Facebook conversion API - отличное решение, если вы хотите более точно отслеживать пользователей вашего сайта, обходить блокировщики рекламы и ITP, а также увеличить время работы cookie.  При использовании комбинированного метода с использованием сервера и браузера вы все равно будете запускать пиксели Facebook в браузере, что утяжелит ваш сайт. Используя этот метод, вы можете быть на 100% уверены, что не пропустили ни одного пользователя или события на вашем сайте. 

Если у вас есть вопросы или комментарии по поводу внедрения дедупликации событий Facebook, пожалуйста, дайте мне знать в комментариях.

Теги:Facebook

Хостите свой сервер GTM на Stape

Регистрируясь, вы соглашаетесь с Terms and Conditions и Privacy Policy Stape