Интеграция Firestore и sGTM дает множество возможностей для тегов на стороне сервера. Лучшее, что вы можете сделать с помощью этой комбинации, - обогатить данные на стороне сервера.
Вы можете быстро получить данные из Firestore с помощью новой переменной Firestore Lookup. Это встроенная переменная, доступная для всех в sGTM. Но как вы можете записать данные в Firebase? Stape решил эту проблему, создав тег Firestore Writer.
В этой статье блога будет показано, как записывать данные в Firestore из серверного контейнера Google Tag Manager. Я также покажу, как использовать тег Firestore Writer и переменную Firestore Lookup для обогащения данных на стороне сервера. Давайте приступим!
Firestore - это гибкая и масштабируемая база данных NoSQL с хранилищем, ориентированным на документы. В отличие от баз данных SQL, в Firestore нет таблиц и строк - вместо этого вы храните данные в документах, которые организуются в коллекции для удобства навигации и управления.
Firestore - это идеальное решение для тех, кто имеет обширные коллекции небольших документов. Он хранит данные в документах, которые организованы в коллекции. Каждый документ включает пары имя-значение.
С новым релизом серверного GTM API появилась возможность построить интеграцию Firestore и sGTM. Мы использовали этот API для создания тега Firestore Writer. Позвольте мне быстро описать, какие функции предоставляет Firestore sGTM API.
Firestore.read - считывает данные из документа Firestore и возвращает promise, которое преобразуется в объект, содержащий два ключа: id и data.
Firestore.write - записывает данные в документ или коллекцию Firestore. Если вы укажете только путь к коллекции, документ будет создан автоматически со случайным именем.
Firestore.query - возвращает массив документов Firestore, соответствующих заданным условиям запроса.
Firestore.runTransaction - позволяет автоматически читать и записывать данные из Firestore.
Firebase Path - укажите путь к документу или коллекции Firestore. Путь не должен начинаться или заканчиваться символом '/'. Если путь указан к коллекции, будет создан документ со случайно сгенерированным идентификатором. Если путь указан к несуществующему документу, он будет создан.
Существует несколько типов действий, которые позволяет выполнять этот тег:
1. Add Event Data - отправляйте все Event Data, имеющиеся в sGTM, в документ Firestore. Если Event Data и Custom Data имеют одно и то же поле, то для этого поля будет использоваться значение Custom Data. Другими словами, вы можете переопределить значения данных события с помощью пользовательских данных.
2. Merge document keys - если флажок установлен, тег объединит ключи в документе Fire Store с данными из sGTM. В противном случае тег переопределит весь документ.
3. Override Firebase Project ID - ID проекта извлекается из переменной среды GOOGLE_CLOUD_PROJECT, если параметр разрешения access_firestore для ID проекта установлен в * или GOOGLE_CLOUD_PROJECT. Если серверный контейнер работает в Google Cloud, GOOGLE_CLOUD_PROJECT уже будет присвоен идентификатору проекта Google Cloud.
4. Add Timestamp - если этот параметр включен, тег добавит к документу временную метку в миллисекундах.
Custom Data - используйте этот параметр, чтобы переопределить данные события.
Если вы используете stape для хостинга sGTM, вам понадобятся эти вещи, чтобы настроить тег Firestore Writer:
1. Создайте или войдите в веб-консоль Google Cloud Platform.
2. Выберите IAM & Admin → Service Accounts → Нажмите Create service account.
3. Добавьте аккаунт → Нажмите Далее → Выберите Roles BigQuery Data Editor для доступа к BigQuery или роль Cloud Datastore User для Firestore.
Если вы хотите использовать Google Service Account только для BigQuery, выберите только роль BigQuery Data Editor. То же самое для Firestore.
Когда вы дойдете до 3-го шага, просто нажмите кнопку Готово.
4. Создайте приватный ключ → Выберите JSON → выберите Создать → JSON будет загружен на ваш компьютер.
5. Откройте свой аккаунт stape.io → откройте контейнер sGTM → откройте вкладку Power-ups → Загрузите JSON файл, который вы скачали из Google Cloud → Нажмите Save.
1. Откройте Firebase → нажмите Создать проект → Выберите тот же проект, который вы использовали для создания Google Service Account → нажмите Продолжить → Нажмите Добавить Firebase на третьем шаге.
2. Нажмите Build → Firestore Database.
3. Нажмите Создать базу данных → выберите Запустить в производственном режиме → нажмите Далее.
4. Выберите местоположение Cloud Firestore. Оно должно совпадать с расположением вашего сервера sGTM. Чтобы проверить расположение серверного sGTM, зайдите в свой аккаунт stape.io → откройте контейнер sGTM, который вы хотите интегрировать с Firebase, и проверьте Расположение сервера.
5. Нажмите кнопку Start a collection. Здесь вам нужно установить Firebase Path, который в дальнейшем будет использоваться для Firestore Writer Tag. Я добавил Firebase Path для покупки → Нажмите Сохранить.
Возможность записи и чтения данных в/из Firestore дает множество сценариев для обогащения данных. Вы храните данные в Firestore с помощью тега Firestore Writer и извлекаете нужные данные с помощью переменной Firestore Lookup, чтобы отправить их в теги sGTM.
В этом примере я хочу отправить данные пользователя в Facebook conversion API, когда эта информация недоступна в данных события sGTM. Для этого я буду хранить данные пользователя и идентификатор клиента Google Analytics (_gid) в Firebase, когда пользователь совершает покупку. Используя переменную поиска Firestore и _gid (в качестве уникальной идентификации пользователя), я извлеку данные пользователя в событии page_view и дополню событие pageview Facebook CAPI.
2. Отправьте данные в серверный контейнер GTM. Два наиболее популярных способа отправки данных в sGTM - Google Analytics 4 и Data Tag/Data Client.
3. Скачайте тег Firestore Writer с GitHub → Откройте разделы шаблонов в серверном контейнере Google Tag Manager → Нажмите New.
4. Нажмите три точки в правом верхнем углу → Нажмите Импорт → Выберите шаблон тега Firestore Writer, который вы недавно скачали с GitHub → Нажмите сохранить.
5. Создайте новый тег Firestore Writer → Add Firebase Path. Я буду использовать путь purchase, эта настройка создаст новую коллекцию под названием purchase в Firestore, и все новые покупки будут добавляться как документы Firestore со случайными именами. Я выберу действие Add Event Data, что означает, что тег будет записывать все данные о событиях в Firestore. Я также добавил Custom Data, чтобы добавить user_email и user_id в документ Firestore. Поскольку это тестовый сайт и демонстрационная установка, я бы не хэшировал данные пользователя, но если вы используете подобный формат на производстве, обязательно хэшируйте данные пользователя.
6. Протестируйте свой тег и проверьте, какие данные были добавлены в Firestore. В моем случае каждый раз, когда пользователь совершает покупку на сайте, в Firestore добавляется новый документ с данными о событии sGTM.
7. Теперь создайте переменную Firestore Lookup в sGTM. Я выбрал Collection Path & Query → Specify Collection Path → Set your condition. В моем случае каждый раз, когда user_id (в Firestore) точно совпадает с переменной gid (в sGTM), переменная поиска будет извлекать значение user_email из соответствующего документа Firestore.
8. Протестируйте переменную Firestore Lookup в предварительном просмотре sGTM.
9. Теперь я могу отправлять расширенные данные sGTM с электронной почтой пользователя, даже если электронная почта пользователя недоступна в sGTM.
Возможности безграничны, когда речь идет об обогащении данных с помощью Firestore и серверного Google Tag Manager. Записать данные sGTM в Firestore относительно просто. Первым шагом является создание схемы данных, хранящихся в Firestore, и извлечение их, когда они нужны для обогащения sGTM-тегов.
Если вам нужна помощь в настройке отслеживания на стороне сервера, не стесняйтесь обращаться к нам. Мы поможем вам получить ваши данные в Firestore и начать извлекать из них информацию в кратчайшие сроки. Спасибо за внимание!
Все, что для этого нужно, - ответить на несколько простых вопросов. Нажмите Получить помощь, заполните форму, и мы вышлем вам предложение.