Как настроить расширенные конверсии в Google Рекламе: пошаговое руководство

Определение расширенных конверсий

Расширенные конверсии (Enhanced Conversions) — это функция Google Рекламы, позволяющая повысить точность измерения конверсий. Она безопасно передает хешированные данные собственных клиентов (например, email, телефон, имя, адрес) с вашего сайта в Google Ads после того, как пользователь совершил конверсию. Эти данные сопоставляются с данными вошедших в систему аккаунтов Google, чтобы атрибутировать конверсии рекламным событиям, даже если традиционные методы отслеживания (например, cookies) ограничены.

Преимущества использования расширенных конверсий

Основное преимущество — более полное и точное отслеживание конверсий в условиях растущих ограничений на использование сторонних cookie-файлов и изменений в политиках конфиденциальности браузеров (например, ITP в Safari, ETP в Firefox). Это приводит к:

Улучшению атрибуции: Возможность связать больше конверсий с кликами по объявлениям, особенно на разных устройствах или в браузерах с ограничениями.

Оптимизации ставок: Более точные данные о конверсиях позволяют стратегиям автоматического назначения ставок (например, "Целевая цена за конверсию", "Максимум конверсий") работать эффективнее.

Повышению рентабельности инвестиций (ROI): Лучшее понимание эффективности рекламы помогает оптимизировать бюджет и повышать общую отдачу.

Как расширенные конверсии улучшают отслеживание результатов рекламы

Когда пользователь нажимает на объявление, но конвертируется позже (возможно, с другого устройства или после очистки cookie), стандартные теги конверсий могут не сработать. Расширенные конверсии решают эту проблему.

Пользователь взаимодействует с рекламой Google.

Пользователь совершает конверсию на вашем сайте (например, покупка, заполнение формы), предоставляя свои данные (email, телефон и т.д.).

Тег Google или Google Tag Manager захватывает эти данные, хеширует их с использованием алгоритма SHA-256 и безопасно отправляет в Google.

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

При совпадении конверсия атрибутируется соответствующему рекламному взаимодействию.

Этот процесс происходит с соблюдением конфиденциальности, так как передаются только хешированные, необратимые данные.

Подготовка к настройке расширенных конверсий

Проверка соответствия требованиям Google Рекламы

Перед настройкой убедитесь, что:

Вы используете отслеживание конверсий Google Рекламы.

На страницах конверсии собираются данные клиентов (email, телефон, имя, адрес).

Вы соблюдаете политику Google в отношении данных клиентов. Важно получить согласие пользователей на сбор и передачу их данных.

Ваш сайт использует HTTPS для безопасной передачи данных.

Аудит текущей системы отслеживания конверсий

Проанализируйте существующую настройку отслеживания:

Типы конверсий: Определите, для каких действий-конверсий вы будете настраивать расширенные конверсии (покупки, лиды и т.д.).

Метод отслеживания: Используете ли вы тег Google (gtag.js) напрямую или через Google Tag Manager (GTM)?

Доступность данных: Убедитесь, что необходимые пользовательские данные (email, телефон и т.д.) доступны на уровне кода страницы или в dataLayer при срабатывании тега конверсии.

Получение согласия пользователей на обработку данных (GDPR, CCPA)

Ключевой аспект — соблюдение законодательства о защите данных. Необходимо:

Обновить политику конфиденциальности: Четко опишите, какие данные собираются, как они используются (включая передачу в Google для расширенных конверсий) и как пользователи могут управлять своими данными.

Получить явное согласие: Используйте баннеры согласия (cookie banners) или другие механизмы для получения согласия пользователей на сбор и обработку их персональных данных перед их передачей в Google.

Убедиться в соответствии локальным требованиям: Проверьте требования GDPR, CCPA или других релевантных законов в регионах вашей целевой аудитории.

Настройка расширенных конверсий в Google Рекламе: пошаговая инструкция

