Conversions API для серверного Google Менеджера тегов

Conversions API обеспечивает прямую связь между вашими маркетинговыми данными и системами, которые помогают оптимизировать таргетинг рекламы, снизить цену за действие и измерить результаты при использовании различных технологий Meta. Сервер, установленный на платформе Google Cloud Platform (GCP) или у другого поставщика облачных сервисов, можно настроить для отправки основных данных веб- и офлайн-событий через Conversions API. Настроив веб-тег Google Аналитики 4 (GA4), вы сможете отправлять эти данные на свой сервер, размещенный на платформе GCP, а затем в Meta через Conversions API.

Тег Conversions API написан и поддерживается Meta на базе пользовательского шаблона тега Google. По всем вопросам относительно настройки продуктов Google и документации для разработчиков обращайтесь в компанию Google.

В этом документе описаны:

  • предварительные требования, в том числе информация о создании серверного контейнера;
  • настройка контейнера для поддержки реализации веб-тега Google Аналитики 4;
  • отправка данных с вашего сайта на сервер GCP;
  • передача этих данных в Meta через Conversions API;
  • Часто задаваемые вопросы

Предварительные требования

Перед внедрением этой интеграции рекомендуем вам:

  1. Ознакомиться с интеграцией Conversions API и рекомендациями по настройке.
  2. Ознакомиться с информацией о добавлении тегов на стороне сервера и о пользовательском шаблоне тега.

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

Интеграция

Создание серверного контейнера Google Менеджера тегов

Необходимо настроить серверный контейнер и веб-контейнер:

  • Веб-контейнер. Если вы впервые используете Google Менеджер тегов, начните с установки веб-контейнера в своем аккаунте. Подробнее…
  • Серверный контейнер. Для настройки URL сервера тегов нужно создать серверный контейнер на портале Google Менеджера тегов. Подробнее…

Для настройки серверного контейнера необходимо настроить сервер тегов. Развернуть GCP по умолчанию можно при настройке серверного контейнера. Обратитесь к этому руководству. Информацию для других поставщиков облачных сервисов (например, AWS или Microsoft Azure) см. в руководстве по настройке сервера вручную.

Настройка веб-контейнера и серверного контейнера

  1. В веб-контейнере создайте следующие артефакты:
    • конфигурацию GA4 для настройки URL сервера тегов;
    • событие GA4 для настройки схемы событий, предоставляемой серверу.
  2. В серверном контейнере создайте следующие артефакты:
    • клиент GA4, который отслеживает события и отправляет их в Meta;
    • тег Meta Conversions API на стороне сервера, который преобразует стандартную модель событий клиента GA4 в схему событий Conversions API и отправляет ее в graph.facebook.com.

Шаг 1. Настройка GA4 — настройка URL сервера тегов

Настройте веб-контейнер, чтобы отправлять данные со своего сайта на созданный сервер тегов. Подробнее о настройке тега конфигурации Google Аналитики 4…

  • Если вы установили флажок Отправлять в серверный контейнер, укажите в поле URL серверного контейнера URL сервера тегов.
  • Если вы не установили флажок Отправлять в серверный контейнер, в разделе Поля, которые необходимо задать нажмите Добавить строку и укажите следующее:
    • имя поля — transport_url;
    • значение поля — URL сервера тегов.

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

  • Установите для флага first_party_collection значение true. Это необходимо для передачи параметров user_data в серверный Google Менеджер тегов. В разделе Поля, которые необходимо задать нажмите Добавить строку и укажите следующее:
    • имя поля — first_party_collection;
    • значение поля — true.

Использование существующего тега конфигурации GA4

Если у вас уже настроена конфигурация GA4, вы можете изменить ее или создать дополнительный тег конфигурации для серверного Google Менеджера тегов.

