Передача конверсии из Keitaro в Google Ads через Google Analytics 4 Measurement API
Создаем Ресурс, в нем Поток данных, в нашем случае это будет WEB, нажимаем Создать специальное событие:
Нажимаем Создать, вводим название ключа, полученный ключ копируем и сохраняем
Далее идем в Связь с другими продуктами, выбираем Google Ads, связываем.
В Google Ads идем в Goals (Цели), нажимаем +, Импортировать из Google Analytics 4, наше событие purchase, сохраняем.
В трекере идем в лендинги, выбираем локальный лендинг добавляем следующие коды:
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8">
<!— Код Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXX"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-HX7G9RPRJ7'); </script>
Далее перед закрывающим тегом </body>
<script> // Функция для получения GA User ID из куки function getGAUserId() { const cookie = document.cookie.split('; ') .find(row => row.startsWith('_ga=')); if (cookie) { const gaValue = cookie.split('=')[1]; const parts = gaValue.split('.'); if (parts.length >= 4) { return `${parts[2]}.${parts[3]}`; // Client ID } } return null; }
// Функция для отправки запроса к Keitaro Click API async function sendToKeitaroClickApi() { const gaUserId = getGAUserId(); const apiKey = 'Click API key для кампании в Keitaro'; // Keitaro Click API Key const keitaroDomain = 'http://домен или IP'; // IP-адрес трекера // Формируем URL Click API с sub_id_30
const url = `${keitaroDomain}/click_api/v1/click?token=${apiKey}` + (gaUserId ? `&sub_id_30=${encodeURIComponent(gaUserId)}` : ''); try { const response = await fetch(url, { method: 'GET', headers: { 'Accept': 'application/json' } }); if (!response.ok) { throw new Error(`HTTP error! Status: ${response.status}`); } const data = await response.json(); console.log('Keitaro Response:', data); // Перенаправление на URL из ответа if (data.headers && data.headers[0] && data.headers[0].startsWith('Location:')) { const redirectUrl = data.headers[0].split('Location: ')[1]; window.location.href = redirectUrl; } else { console.error('No redirect URL found in response'); } } catch (error) { console.error('Error with Keitaro Click API:', error); // Резервное перенаправление window.location.href = `${keitaroDomain}/xjXX8nKY`; } } // Запуск после загрузки страницы window.onload = function() { setTimeout(sendToKeitaroClickApi, 500); // Задержка для загрузки GA }; </script>
Настройки S2S постбека в Keitaro (интерфейс)
Этот раздел описывает конфигурацию постбека в Keitaro с указанными вами параметрами:
- Перейдите в кампанию:
- Откройте S2S Postbacks:
- Параметры постбека:
- URL:
https://www.google-analytics.com/mp/collect?measurement_id=G-XXXXXXX&api_secret=YYYYYYYYYYYYYYY - Метод: POST
- Тело запроса:
json{ "client_id": "{sub_id_30}", "events": [{ "name": "purchase", "params": { "gclid": "{gclid}", "transaction_id": "{uniq_id}", "value": "{payout}", "currency": "USD" } }] }
- {sub_id_30}: GA Client ID (например, 1234567890.0987654321), переданный через Click API.
- {gclid}: Google Click ID из источника трафика.
- {payout}: Сумма конверсии (замените на фиксированное значение, например "50.00", если payout не передается).
- Content-Type: application/json
- Триггер: When conversion is added (или выберите статус, например, sale).
- Название: GA4 Purchase Postback.
POST https://gtm.analytics.google.com/mp/collect?measurement_id=G-HX7G9RPRJ7&api_secret=5oMt_hBZRJ-nIfim2t1CfQ&client_id={sub_id_30}&events=[{%22name%22:%22purchase%22,%22params%22:{%22transaction_id%22:%22{tid}%22,%22value%22:%22{revenue}%22,%22currency%22:%22{currency}%22,%22gclid%22:%22{external_id}%22}}]
LEAD, SALE, DECLINED, UPSALE
Готово, Вы великолепны, все конверсии теперь прилетают из Keitaro в Google Analytics 4, а уже из него подтягиваются в Google Ads