Серверные конверсии 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
- Включите auto-tagging (Администратор → Настройки аккаунта → Автоматическая пометка). Без него Google не добавляет
gclidк URL - атрибуция невозможна. - Создайте действие-конверсию: Цели → Конверсии → Новое действие-конверсия → Импорт → Другие источники данных или CRM → Импорт из кликов. В настройках ценности выберите «Разная ценность для каждой конверсии» - Leadgram передаёт реальный payout с каждой конверсией.
- Скопируйте числовой ID действия-конверсии. Откройте действие и возьмите число из URL (
ctId=...) или панели настроек. Это просто число, а не тегAW-.... - Пригласите сервисный аккаунт: Администратор → Доступ и безопасность → добавьте email со страницы /google с уровнем «Стандартный» (Read-only загружать не может). Инвайт нужно принять - до подтверждения загрузки получают 403.
- Если инвайт ушёл в MCC (управляющий аккаунт), а не в рабочий - запишите ещё и 10-значный ID самого MCC.
Добавьте аккаунт в Leadgram
- На странице Google нажмите «Добавить аккаунт».
- ID действия-конверсии - числовой ID из шага 3.
- Customer ID - ваш 10-значный ID Google Ads (правый верхний угол кабинета). Дефисы не мешают, Leadgram их нормализует.
- MCC (manager) 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, который их всё равно не сматчит.