Существует три основных способа настройки расширенных конверсий:

Вариант 1: Настройка через тег Google (gtag.js) или Google Tag Manager

Это наиболее распространенный метод для отслеживания конверсий на сайте.

С помощью Google Tag Manager (Рекомендуется):

Включите расширенные конверсии в Google Рекламе: Перейдите в раздел "Инструменты и настройки" > "Отслеживание" > "Конверсии". Выберите действие-конверсию, для которого хотите настроить расширенные конверсии. В настройках найдите раздел "Расширенные конверсии" и установите флажок "Включить расширенные конверсии". Выберите метод "Google Tag Manager".

Настройте переменные в GTM: Создайте переменные типа "Переменная уровня данных" или "Пользовательская переменная JavaScript" для захвата данных пользователя (email, телефон и т.д.) со страницы или из dataLayer. Убедитесь, что данные нормализованы (например, email в нижнем регистре, удалены пробелы).

// Пример пользовательской переменной JavaScript для нормализации email
function() {
  // Предполагается, что email доступен в переменной dataLayer 'userEmail'
  var email = {{DL - userEmail}} || ''; // Получаем email из dataLayer
  if (typeof email === 'string') {
    return email.trim().toLowerCase(); // Удаляем пробелы и приводим к нижнему регистру
  }
  return undefined; // Возвращаем undefined, если email не строка
}

Настройте тег отслеживания конверсий Google Рекламы в GTM: Откройте существующий тег конверсии Google Рекламы или создайте новый. Установите флажок "Включить данные, предоставленные пользователем".

Сопоставьте переменные: В поле "Переменная данных, предоставленных пользователем" выберите "Новая переменная". В настройках новой переменной типа "Данные, предоставленные пользователем" сопоставьте поля (Email, Phone, Address) с созданными ранее переменными GTM.

Опубликуйте контейнер GTM.

С помощью тега Google (gtag.js):

Включите расширенные конверсии в Google Рекламе: Аналогично шагу 1 для GTM, но выберите метод "Тег Google".

Измените конфигурацию тега Google: Добавьте параметр {'allow_enhanced_conversations': true} в команду config вашего глобального тега сайта.

gtag('config', 'AW-CONVERSION_ID', {'allow_enhanced_conversions': true});

Передайте данные пользователя в теге события конверсии: При отправке события конверсии передайте хешированные данные пользователя в параметре enhanced_conversions_data.

// Функция для хеширования данных (пример! Используйте криптографически стойкие библиотеки)
// В реальном приложении НЕОБХОДИМО использовать SHA-256
// Этот пример лишь иллюстрирует структуру, а не реализацию хеширования
async function sha256(message) {
    // В браузере можно использовать SubtleCrypto API
    const msgBuffer = new TextEncoder().encode(message);
    const hashBuffer = await crypto.subtle.digest('SHA-256', msgBuffer);
    const hashArray = Array.from(new Uint8Array(hashBuffer));
    const hashHex = hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
    return hashHex;
}

// Пример данных пользователя (полученных из формы, dataLayer и т.д.)
const userData = {
  'email': 'test@example.com',
  'phone_number': '+1234567890',
  // Добавьте другие поля при необходимости (имя, адрес)
};

// Функция для подготовки данных перед отправкой
async function sendEnhancedConversion(userData, conversionData) {
    const enhanced_conversions_data = {};

    if (userData.email) {
        // Нормализация email перед хешированием
        const normalizedEmail = userData.email.trim().toLowerCase();
        enhanced_conversions_data.email_hashed = await sha256(normalizedEmail);
    }
    if (userData.phone_number) {
        // Нормализация телефона (например, удаление символов, добавление кода страны)
        const normalizedPhone = userData.phone_number.replace(/\D/g,''); // Удалить нецифровые символы
        enhanced_conversions_data.phone_number_hashed = await sha256(normalizedPhone);
    }
    // ... хеширование других полей ...

    gtag('event', 'conversion', {
        'send_to': 'AW-CONVERSION_ID/CONVERSION_LABEL',
        'value': conversionData.value,
        'currency': conversionData.currency,
        'transaction_id': conversionData.transaction_id,
        'enhanced_conversions_data': enhanced_conversions_data
    });
}

