Вычисления - самая дешёвая часть эксплуатации server-side GTM. Для нагрузки, которую Stape тарифицировал бы в $83 в месяц, рекомендованная Google конфигурация Cloud Run обходится примерно в $135 (два инстанса тегирования плюс preview-сервер), а мой self-hosted VPS, разделяемый с другими сервисами, - примерно в $14. Счёт формирует то, чего нет на страницах с ценами: egress, стриминг в BigQuery, аддоны, ботовый трафик и инженер, который отвечает за контейнер.

Каждый материал про цены на sGTM называет сумму в месяц, и почти ни в одном не показана арифметика. Всё интересное прячется именно в этом зазоре: preview-сервер, который никто не считает, строка за egress, стриминг в BigQuery, всплывающий на третий месяц, и тот факт, что вычисления тут - самая дешёвая часть конструкции.

Всё, что ниже, собрано из опубликованных тарифов и рекомендаций самих вендоров по сайзингу, с показанными выкладками, чтобы вы могли пересчитать это на своих числах, а не верить моим. Там, где я моделирую, а не сообщаю факт, я об этом говорю.

Сначала - что именно вы арендуете

Server-side GTM это Node-приложение, которое распространяется как Docker-образ. Google публикует референс:

gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable

с CONTAINER_CONFIG для строки конфигурации контейнера и PREVIEW_SERVER_URL, указывающим на отдельный preview-инстанс.¹

Один этот факт объясняет весь ценовой ландшафт. Вы не покупаете у Google продукт: контейнер бесплатный и живёт в вашем обычном аккаунте GTM. Вы арендуете место, где запустить образ контейнера, и каждый провайдер ниже берёт с вас за вычисления плюс некоторое количество удобства. Отсюда же и такой широкий разброс цен: управляемый хостинг и VPS за €5 крутят один и тот же бинарник.

Google Cloud Run: арифметика самого Google

Сразу оговорюсь: я не запускал sGTM на Cloud Run в проде, поэтому этот раздел - опубликованные цифры Google, а не мой счёт.

Из гайда Google по настройке на Cloud Run:²

  • Каждый сервер - это инстанс Cloud Run с 1 vCPU и 0,5 ГБ памяти, по модели тарификации CPU always allocated
  • «В такой конфигурации Cloud Run каждый сервер стоит примерно $45 в месяц (USD)»
  • «Мы рекомендуем запускать минимум 2 инстанса, чтобы снизить риск потери данных при отказе сервера»
  • «Мы ожидаем, что автомасштабирование 2–10 серверов справится с 35–350 запросами в секунду, хотя производительность зависит от количества тегов»

И из гайда по ручной настройке: «Вы должны развернуть ровно 1 preview-сервер. Не настраивайте автомасштабирование больше чем на 1 инстанс».¹

Сделайте арифметику, к которой Google подводит, и производственный минимум получается 2 инстанса тегирования плюс 1 preview-инстанс ≈ $135 в месяц - до единого байта egress, до BigQuery, до любого всплеска трафика. Часто цитируемый «порог Cloud Run в $120 в месяц» - та же оценка, просто округлённая помягче; в любом случае речь про три инстанса, а не про один.

Дешевле не получается именно из-за CPU always allocated. Это рекомендация Google, и она правильная: сервер тегирования, который масштабируется в ноль, теряет хиты на холодном старте, а потерянный хит - это конверсия, которую вы никогда не увидите. Вы намеренно платите за простаивающую мощность. Кто называет $10–25 в месяц за sGTM на Cloud Run, тот считает конфигурацию с тарификацией по запросам и масштабированием в ноль, которую собственный гайд Google для прода не рекомендует.

Stape: опубликованный прайс-лист

Прайс Stape по состоянию на июль 2026:³

ТарифВ месяцВ годЗапросов в месяц
Free$0-10 тыс.
Pro$17$200/год500 тыс.
Business$83$1 000/год5 млн
Enterprise$167$2 000/год20 млн
Customпо запросу-без лимита

Две детали мелким шрифтом меняют сравнение сильнее, чем цена в заголовке.

Один контейнер равен одному сайту. Каждому сайту нужна своя подписка; растянуть тариф Business на контейнеры пяти клиентов не выйдет. Если вы агентство - умножайте.