Если вы настраиваете серверный Google Менеджер тегов впервые, после добавления URL серверного контейнера в него станет отправляться весь трафик. Чтобы данные и дальше отправлялись в GA4, необходимо добавить серверный тег GA4 в серверный контейнер, чтобы он срабатывал на все события. Возможно, потребуется создать дополнительные теги событий GA4 или изменить существующие, чтобы обеспечить полное сопоставление с событиями пикселя Meta.

Отправка ID браузера Meta и ID клика Meta

Если вы настроили пользовательский домен и домен вашего сервера тегов GTM является основным, ID браузера Meta и ID клика Meta отправляются автоматически.

Если вы используете домен, предоставленный по умолчанию, или заметили, что поля ID браузера и ID клика не отправляются в Events Manager, настройте их, как описано ниже.

  • Перейдите в раздел переменных и создайте новые пользовательские переменные для ID браузера Meta и ID клика Meta. Используйте тип переменной "Собственный файл cookie".
    • Для ID браузера Meta в поле "Название файла cookie" укажите _fbp.
    • Для ID клика Meta в поле "Название файла cookie" укажите _fbc.
  • Сохраните эти переменные.
  • В теге конфигурации GA4 в разделе Поля, которые необходимо задать нажмите Добавить строку и укажите следующее:
    • имя поля — x-fb-ck-fbp;
    • значение поля — переменная ID браузера Meta.
  • Добавьте ещё одну строку для ID клика:
  • Имя поля — x-fb-ck-fbc.
  • Значение поля — переменная ID клика Meta.

Создайте переменную уровня данных для каждого параметра user_data в схеме стандартных событий Google Менеджера тегов. Подробнее… Например, чтобы передавать серверному Google Менеджеру тегов электронные адреса, создайте переменную (скажем, user_data_email_address), которую можно связать с переменной уровня данных eventModel.user_data.email_address.

Если вы не используете уровень данных, настройте переменные для каждого параметра, как указано ниже, чтобы использовать их. Ниже приведен список соответствия параметров user_data в Meta и в Google Менеджере тегов и их общий приоритет для повышения качества сопоставления событий. Если вы впервые настраиваете интеграцию, воспользуйтесь этими рекомендациями по Conversions API, чтобы извлечь максимум пользы из рекламы Meta. Если вы уже настроили Conversions API, рассмотрите эти рекомендации для оптимизации своей действующей конфигурации. Рекомендации по Conversions API помогут повысить эффективность рекламы путем снижения расходов на каждую операцию.

Параметр Conversions API в MetaИмя поля GA4Имя переменной уровня данных в Google Менеджере теговПриоритет

Электронный адрес

email_address (em)

user_data.email_address

eventModel.user_data.email_address

Высокий

ID клика

fbc

x-fb-ck-fbc

Нет

Высокий

ID входа через Facebook fb_login_id

user_data.fb_login_id

Нет

Средний

Дата рождения

db

x-fb-ud-db

Нет

Средний

Страна

country (country)

user_data.address.country

eventModel.user_data.address.country

Средний

Номер телефона

phone_number (ph)

user_data.phone_number

eventModel.user_data.phone_number

Средний

Внешний ID

external_id

x-fb-ud-external_id

Нет

Средний

ID браузера

fbp

x-fb-ck-fbp

Нет

Средний

Штат или регион

state (st)

user_data.address.region

eventModel.user_data.address.region

Средний

Пол

ge

x-fb-ud-ge

Нет

Средний

Имя

first_name (fn)

user_data.address.first_name

eventModel.user_data.address.first_name

Низкий

Фамилия

last_name (ln)

user_data.address.last_name

eventModel.user_data.address.last_name

Низкий

Город

city (ct)

user_data.address.city

eventModel.user_data.address.city

Низкий

Почтовый индекс postal_code (zip)

user_data.address.postal_code

eventModel.user_data.address.postal_code

Низкий