// Вызов функции при конверсии
// sendEnhancedConversion(userData, { value: 100.0, currency: 'USD', transaction_id: '12345' });

Важно: Google рекомендует не хешировать данные самостоятельно в gtag.js, а передавать их в нехешированном виде, позволяя тегу Google выполнить нормализацию и хеширование. Передавайте данные напрямую:

// Рекомендуемый способ для gtag.js (передача нехешированных данных)
function sendRawEnhancedConversion(userData, conversionData) {
  const user_provided_data = {};

  if (userData.email) {
      user_provided_data.email = userData.email;
  }
  if (userData.phone_number) {
      user_provided_data.phone_number = userData.phone_number;
  }
  // Добавьте другие поля: address (с вложенными first_name, last_name, street, city, region, postal_code, country)
  // Например:
  // user_provided_data.address = {
  //   first_name: userData.firstName,
  //   last_name: userData.lastName,
  //   street: userData.streetAddress,
  //   city: userData.city,
  //   region: userData.region,
  //   postal_code: userData.postalCode,
  //   country: userData.country
  // };

  gtag('event', 'conversion', {
      'send_to': 'AW-CONVERSION_ID/CONVERSION_LABEL',
      'value': conversionData.value,
      'currency': conversionData.currency,
      'transaction_id': conversionData.transaction_id,
      'user_provided_data': user_provided_data
  });
}

// Вызов функции при конверсии
// sendRawEnhancedConversion(userData, { value: 100.0, currency: 'RUB', transaction_id: '12345' });
Реклама

Вариант 2: Настройка через API конверсий

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

Включите расширенные конверсии в Google Рекламе: Аналогично предыдущим вариантам, но выберите "API".

Настройте серверную часть: Используйте Google Ads API для отправки данных о конверсиях, включая хешированные данные пользователя.

Формат данных: Данные пользователя (email, телефон, адрес) должны быть нормализованы и хешированы с использованием SHA-256 перед отправкой через API.

# Пример на Python (концептуальный, требует Google Ads API client library)
import hashlib
from typing import Dict, Optional, Any
# from google.ads.googleads.client import GoogleAdsClient
# from google.ads.googleads.vXX.services.types.conversion_upload_service import UploadClickConversionsRequest, ClickConversion, UserIdentifier
# from google.ads.googleads.vXX.enums.types.user_identifier_source import UserIdentifierSourceEnum

def normalize_email(email: str) -> str:
    """Нормализует email: удаляет пробелы и приводит к нижнему регистру."""
    return email.strip().lower()

def normalize_phone(phone: str) -> str:
    """Нормализует номер телефона: удаляет нецифровые символы."""
    # Реализация может потребовать более сложной логики для кодов стран
    return ''.join(filter(str.isdigit, phone))

def hash_sha256(data: str) -> str:
    """Хеширует строку с использованием SHA-256."""
    return hashlib.sha256(data.encode('utf-8')).hexdigest()

def prepare_user_identifiers(user_data: Dict[str, str]) -> list:
    """Подготавливает список идентификаторов пользователя для API."""
    identifiers = []
    if 'email' in user_data:
        normalized_email = normalize_email(user_data['email'])
        hashed_email = hash_sha256(normalized_email)
        # identifiers.append(UserIdentifier(hashed_email=hashed_email, user_identifier_source=UserIdentifierSourceEnum.UserIdentifierSource.HASHED_EMAIL))
        # Placeholder:
        identifiers.append({'hashed_email': hashed_email, 'source': 'HASHED_EMAIL'})

    if 'phone' in user_data:
        normalized_phone = normalize_phone(user_data['phone'])
        hashed_phone = hash_sha256(normalized_phone)
        # identifiers.append(UserIdentifier(hashed_phone_number=hashed_phone, user_identifier_source=UserIdentifierSourceEnum.UserIdentifierSource.HASHED_PHONE_NUMBER))
        # Placeholder:
        identifiers.append({'hashed_phone_number': hashed_phone, 'source': 'HASHED_PHONE_NUMBER'})

    # Добавить обработку адреса (имя, улица, город, регион, индекс, страна)
    # ...

    return identifiers