Запросы означают только входящие запросы. Один просмотр страницы, который внутри контейнера разлетается в GA4, Meta CAPI и TikTok Events API, - это один тарифицируемый запрос у Stape и три исходящих вызова. На собственной инфраструктуре это один входящий запрос и три исходящих вызова, за которые вы платите egress. Именно из-за этой детали квоты Stape по запросам выглядят жёстче, чем они есть, и именно поэтому «500 тыс. запросов» хватает заметно дальше, чем хватило бы «500 тыс. событий».

Есть ещё переключатель автоматического апгрейда, который поднимает вас на тариф выше при превышении лимита.³ Оставите включённым - не потеряете данные; оставите включённым без алерта - узнаете о смене тарифа из счёта. В любом случае настройте биллинговое уведомление.

И тариф - это ещё не счёт. Тариф выше покупает вам контейнер. Аддоны Gateway и Signals - выделенные шлюзы для Meta CAPI, TikTok eAPI, Snapchat CAPI - тарифицируются отдельно, примерно от $10 за пиксель в месяц, и складываются друг с другом. Это та строка, за которой я слежу в собственном аккаунте: тариф контейнера стабилен и предсказуем, а ползут именно аддоны, потому что каждый прицепляется к пикселю, а пиксели никто не выводит из эксплуатации. Тариф контейнера плюс три шлюза - это уже другое число, не то, что на странице с ценами, и именно его стоит моделировать агентству с несколькими брендами.

Self-hosted на VPS

Вот здесь арифметика становится неудобной для всех остальных, поэтому важно аккуратно проговорить, что в неё входит, а что нет.

Начнём с сайзинга от Google - это единственная опубликованная оценка ёмкости, не привязанная к вендору хостинга: один инстанс это 1 vCPU и 0,5 ГБ памяти, и 2–10 таких держат 35–350 запросов в секунду.² Считайте, примерно 35 rps на vCPU при умеренной нагрузке тегами. Это порядка 90 млн запросов в месяц с одного ядра - на два порядка больше, чем тариф Business у Stape.

То есть машина нужна маленькая, а маленькие машины дёшевы. Моя - VPS у казахстанского провайдера с поквартальной оплатой 20 000 тенге, то есть около 6 700 тенге в месяц, примерно $14 по курсу ~475 KZT/USD конца июля 2026.⁷ На этой же машине крутится и другое, так что считайте это потолком стоимости сервера тегирования, а не чистой цифрой на сервис - и в этом, собственно, суть: при таком размере вы не выделяете машину под сервис, а ставите контейнер на коробку, которая у вас и так работает.

Европейские аналоги укладываются в тот же диапазон: машина 2 vCPU / 4 ГБ на shared vCPU в Hetzner стоит однозначное число евро, хотя в июне 2026 они провели корректировку цен на облако - так что смотрите текущую цифру, а не ту, что в старых туториалах.⁸

Итого честное сравнение для нагрузки, которую Stape тарифицировал бы в $83:

В месяц
Cloud Run, рекомендованная Google конфигурация для прода~$135
Stape Business, без аддонов$83
Self-hosted VPS, разделяемый с другими сервисами~$14

И честная оговорка - ровно то, из-за чего дешёвая колонка не является очевидно правильной: цифра за VPS покупает вам вычисления и ничего больше. В них не входит TLS на first-party поддомене, мониторинг, который сообщит вам, что контейнер перестал отвечать, периодические рестарты для подтягивания обновлений рантайма (Google их рекомендует, а контейнер, к которому год не прикасались, крутит годовалый рантайм¹) и человек, который всё это делает. Это не умозрительные вещи - это и есть работа, и именно из-за неё коробка за €5 не выигрывает у тарифа за $83 для большинства команд. См. последний раздел.

Cloudflare: с апреля 2026 ответ изменился

Большинство материалов до сих пор пишет, что Cloudflare не может хостить sGTM. Это было правдой и правдой быть перестало, так что стоит точно сказать, что именно поменялось.

Workers по-прежнему не могут его хостить. Workers - это рантайм на изолятах V8: он выполняет JavaScript, а не образы контейнеров. sGTM поставляется как Docker-образ с Node внутри. Worker перед вашим сервером тегирования действительно полезен: first-party эндпоинт, кастомный загрузчик, место, где переписать запрос до того, как он дойдёт до контейнера. Но это прокси, а не хост.