Шаг 2. Событие Google Аналитики 4 — настройка схемы событий, предоставляемой серверу

  • Настройте веб-контейнер, чтобы отправлять данные со своего сайта на созданный сервер тегов для добавления Google Аналитики. Подробнее о настройке тега конфигурации Google Аналитики 4.

  • Выберите тег события Google Аналитики 4 из галереи шаблонов и добавьте его в рабочую область:

    • Укажите название события для тега. Вы можете сделать это значение постоянным или связать его с переменной. Для некоторых стандартных событий мы сопоставим стандартные события Google Аналитики с эквивалентами Meta. Для этих событий можно использовать имя события Google Аналитики или имя события Meta. Для всех остальных стандартных событий следует использовать имя события Meta. Для специально настроенных событий следует использовать их имена. Подробнее…
Имя стандартного события MetaИмя события Google Аналитики

AddPaymentInfo

add_payment_info

AddToCart

add_to_cart

AddToWishlist

add_to_wishlist

PageView

gtm.dom

PageView

page_view

Purchase

purchase

Search

search

InitiateCheckout

begin_checkout

Lead

generate_lead

ViewContent

view_item

CompleteRegistration

sign_up


  • В разделе "Параметры события" сделайте следующее:

    • Если вы используете пиксель Meta, добавьте параметр ID события. В качестве имени параметра используйте event_id, а в качестве значения — переменную, созданную для ID события. Инструкции по созданию переменной ID события и настройке пикселя Meta см. в разделе Дедупликация.
    • Сопоставьте каждый параметр, который нужно настроить. Название переменной будет считываться из события согласно схеме стандартных событий. Например, чтобы получать данные об электронных адресах, используйте имя параметра user_data.email_address и укажите в качестве значения переменную, связанную с email_address (см. в разделе 1 выше).
    • Полный список см. в разделе Пользовательские параметры данных ниже.

Шаг 3. Создание клиента, который отслеживает события и отправляет их в Meta

Каждый серверный контейнер Google Менеджера тегов использует стандартный клиент GA4, чтобы собирать данные о событиях, настроенных с помощью тега GA4. Клиент GA4 считывает данные по пути /g/collect в URL сервера тегов и отправляет параметр eventModel (модель события) в нужный тег. Если в серверном контейнере в разделе "Клиенты" уже установлен стандартный клиент GA4, можно перейти к шагу 4.

Шаг 4. Создание серверного тега Meta Conversions API, который преобразует стандартную модель событий клиента GA4 в схему событий Conversions API и отправляет ее в graph.facebook.com

Чтобы отправлять события в Conversions API, установите тег Meta Conversions API из галереи шаблонов. Используйте шаблон тега с именем Тег Conversions API от facebookincubator. Этот тег можно настроить так, чтобы он срабатывал при получении событий от клиента GA4 (см. предыдущий шаг) и отправлял их в Conversions API. Чтобы установить тег Meta Conversions API, вам необходимо иметь ID пикселя и маркер доступа и указать "сайт" в качестве источника действия. Используя Conversions API, вы соглашаетесь, что параметр action_source является максимально точным, насколько вам это известно.

Тестирование интеграции

Для тестирования интеграций перед публикацией изменений мы рекомендуем использовать режим предварительного просмотра Google Менеджера тегов. Как веб-контейнер, так и серверный контейнер поддерживают режим предварительного просмотра, и вы можете запускать их одновременно.

Если вы измените конфигурацию в режиме предварительного просмотра, обязательно перезапустите его, чтобы изменения отразились во время тестирования.

Чтобы проверить, правильно ли принимаются события сервера, используйте инструмент тестирования событий в Events Manager. Для этого выберите Events Manager > Источники данных > Ваш пиксель > Тестирование событий.

Инструмент тестирования событий генерирует тестовый ID. Отправьте этот тестовый ID в качестве параметра test_event_code в Conversions API, чтобы в окне тестирования событий отображались связанные с событиями действия. Не забудьте удалить его перед публикацией изменений.