def upload_enhanced_conversion(
    google_ads_client: Any, # Заменить на тип клиента GoogleAdsClient
    customer_id: str,
    conversion_action_id: str,
    gclid: str,
    conversion_time: str, # Формат 'YYYY-MM-DD HH:MM:SS+|-HH:MM'
    conversion_value: float,
    currency_code: str,
    user_data: Dict[str, str]
) -> None:
    """Загружает клик-конверсию с расширенными данными через API."""
    user_identifiers = prepare_user_identifiers(user_data)

    if not user_identifiers:
        print("Предупреждение: Нет идентификаторов пользователя для расширенной конверсии.")
        # Возможно, стоит загрузить как обычную конверсию или прервать
        return

    # Создание объекта ClickConversion
    # click_conversion = ClickConversion(
    #     conversion_action=f'customers/{customer_id}/conversionActions/{conversion_action_id}',
    #     gclid=gclid,
    #     conversion_date_time=conversion_time,
    #     conversion_value=conversion_value,
    #     currency_code=currency_code,
    #     user_identifiers=user_identifiers
    # )

    # Создание запроса
    # request = UploadClickConversionsRequest(
    #     customer_id=customer_id,
    #     conversions=[click_conversion],
    #     partial_failure=True
    # )

    # Отправка запроса
    # conversion_upload_service = google_ads_client.get_service('ConversionUploadService')
    # response = conversion_upload_service.upload_click_conversions(request=request)
    # print(f"Загружена расширенная конверсия: {response}")
    # Placeholder для демонстрации:
    print(f"Подготовлена к загрузке конверсия: GCLID={gclid}, Value={conversion_value} {currency_code}, Identifiers={user_identifiers}")

# Пример использования
# client = GoogleAdsClient.load_from_storage('path/to/google-ads.yaml')
# customer_data = {'email': ' user@example.com ', 'phone': '+1 (234) 567-890'}
# upload_enhanced_conversion(
#     google_ads_client=None, # Передать реальный клиент
#     customer_id='YOUR_CUSTOMER_ID',
#     conversion_action_id='YOUR_CONVERSION_ACTION_ID',
#     gclid='EXAMPLE_GCLID',
#     conversion_time='2023-10-27 10:00:00+03:00',
#     conversion_value=150.0,
#     currency_code='RUB',
#     user_data=customer_data
# )

Вариант 3: Настройка с помощью импорта данных о конверсиях

Этот метод подходит для отслеживания офлайн-конверсий (например, из CRM-системы), которые произошли после клика по объявлению. Вы можете включить хешированные данные пользователя в файл импорта.

Настройте отслеживание офлайн-конверсий: Если еще не настроено, создайте действие-конверсию типа "Импорт" в Google Рекламе.

Подготовьте файл импорта: Создайте CSV или используйте Google Таблицы. Файл должен содержать стандартные столбцы (GCLID или идентификатор клика Google, название действия конверсии, время конверсии, ценность, валюта) и дополнительные столбцы для хешированных данных пользователя (Hashed Email, Hashed Phone Number, а также поля для адреса).

Хеширование данных: Перед добавлением в файл нормализуйте и хешируйте email, телефон и адресные данные с использованием SHA-256.

Загрузите файл: В интерфейсе Google Рекламы перейдите в "Инструменты и настройки" > "Отслеживание" > "Конверсии" > "Загрузки" и загрузите подготовленный файл.