Cloudflare Containers могут. Containers и Sandbox SDK вышли в general availability 13 апреля 2026 года на тарифе Workers Paid и запускают любой Docker-образ, в том числе из Docker Hub.⁴ Технических причин, по которым образ sGTM там не заработает, нет.

Опубликованные тарифы, на Workers Paid за $5 в месяц:⁵

РесурсВключеноСверх лимита
Память25 ГиБ-часов/мес$0,0000025 / ГиБ-секунда
CPU375 vCPU-минут/мес$0,000020 / vCPU-секунда
Диск200 ГБ-часов/мес$0,00000007 / ГБ-секунда

Тарификация идёт по 10 мс активного времени работы, CPU считается только по активному CPU, а контейнеры масштабируются в ноль.

Главное здесь - понять модель тарификации. CPU по активным циклам очень дёшев для сервера тегирования, который бóльшую часть жизни ждёт I/O, а не считает. Память и диск тарифицируются, пока инстанс не спит, а серверу тегирования вы хотите обеспечить постоянное бодрствование: масштабирование в ноль означает холодные старты, а холодные старты означают потерянные хиты - ровно по той же причине, по которой Cloud Run нужен CPU always allocated.

Значит, моделируем постоянно бодрствующий инстанс basic (1/4 vCPU, 1 ГиБ памяти, 4 ГБ диска) на месяц в 730 часов:

  • Память: 730 ГиБ-часов − 25 включённых = 705 ГиБ-часов ≈ $6,35
  • Диск: 2 920 ГБ-часов − 200 включённых = 2 720 ГБ-часов ≈ $0,69
  • CPU: только активный, и низкий для I/O-bound нагрузки
  • Плюс $5 за тариф Workers Paid

Получается что-то в районе первых десятков долларов за постоянно бодрствующий инстанс против примерно $45 за эквивалентный инстанс Cloud Run. Это арифметика по прайс-листу, а не счёт: Workers перед пайплайном тегирования я запускал, а вот sGTM на Cloudflare Containers в проде - нет. Проверьте по калькулятору самого Cloudflare, прежде чем планировать вокруг этого миграцию, и учитывайте, что вы будете ранним: опубликованного операционного опыта по такой конфигурации пока почти нет.

Строки расходов, которые никто не называет

Вот эта часть и превращает оценку в $17 в счёт на $60.

Preview-сервер. Это второй инстанс, он работает постоянно, и его нет примерно ни в одном сравнении стоимости, которое мне попадалось. На Cloud Run это треть вашего минимума.

Egress. Каждый исходящий вызов в Meta, TikTok, Google и Snapchat - это тарифицируемый трафик на инфраструктуре, которой владеете вы. На событие мало, на 5 млн событий уже не мало.

Стриминг в BigQuery. Стриминг сырых событий из серверного контейнера в BigQuery - самая частая история «почему счёт вырос втрое», которую мне рассказывают. Это отдельный продукт с отдельной тарификацией, и в строку sGTM его при планировании бюджета никто не добавляет.

Ботовый трафик. Ваш эндпоинт тегирования - публичный first-party URL. Сканеры, скраперы и мусорный трафик по нему бьют, и на тарифе с оплатой по запросам вы платите за каждый. Прежде чем подбирать тариф, посмотрите, какая доля входящих запросов настоящая.

Запросы против событий. Уже разобрано выше, и стоит перечитывать это на любой странице с ценами: «запросы», «события» и «хиты» у трёх вендоров означают три разные вещи, и разница может быть в порядок величины.

Домен, TLS, DNS. Деньги копеечные, забыть некопеечно. First-party поддомен с валидным сертификатом - жёсткое требование, а не оптимизация.

Поддержка. Образ обновляется. Конфигурация контейнера меняется, когда меняется контейнер GTM. Кто-то владеет рестартами и мониторингом, а если не владеет никто - вы узнаете об этом во время кампании.

Инженер. Вот настоящее число. При любой консалтинговой или внутренней ставке один день аналитика-инженера стоит дороже, чем год Stape Pro. sGTM дорог не хостингом. Выбрать хост по цене, а потом три дня отлаживать собственный Docker - откровенно плохая сделка, и это самая частая ошибка, которую я вижу в этом решении.

