Серверні конверсії Google Ads без developer token

У Telegram-воронок у Google Ads та сама сліпа зона, що й скрізь: конверсія відбувається всередині бота, далеко від будь-якого gtag-сніпета, тож Smart Bidding оптимізується за кліками замість депозитів. Leadgram замикає цей цикл server-side через Data Manager API від Google. Налаштування на диво нудне: без developer token, без рев'ю OAuth-застосунку, без токена, який треба кудись вставляти. Ви створюєте одну дію-конверсію, запрошуєте одну email-адресу і копіюєте два ID.

Як влаштована модель

Конверсії завантажує керований сервісний акаунт Leadgram у Google Cloud. Контроль доступу повністю живе всередині Google Ads: ви запрошуєте email нашого сервісного акаунта в свій акаунт, і цей інвайт і є вся авторизація. Сам email показано на сторінці Google у дашборді.

Якщо Leadgram колись ротує ключ цього сервісного акаунта, для вас нічого не зміниться. Запрошена email-адреса залишається тією самою, тож наданий вами інвайт продовжує працювати, а будь-який access token, виданий за старим ключем, просто доживає свій короткий залишок терміну дії, а не обривається на півдорозі.

Підготуйте Google Ads

  1. Увімкніть auto-tagging (Admin → Account settings → Auto-tagging). Без нього Google ніколи не додає gclid до ваших URL, і атрибуція неможлива.
  2. Створіть дію-конверсію: Goals → Conversions → New conversion action → Import → Other data sources or CRMs → Track conversions from clicks. У налаштуваннях цінності виберіть «Use different values for each conversion»: Leadgram передає реальний payout з кожною конверсією.
  3. Скопіюйте числовий ID дії-конверсії. Відкрийте дію і візьміть число з URL (ctId=...) або з панелі деталей. Це просто число, а не тег AW-....
  4. Запросіть сервісний акаунт: Admin → Access and security → додайте email зі сторінки /google з рівнем «Стандартний» (Read-only завантажувати не може). Інвайт потрібно прийняти - до підтвердження всі завантаження отримують 403.
  5. Якщо ви запросили email в акаунт MCC (керуючий акаунт) замість робочого акаунта, запишіть також 10-значний ID самого MCC.

Додайте акаунт у Leadgram

  1. На сторінці Google натисніть «Додати акаунт».
  2. Conversion action ID: числовий ID із кроку 3.
  3. Customer ID: ваш 10-значний ID Google Ads (правий верхній кут в Google Ads). Дефіси можна залишати - Leadgram їх нормалізує.
  4. MCC (manager) customer ID: лише якщо інвайт ішов у керуючий акаунт, інакше залиште порожнім.

Поля для токена немає. Так і задумано.

Форма акаунта Google з ID дії-конверсії та Customer IDФорма акаунта Google з ID дії-конверсії та Customer ID

Прив'яжіть до кампанії

У діалозі кампанії на сторінці Кампанії впишіть той самий числовий ID дії-конверсії в поле Google. ID мають збігатися точно: саме за цим Leadgram знаходить потрібні облікові дані для конверсії. Живий індикатор під полем підтверджує збіг просто під час введення.

Що надсилається

  • Ваше трекінг-посилання автоматично захоплює gclid, gbraid і wbraid; з кожною конверсією йде рівно один із них (у пріоритеті gclid).
  • payout події перетворюється на conversionValue (USD).
  • Надсилаються конверсійні події (bot_start, channel_join, first_dm, lead, registration, deposit, ftd, purchase); сирі click/land навмисно ніколи не завантажуються.
  • Детермінований transactionId дедуплікує повторні спроби на боці Google.

Перевірка

Доставка конверсій показує доставку в Google за лічені секунди після події. Звіти самого Google відстають: конверсії за gclid зазвичай з'являються приблизно через 3 години, за gbraid/wbraid (iOS) - до 72 годин.

Якщо кількість доставок здається заниженою, перш ніж робити висновок про поломку, перевірте блок «Пропущено (не надіслано)» на картці платформи. Він розбиває пропуски за сьогодні й за 7 днів по причині: немає Google click ID (gclid), клік застарів або подію не зіставлено - так можна відрізнити реальний розрив від кліку, який і не мав нести gclid.

Типові граблі

  • Вставили AW-123456789 як ID конверсії. Це тег, а не ID - потрібне голе число.
  • Інвайт надіслано, але не прийнято, або видано Read-only. Кожне завантаження отримує 403, доки доступ не стане «Стандартний» і не буде прийнятий.
  • Невідповідність MCC: інвайт ішов у керуючий акаунт, а поле MCC порожнє, або навпаки. У будь-якому разі це 403.
  • Вимкнений auto-tagging: кліки приходять без gclid, тож Google їх пропускає, а не валить з помилкою. Блок «Пропущено (не надіслано)» на сторінці Доставка конверсій покаже це як «Немає Google click ID (gclid)».
  • Якщо на одній кампанії одночасно працюють Meta і Google: клік, що несе лише fbclid, свідомо пропускається на боці Google. Це не помилка - просто клік, який Google і не мав би зматчити, і він потрапляє в той самий розподіл пропусків.
  • «Доставлено, а в Google порожньо». Зазвичай це просто затримка поширення - перевірте ще раз через 3 (або 72) години.
  • Конверсії за кліками, старшими приблизно за 89 днів, пропускаються - день запасу під 90-денним вікном gclid у Google, який їх усе одно б не зматчив.