Подробные примеры кода и конфигурации для каждого варианта

Примеры кода и конфигурации были представлены выше для каждого варианта. Ключевые моменты:

Нормализация: Всегда нормализуйте данные перед хешированием или передачей (нижний регистр для email, удаление символов для телефона).

Хеширование: Используйте стандартный алгоритм SHA-256.

Передача данных: Для gtag.js предпочтительно передавать нехешированные данные. Для API и импорта — хешированные.

Конфиденциальность: Получайте согласие пользователей и соблюдайте политики.

Проверка и отладка настроенных расширенных конверсий

Использование инструмента предварительного просмотра тегов Google Tag Manager

Если вы использовали GTM:

Включите режим предварительного просмотра в GTM для вашего сайта.

Совершите тестовую конверсию на сайте.

В интерфейсе отладчика GTM выберите событие, соответствующее срабатыванию тега конверсии Google Рекламы.

Перейдите на вкладку "Variables" (Переменные) и проверьте значения переменных, содержащих данные пользователя.

Перейдите на вкладку "Tags" (Теги), выберите сработавший тег Google Рекламы.

Проверьте детали запроса (Request), отправленного в Google. Ищите параметры, связанные с user_provided_data (при передаче нехешированных данных) или em, ep и т.д. (при автоматическом хешировании GTM).

Проверка данных о конверсиях в Google Рекламе

Диагностика тега конверсии: Через 24-48 часов после настройки перейдите в раздел "Конверсии" в Google Рекламе. Выберите ваше действие-конверсию и проверьте столбец "Статус отслеживания". Найдите раздел диагностики расширенных конверсий. Он покажет, получает ли Google данные и есть ли проблемы с сопоставлением.

Отчеты по конверсиям: Анализируйте отчеты по конверсиям. Обратите внимание на столбец "Все конв. (по времени конв.)". Увеличение числа конверсий после внедрения расширенных конверсий (при прочих равных) может свидетельствовать об их успешной работе.

Устранение распространенных проблем и ошибок при настройке

Данные не отправляются: Проверьте правильность настройки переменных в GTM или кода gtag.js. Убедитесь, что данные пользователя доступны в момент срабатывания тега. Проверьте триггеры в GTM.

Низкий процент сопоставления:

Убедитесь, что передаваемые данные (особенно email) совпадают с теми, что пользователи используют в своих аккаунтах Google.

Проверьте правильность нормализации и хеширования (если используется API или импорт).

Передавайте как можно больше идентификаторов (email, телефон, адрес).

Ошибки в диагностике Google Рекламы: Внимательно изучите сообщения об ошибках в разделе диагностики и следуйте рекомендациям Google.

Проблемы с согласием: Убедитесь, что теги срабатывают только после получения согласия пользователя, если это требуется законодательством.

Оптимизация и анализ результатов после настройки расширенных конверсий

Анализ влияния расширенных конверсий на эффективность рекламных кампаний

Сравнивайте показатели эффективности (количество конверсий, CPA, ROAS) до и после внедрения расширенных конверсий. Учитывайте сезонность и другие факторы. Используйте сегментацию по типу конверсии или устройству, чтобы увидеть, где улучшение наиболее заметно.

Использование данных расширенных конверсий для улучшения таргетинга и ставок

Более точные данные о конверсиях позволяют автоматическим стратегиям назначения ставок (tCPA, tROAS, Maximize Conversions) работать эффективнее, так как они получают больше сигналов для оптимизации. Это может привести к снижению стоимости конверсии и увеличению их общего числа.

Рекомендации по дальнейшей оптимизации и поддержанию актуальности настроек

Регулярный мониторинг: Периодически проверяйте статус диагностики расширенных конверсий в Google Рекламе.

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

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

Тестирование: Экспериментируйте с различными стратегиями ставок, чтобы максимально использовать улучшенные данные о конверсиях.


Добавить комментарий