Как выбирать

  • До ~500 тыс. запросов в месяц, без выделенной инфраструктурной команды: управляемый хостинг. Разница в цене с self-hosted меньше, чем стоит половина вашего рабочего дня.
  • Миллионы запросов, уже есть периметр в GCP, есть человек, который владеет Cloud Run: Cloud Run, с честно заложенным минимумом из трёх инстансов.
  • Несколько контейнеров под несколько клиентов или брендов: начинает выигрывать self-hosted, потому что на управляемых платформах цена за контейнер умножается, а ваша машина - нет.
  • Жёсткие требования к резидентности данных: это решает вопрос раньше цены. Проверяйте, где провайдер реально терминирует запросы, а не где у него головной офис.
  • Любой из вариантов, если sGTM ещё не окупает себя: не надо. Опубликованное эмпирическое правило - что сложность sGTM начинает окупаться примерно от $5 000 в месяц медийного бюджета⁶ - по моему опыту близко к истине. Ниже этого сначала почините клиентское тегирование.

Что из этого следует

Вычисления - не дорогая часть. Минимум Cloud Run по цифрам самого Google около $135 в месяц, средний тариф Stape - $83, VPS дешевле обоих, и разница между всеми тремя - это примерно один час инженерного времени в месяц.

Дорого обходится сервер тегирования, которым никто не владеет: без рестартов, без мониторинга, молча теряющий хиты в вашу самую трафиковую неделю, с экспортом в BigQuery, который забыли заложить в бюджет. Выбирайте хост, который съест меньше всего внимания вашей команды, закладывайте preview-сервер и egress, а сэкономленный спор потратьте на конфигурацию контейнера.

Источники

  1. Manually set up server-side tagging - Google for Developers
  2. Set up server-side tagging on Cloud Run - Google for Developers
  3. Stape pricing
  4. Containers and Sandboxes are now generally available - Cloudflare changelog, 13 April 2026
  5. Cloudflare Containers pricing
  6. GTM server-side tagging - ceaksan.com
  7. USD/KZT reference rate, late July 2026 - exchangerates.org.uk
  8. Hetzner price adjustment, 15 June 2026 - Hetzner Docs

Частые вопросы

Можно ли снизить счёт за Cloud Run, если позволить sGTM масштабироваться в ноль?

Безопасно - нет. Сервер тегирования, который масштабируется в ноль, теряет хиты на холодном старте, а потерянный хит - это конверсия, которую вы никогда не увидите. Поэтому Google рекомендует CPU always allocated, примерно $45 в месяц за сервер. Цифры $10–25 в месяц за sGTM на Cloud Run относятся к конфигурации с тарификацией по запросам и масштабированием в ноль, которую собственный гайд Google для прода не рекомендует.

Можно ли покрыть одним тарифом Stape несколько сайтов или клиентских контейнеров?

Нет. У Stape один контейнер равен одному сайту, и каждому сайту нужна своя подписка, так что растянуть тариф Business на контейнеры пяти клиентов не выйдет. Для агентств цена за контейнер умножается, и именно здесь начинает выигрывать self-hosted, потому что ваша машина от числа контейнеров не умножается. Аддоны Gateway и Signals тарифицируются сверху отдельно.

Что будет, если превысить лимит запросов в Stape?

У Stape есть переключатель автоматического апгрейда, который поднимает вас на тариф выше при превышении лимита. Оставите включённым - не потеряете данные; оставите включённым без алерта - узнаете о смене тарифа из счёта, так что в любом случае настройте биллинговое уведомление. И проверьте, какая доля входящих запросов настоящая: на тарифе с оплатой по запросам вы платите и за ботовый трафик.

Что не входит в дешёвую цифру за self-hosted VPS?

Всё, кроме вычислений. В неё не входит TLS на first-party поддомене, мониторинг, который сообщит, что контейнер перестал отвечать, периодические рестарты для обновлений рантайма и человек, который всё это делает. На моей машине крутится и другое, так что цифра - потолок стоимости сервера тегирования. Именно из-за этой работы дешёвый вариант не выигрывает у тарифа Stape за $83 для большинства команд.

Узнаёте свою воронку?

Две недели, фиксированный скоуп, доступы только на чтение. Находки и роадмап на 90 дней остаются у вас в любом случае.