Инструмент тестирования событий позволяет проверить, правильно ли принимаются и дедуплицируются события. Если через минуту-две события не появятся, проверьте отладчик Google Менеджера тегов на стороне сервера, чтобы убедиться, что запрос прошел:

  1. В отладчике на стороне сервера в меню слева выберите событие, которое нужно проверить.
  2. Убедитесь, что ваш тег отображается в разделе "Зарегистрированные теги". Если это так, вы увидите надпись "Тег Conversions API — успех" или "Тег Conversions API — сбой".
    • Тег не зарегистрирован. Проверьте триггер тега Conversions API и соответствующий триггер события GA4 в веб-контейнере. Убедитесь, что событие GA4 зарегистрировано в веб-отладчике.
    • Тег зарегистрирован: успех. Нажмите тег и проверьте правильность кода тестового события. Измените код тестового события, если это необходимо, и перезапустите режим предварительного просмотра.
    • Тег зарегистрирован: сбой. Откройте вкладку "Запрос" и выберите текущий запрос, отправленный к https://graph.facebook.com. Проверьте текст ответа в нижней части информации о запросе, чтобы определить, в чем заключалась ошибка, и при необходимости обновите интеграцию. После внесения изменений не забудьте перезапустить режим предварительного просмотра.

Когда события отобразятся, убедитесь, что ID событий отправляются правильно и что все ожидаемые ключи сопоставления и пользовательские параметры данных отображаются правильно. Инструмент тестирования событий покажет, правильно ли дедуплицируются события. Если ID событий разные, убедитесь, что теги GA4 и пикселя Meta срабатывают на один и тот же триггер, и проверьте реализацию переменной ID события.

Дедупликация

Мы рекомендуем использовать конфигурацию с избыточными событиями, то есть отправлять одни и те же события как из Conversions API, так и из пикселя Meta. Используйте в обоих экземплярах каждого события одинаковые значения event_name и не забудьте добавить event_id или комбинацию из external_id и fbp.

Это поможет системе Meta дедуплицировать события и уменьшить количество повторов. Подробнее о дедупликации, ее предназначении и настройке см. в этой статье. external_id и fbp являются альтернативными решениями для дедупликации и позволяют повысить качество конфигурации. Если это возможно, мы рекомендуем всегда добавлять эти три параметра.

В Google Менеджере тегов существует несколько способов настроить параметр с одинаковым значением для браузерного и серверного тегов. Вот один из вариантов, как активировать тег пикселя Meta и событие на сервере с помощью одного события GA4:

  • Используйте один и тот же триггер для пользовательского тега HTML от пикселя Meta и тега события GA4. Условие для триггера можно определить на основе URL страницы подтверждения заказа.
  • Используйте в обоих тегах одинаковый event_id:
    1. Создайте уникальный ID с помощью клиента: задайте пользовательский параметр parameter (x-fb-event_id) согласно событию в глобальном теге. Создайте на сайте уникальный ID для каждого события, используя JavaScript (или используя пользовательскую переменную JavaScript Google Менеджера тегов) и присвойте значение согласно примеру ниже.
    2. gtag('event', 'purchase', {
       'x-fb-event_id': generateEventId(),
      ...:...
      
       });
      Вы можете создать переменную, указывающую на приведенную выше пользовательскую переменную JavaScript. Независимо от используемой переменной в строке загружается следующая функция JavaScript:
      function() {
      var gtmData = window.google_tag_manager[{{Container ID}}].dataLayer.get('gtm');
      return gtmData.start + '.' + gtmData.uniqueEventId;
      }
    3. Создайте переменную уровня данных и присвойте ей значение. Вы можете создать собственную переменную в веб-контейнере, которая будет считывать значение из параметра event_id. Для этого создайте новую переменную уровня данных, например FBEventIdVar, с именем eventModel.event_id.
    4. Созданную переменную можно использовать для онлайн-события в пользовательском теге HTML и как дополнительный параметр серверного события GA4.
    5. Используя браузер, вы можете добавить тег Meta в веб-контейнер Google Менеджера тегов, чтобы считывать event_id из переменной.
    6. fbq('track', Purchase, {..}, {eventID: FBEventIDVar });
      Настройте для события GA4 отправку дополнительного параметра event_id со значением переменной FBEventIdVar.

