Передача конверсии из 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