Пользовательские параметры данных

Для отправки пользовательских данных используйте перечисленные ниже сопоставления в тегах событий GA4:

Имя параметра MetaИмя параметра GA4

value

value

currency

currency

search_string

search_term

order_id

transaction_id

content_ids

x-fb-cd-content_ids

content_type

x-fb-cd-content_type

content_name

x-fb-cd-content_name

content_category

x-fb-cd-content_category

contents*

items OR x-fb-cd-contents

num_items

x-fb-cd-num_items

predicted_ltv

x-fb-cd-predicted_ltv

status

x-fb-cd-status

delivery_category

x-fb-cd-delivery_category

custom_properties*

custom_properties

Перед отправкой примените к параметрам x-fb-cd-contents и custom_properties метод JSON.stringify, поскольку это параметры JSON, определенные в Meta.

Отправка данных с вашего сайта на сервер GCP

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

 gtag('event', 'purchase', 
  {
    'event_id': generateEventId(),
    'transaction_id': 't_12345',
    'currency': 'USD',
    'value': 1.23,
    user_data: {
      email_address: '<HASHED_DATA>',
      phone_number: '<HASHED_DATA>',
      address: {
        first_name: '<HASHED_DATA>',
        last_name: '<HASHED_DATA>',
        city: '<HASHED DATA>',
        region: '<HASHED_DATA>',
        postal_code: '<HASHED_DATA>',
        country: '<HASHED_DATA>'     
      },    
    },
    items: [
      {
        item_id: '1',
        item_name: 'foo',
        quantity: 5,
        price: 123.45,
        item_category: 'bar',
        item_brand: 'baz'     
      }
    ], 
  });      
     

Как только событие сработает, по адресу, например www.analytics.example.com/g/collect будет отправлен запрос с данными по всем заданным параметрам. Чтобы проверить отправку событий в Conversions API, можно добавить код тестового события в тег Meta Conversions API. Код тестового события следует использовать только для тестирования. При отправке рабочих полезных данных разработки его необходимо удалить.

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

Часто задаваемые вопросы

Планируется ли добавление возможности отправлять пользовательские параметры? Если да, когда это будет реализовано?
О: Мы добавили сопоставление для большинства стандартных пользовательских параметров Conversions API, которые поддерживаются в схеме Google Менеджера тегов. Мы также предоставляем пользовательское сопоставление. Подробнее см. в этой статье.

Поддерживает ли одиночный сервер или кластер запуск нескольких контейнеров?
О. В настоящее время Google Менеджер тегов поддерживает только сопоставление 1:1. Рекомендации по упорядочиванию контейнеров см. в этой статье.

Нужен ли серверному Google Менеджеру тегов браузерный тег для генерирования событий?
О. Да.

Можно ли сохранить раздельную интеграцию GA4 и серверного Google Менеджера тегов?
О. Да. Для этого можно создать дополнительный ID измерения в Google Аналитике. Создайте отдельный тег конфигурации GA4 для серверного Google Менеджера тегов, используя этот ID измерения. Для этого выполните описанные выше действия. В этом сценарии существующий тег конфигурации GA4 будет по-прежнему отправлять трафик GA через веб-контейнер, в то время как новый тег конфигурации будет отправлять данные в серверный контейнер. Используя новый тег конфигурации, создайте дополнительные теги событий GA4, как указано в шаге 2, для отправки событий на стороне сервера.

Работает ли интеграция Conversions API Google Менеджера тегов с другими хостинговыми решениями или только с платформой GCP?
О. Интеграция Conversions API Google Менеджера тегов работает с GCP и любыми другими платформами. Дополнительную информацию об инициализации вручную см. в этой статье.