Комплексный аудит Google Ads интернет-магазина
Реальный аудит реального клиента UPLIFY — полностью обезличенный. Нишу, бренды, домен и все ID аккаунтов скрыли; вся аналитика, методология, структура и фактические показатели сохранены без изменений.
Что сужает выводы — читать первыми
- ШАГ-0 не заполнен клиентом: нет маржи, target CPA/ROAS, стока, промо-календаря, контекста пауз → выводы о масштабировании бюджета и паузных кампаниях сужены (client_input). Это НЕ блокирует аудит — лишь сужает соответствующие выводы.
- Merchant подключён — прочитан фид (≈2 969 офферов) + account-level статусы; item-level per-offer статусы ограничены правами доступа (2 968 в unknown) → товарные выводы сужены до фид-уровня + roadmap снятия ограничения (раздел «Аудитории и фид»).
- PMax API: нет per-asset conversions / search IS / placement cost → waste/scale на уровне ассета подаются через impressions/CTR, не cost-proof.
- Conversion lag: новая кампания (категория B) <30 дней, большая доля UNKNOWN-lag → recent-окно недозачтено, уверенность снижена.
- GSC недоступен — крос-чек organic ограничен (не блокер; работали на Ads + GA4 + Keyword Planner).
Профиль магазина + Claim Ledger
Интернет-магазин товаров средне-высокого чека для дома с широким ассортиментом (≈1 480 уникальных SKU × 2 языка). Высокочековый рассматриваемый спрос (длительное решение о покупке), выраженная сезонность двух продуктовых линий, активный телефонный канал заказов. Сайт двуязычный UA/RU (hreflang uk, ru, x-default) — это объясняет дублирование SKU в фиде как намеренную локализацию, не ошибку.
Бесплатная доставка от порога заказа; официальный дилер → гарантия производителя; оплата частями / рассрочка; сервисное обслуживание; госпрограмма поддержки.
«№1 / лучший / самый дешёвый / лидер рынка»; гарантия экономии как безусловное обещание; любой superlative без доказательства.
Конкретные % скидок в тексте (меняются); «доставка за 1 день»; бесплатный сервис.
Executive summary
Аккаунт — 5 кампаний, все Performance Max (2 активные, 3 на паузе). Здоровье выше среднего. Активные кампании «на бумаге» превышают целевой ROAS в 3–4 раза (категория A: 15.2 при цели 3.7; категория B: 10.9 при цели 4.7).
Вердикт измерения — «web-покупкам верить можно, полной воронке — с поправкой». Ценность web-конверсий в Ads (₴1 012 010) почти совпадает с GA4 google/cpc purchaseRevenue (₴966 281) — расхождение ~4.7%, ниже порога 15% → web-purchase надёжно. НО телефонный/лид-путь существенно недозачтён (1 488 hover_phones + 814 form_start в GA4 против ~5 в Ads).
1. Комплаенс / гео
P0Новая активная кампания (кат. B) не имеет исключений оккупированных городов, которые стоят на 4 других (16 городов). Слив бюджета в зоне боевых действий + риск недоставки → добавить исключения.
2. Измерение (GATE)
P1Тестовая конверсия покупка_тест до сих пор primary; телефонные/лид-конверсии недозачтены → Smart Bidding оптимизирует лишь на часть покупок. Фиксируем сигнал ДО масштабирования.
3. Бренд + рост
P2PMax ест собственный бренд без brand-exclusion и нет отдельной brand-Search → бренд управляется плохо (F4/F5). Группы кат. B без search-themes/сигналов; не хватает callouts / snippets / price / promotion.
Сначала сигнал, потом масштаб
Любая автоматическая стратегия ставок настолько умна, насколько чист сигнал конверсий. В PMax это критично вдвойне: биддинг полностью автоматический (tROAS/tCPA), ручных модификаторов нет — алгоритм оптимизирует ровно на то, что мы пометили как конверсию.
- Тест-конверсия в primary. покупка_тест имеет primary_for_goal=true и уже зафиксировала конверсию на новой кампании → двойной учёт и искажение tROAS.
- Телефон/лиды недозачтены. 1 488 hover_phones + 814 form_start (GA4, 30д) против ~5 в Ads → часть «нулевых» товаров/гео на самом деле приносит звонки. Не рубить вслепую.
- Ценность / качество сигнала. Сверка Ads↔GA4 по web-purchase чистая (+4.7%), но GA4-разрезы с малым объёмом читать с measurement caveat (sampling/thresholding) — не как точные нули.
- 1. Убрать тест-конверсию из primary.
- 2. Подключить квалифицированные звонки / submit-лиды как conversion actions (secondary/observe).
- 3. Дождаться 2–3 недель чистых данных.
- 4. Лишь тогда трогать бюджет/tROAS. Иначе Smart Bidding «зацементирует» текущие искажения.
Полная таблица находок (19)
Каждая находка имеет серьёзность (P0–P3), уверенность и тип решения — он определяет, во что находка превращается дальше (раздел «Действия»). Сильный senior умеет и исправить, и проверить, и сознательно не трогать.
| # | Область | Находка | Сер. | Увер. | Решение |
|---|---|---|---|---|---|
| F1 | Гео / комплаенс | Новая кампания (кат. B) таргетирует всю страну без исключений 16 оккупированных городов, которые стоят на 4 других. Verified GAQL; рекомендация из презумпции недосмотра (ШАГ-0 пустой → подтвердить). | P0 | 95/80% | защита |
| F2 | Измерение | Конверсия покупка_тест имеет primary_for_goal=true и зафиксировала конверсию на новой кампании → риск двойного учёта. | P1 | 90% | исправить |
| F3 | Измерение / лиды | Телефон/лиды недозачтены: 1 488 hover_phones + 814 form_start (GA4, 30д) против ~5 в Ads. Smart Bidding не оптимизирует на звонки. | P1 | 75% | исправить |
| F4 | PMax / каннибализация (D-9) | PMax без brand-exclusion поглощает брендовый поиск + ремаркетинг → усреднённый ROAS (15.2 / 10.9) завышен дешёвыми бренд/ретаргет-продажами. New-vs-returning не отделено → реальный CPA на НОВЫХ неизвестен. | P1 | 80% | проверить |
| F5 | Охват бренда (D-10) | Нет выделенной brand-Search кампании; брендовый спрос (≈5 тыс/мес — «Ключи и тексты») забирает PMax дороже и без контроля. Собственный бренд должен быть самым дешёвым и самым конверсионным каналом — сейчас он неуправляем. | P2 | 80% | защита |
| F6 | Сигналы PMax | Обе группы активной кампании (кат. B) имеют 0 search-themes и 0 audience-сигналов → PMax учится вслепую. | P2 | 95% | исправить |
| F7 | Креатив PMax | Одна группа — пустая (ad_strength=POOR, без заголовков/медиа); вторая — AVERAGE, заголовок со сленгом/обрезкой. | P2 | 85% | исправить |
| F8 | Расширения | На всех кампаниях нет callouts, structured snippets, price, promotion — при сильном наборе ALLOWED-офферов. | P2 | 90% | исправить |
| F9 | Товар / фид | Дубли SKU между RU/UA фидами делят показы и бюджет: одна языковая версия конвертит, дубль — 0 конв и жжёт бюджет (подтверждено на 5 SKU). | P2 | 80% | исправить |
| F10 | Товар / waste | Топ-расходные товары без конверсий (4 позиции, ₴1 602 / ₴737 / ₴548 / ₴516, 0 конв) — кандидаты на изоляцию в low-priority listing-группу. | P2 | 70% | проверить |
| F11 | Гео-эффективность | 5 регионов с расходом без конверсий (≈10.6% spend, 0 конв) — watchlist; не рубить вслепую (малый семпл, звонковый путь). | P2 | 60% | watchlist |
| F12 | Гео-концентрация | Киев = 29% spend (ROAS 10 / 5.6); топ-ROAS регионы (40 / 35 / 48 / 31 / 27) недофинансированы → пространство для концентрации. | P2 | 65% | масштаб |
| F13 | Бюджет / стратегия | Активные кампании превышают цель ROAS в 3–4×, бюджет не выбирается полностью → пространство масштабировать / снизить tROAS (после маржи И после F4). | P2 | 70% | проверить |
| F14 | GA4 гигиена | В источниках GA4 — dev/spam реферы (localhost:8000, 127.0.0.1, spam-домен) без internal-фильтра. | P3 | 90% | исправить |
| F15 | Каналы / инкрементальность | Независимый платный канал вне Google Ads даёт ₴665 646 выручки с 1 049 сессий → влияет на атрибуцию Ads. | P2 | 80% | проверить |
| F16 | Merchant | 1 товар disapproved (legal-takedown, RU+UA); 2 968 офферов в unknown (права диагностики — раздел «Аудитории и фид»). | P3 | 70% | защита |
| F17 | Девайсы (CTV) | Мелкий расход на Connected TV без конверсий (~₴62) — несущественно, мониторить. | P3 | 80% | не трогать |
| F18 | Воронка | Резкий обрыв view_item (24 683) → add_to_cart (123) за 30д — типично для high-consideration, указывает на телефонный/офлайн путь вне Ads. | P2 | 65% | проверить |
| F19 | Структура / нейминг | Разнобой нейма кампаний и групп (опечатка в бренде, рус. дефолтные названия групп) — не по стандарту. | P3 | 95% | исправить |
План действий — ADD перед REMOVE
| Приор. | Что | Ожидаемый эффект |
|---|---|---|
| P0 | Добавить исключения 16 оккупированных городов на новую кампанию (скопировать с 4 других) | Убрать недоставку/слив в зоне боевых действий; комплаенс |
| P0 | Убрать покупка_тест из primary (secondary / archive) | Чистый счёт purchase, без двойного учёта |
| P1 | Подключить измерение звонков/лидов как конверсию в Ads (runbook ниже) | Smart Bidding «видит» телефонные продажи |
| P1 | Добавить brand-exclusion в PMax (исключить СОБСТВЕННЫЕ бренд-термины) + завести brand-Search кампанию на паузе с реальными бренд-ключами | Видна реальная экономика небренда; дешевле управляемый бренд-трафик |
| P1 | Добавить search-themes + audience-сигналы в группы кат. B (категорийные, не «общие») | Лучше обучение и нацеливание PMax |
| P1 | Добавить callouts / snippets / price / promotion на 2 активные кампании | CTR / качество объявлений, охват SERP |
| P2 | Наполнить или выключить пустую ассет-группу (POOR) | Убрать балласт, поднять ad_strength |
| P2 | Customer Match (покупатели 540д) — подготовить после согласия клиента на данные + consent-terms | LAL-сигнал / exclusion существующих из prospecting |
| P2 | Тест: ↓tROAS активных кампаний ИЛИ ↑бюджет +10–25% — лишь после маржи И проверки каннибализации (F4) | Больше объёма при сохранении прибыльности |
| P2 | Разобраться с дублями RU/UA SKU в фиде (supplemental / custom_label) | Меньше каннибализации показов/бюджета |
Runbook шага «измерение звонков»
Чтобы избежать типичной дыры «звонки в GA4, 0 в Ads»:
- В GA4 пометить call_phones + form_start/submit как key events с корректным подсчётом (один на сессию для звонка).
- Импортировать эти key events в Ads как conversion actions; count = One для звонка (не Every).
- Держать на secondary (observe), пока не подтвердится качество — НЕ кидать сразу в primary.
- Через 7–14 дней сверить кол-во Ads-конверсий с GA4; при наличии CRM — сверить звонок→продажа, чтобы в primary попадали качественные лиды.
Критерии успеха, мониторинг и rollback
Каждое P0/P1-действие сопровождается снимком «до», метрикой контроля, окном наблюдения и явным триггером отката ДО внедрения. Ни одно изменение не применяется без пути назад.
| Изменение | Метрика контроля | Окно | Rollback-триггер |
|---|---|---|---|
| Гео-исключение 16 городов (F1) | impressions/spend по исключённым гео; недоставка | 3–7 дней | падение конверсий кат. B >15% без изменения ROAS |
| Убрать тест-конверсию (F2) | кол-во primary-конв, tROAS-стабильность | 7 дней | скачок CPA >20% → вернуть как observe |
| Звонки/лиды в Ads (F3) | Ads-конв vs GA4 events; качество (CRM) | 7–14 дней | спам-лиды в primary → оставить secondary |
| Brand-exclusion + brand-Search (F4/F5) | небренд-ROAS (истинный), brand CPC/CTR/IS | 14 дней | рост общего CPA при падении охвата бренда → сузить exclusion |
| Сигналы + расширения (F6/F8) | ad_strength, CTR, conv-rate групп | 14 дней | деградация learning → откатить сигнал |
«Действия» — каждая находка → решение
Отчёт — это не PDF, который ляжет в стол. В UPLIFY OS каждая находка обязательно получает пункт назначения — инвариант «0 report-only»:
- Действие — исполняемая, обратимая карточка в OS (prepare → менеджер approve → execute → undo), с логом и снимком «до». Напр. add_geo_exclusion, add_asset_group_signal, create_search_campaign.
- Задача — то, что делает человек вне API (Customer Match-список после согласия клиента; ТЗ техспецу на трекинг звонков). Становится отслеживаемой таской.
- Watchlist — под наблюдением, решение отложено до накопления данных (слабые гео, CTV).
- N/A — сознательно неприменимо (с причиной). Тоже фиксируется, а не «забывается».
Связь двусторонняя: каждое Действие/Задача знает, из какой находки оно происходит, а покрытие считается как обработанные / все. В этом аудите — 19/19 (100%). Пример маршрутизации:
| Находка | Решение | Пункт назначения |
|---|---|---|
| F1 гео-исключение | защита | Действие add_geo_exclusion (обратимое) |
| F2 тест-конверсия | исправить | Задача менеджеру (изменение conv-set в Ads UI) |
| F4 каннибализация PMax | проверить | Задача: отделить new-vs-returning + brand-exclusion |
| F5 охват бренда | защита | Действие create_search_campaign (brand, на паузе) |
| F11 слабые гео | watchlist | Watchlist (решение после объёма данных + звонков) |
| F17 CTV ₴62 | не трогать | N/A (несущественный impact, сознательно) |
Карта целевой структуры (before → after)
| Кампания | Статус | Действие | Режим |
|---|---|---|---|
| Категория A (PMax) | ENABLED · 15.2 | KEEP + brand-exclusion + сигналы/расширения; тест ↑бюджет / ↓tROAS лишь после F4 | phased |
| Категория B (PMax, новая) | ENABLED · 10.9 | PROTECT (гео-исключения) + сигналы + наполнить группы | direct |
| Brand Search (новая) | CREATE | CREATE на паузе — захватить бренд-спрос дёшево, убрать из PMax (F5) | create |
| Категория «всё прочее» + B | PAUSED · 7.3 | INVESTIGATE — почему пауза; возможна консолидация | клиент |
| Категория C (электро) | PAUSED · 0.27 | KEEP PAUSED — слабая экономика | do_nothing |
| Категория D (нишевая) | PAUSED · 31.6 | INVESTIGATE — мало данных (84 клика), высокая отдача; перезапуск под сезон | experiment |
Бюджет + дизайн эксперимента
| Кампания | Текущий (90д) | Действие по бюджету | lost IS | Обоснование | Увер. |
|---|---|---|---|---|---|
| Категория A | ₴51 136 | держать → тест ↑ после F4 | n/д | ROAS 15.2 на бумаге, но завышен каннибализацией — сначала проверить | 70% |
| Категория B | ₴8 419 | держать + сигналы | n/д | новая, <30д, lag не дозрел — рано трогать бюджет | 65% |
| Топ-ROAS гео | ≈₴8 500 | перенаправить сюда | — | ROAS 27–48, недофинансированы (F12) | 65% |
90-дневный roadmap
Стоп утечки
P0: гео-исключение оккупированных городов + убрать тест-конверсию из primary. Настроить измерение звонков, GA4-фильтры, фикс disapproved-товара.
Бренд + сигналы
Brand-exclusion в PMax + brand-Search на паузе; сигналы для групп кат. B; callouts/snippets/price/promotion; наполнить пустую группу; исправить нейминг.
Обучение
Дать PMax обучиться на чистых конверсиях; отделить new-vs-returning (F4); тест ↓tROAS (experiment); мониторить lag.
Чистка
Дубли SKU и waste-товары в фиде; решение по слабым гео-регионам по накопленным данным (с учётом звонков).
Масштаб
После подтверждения маржи И чистого сигнала — масштабировать в топ-ROAS регионы; рассмотреть перезапуск нишевой кампании под сезон.
Банк ключей + анализ текстов
Keyword Planner (UA, реальные объёмы/мес — ключи замаскированы): категория B — топ-запрос 49 500, далее 18 100 / 8 100 / 2 400 / 1 900 / 880; категория A — топ 12 100, далее 2 900 / 2 400 / 1 900 / 1 300 + бренд-запросы 1 900 / 1 600 / 720 / 590. Высокочастотные бренд-запросы (≈5 тыс/мес) — это тот спрос, что сейчас поглощает PMax без контроля (F4/F5).
Полный разбор заголовков двух активных групп (тексты замаскированы до категорийного уровня; вердикт + причина — как в реальном отчёте):
| Тип | Текст (категорийно) | Вердикт | Причина |
|---|---|---|---|
| H | Купить [категория A] | ОСТАВИТЬ | EXCELLENT, intent-match |
| H | Экономное [категория A] для дома | ОСТАВИТЬ | Выгода, заземлено |
| H | Лучшие [товары A] для дома | ЗАМЕНИТЬ | Мягкий superlative «лучшие» → «от официального дилера» (trust) |
| H | Топ [подкатегория A] | ЗАМЕНИТЬ | «Топ» слабый → «[подкатегория] −15%» (выгода, заземлено на LP) |
| H | [Категория A] + гарантия | ОСТАВИТЬ | Подтв. сервис/гарантию в ALLOWED |
| H | Лучшие цены на [сленг кат. B] | ЗАМЕНИТЬ | Сленг/обрезка + superlative → «[категория B] в наличии» |
| H | [Категория B], топ-серия | ОСТАВИТЬ | Intent (2 400/мес) |
| H | (нет бренд-хука) | ДОБАВИТЬ | Спрос бренд-запроса 1 900/мес → «[бренды]» (соц-доказ) |
| H | (нет сервис-хука) | ДОБАВИТЬ | Спрос сервис-запроса 880/мес → «Гарантия и сервис» (выгода) |
Промпт-карты на новые изображения
Готовы к вставке в генератор для слабой/пустой группы. Каждый — «черновой концепт, требует бренд/legal проверки». Продукт замаскирован; техника (форматы, запреты) — как в реальном отчёте.
1) Товар в современном интерьере
1.91:1 · PMax/Display2) Товар в домашнем интерьере
1:1 · PMax · trust3) Сезонный комфорт
4:5 · Discovery/Display4) Studio trust-shot
1.91:1 · premiumGA4-аудитории + Merchant supplemental
GA4-аудитории
Покупатели 90д (exclusion из prospecting + LAL); cart-abandoners 30д (add_to_cart без purchase → ремаркетинг); high-intent (view_item ≥2 или hover_phones/form_start без покупки); engaged ≥N для LAL. Сигнал должен совпадать с товарным составом кампании — категорийная аудитория РОВНО в свою кампанию, не «общая».
Merchant — 5-слойная доктрина
Только supplemental (никогда products.insert). setup/feed: custom_label margin_tier / performance / season. title: формулы по «причине покупки». price/description: ценовой коридор; описание как источник ключей. image: без вотермарок. moderation: фикс disapproved (F16), сверка цена сайт↔фид.
Снятие item-level ограничения
(1) запросить роль Standard/Admin в Merchant для сервисного аккаунта (или разово выгрузить Diagnostics→Products); (2) повторно прогнать статусы с полными правами; (3) лишь тогда делать item-level выводы по waste/price/stock. До этого Shopping-выводы сужены, а не окончательны.
Риски и оговорки
- Малый объём конверсий (8–9/мес на активную кампанию) → читать доверительным интервалом, не недельными точками; не паузить/масштабировать на 1–2 конверсиях.
- Conversion lag в новой кампании → recent-окно систематически недозачитывает реальную ценность; вердикты по свежему периоду — со сниженной уверенностью.
- Телефонный канал невидим для Ads, пока не подключено измерение звонков — часть «нулевых» гео/товаров на самом деле приносит лиды.
- Масштабирование заблокировано до подтверждения маржи/target-ROAS И проверки каннибализации (F4) — голый revenue-ROAS ≠ прибыль.
- Merchant item-level сужен правами доступа — товарные выводы фид-уровневые до снятия ограничения.
- Сезонность двух линий → корректное сравнение лишь в сезонных окнах.
Покрытие + сводка
| Кампания | Статус | Расход ₴ | Конв. | Ценность ₴ | ROAS | Цель |
|---|---|---|---|---|---|---|
| Категория A | ENABLED | 51 136 | 25.0 | 775 813 | 15.2 | 3.7 |
| Категория B | ENABLED | 8 419 | 9.0 | 91 331 | 10.9 | 4.7 |
| Прочее + B | PAUSED | 13 120 | 8.0 | 95 902 | 7.3 | 14.0 |
| Категория C | PAUSED | 11 270 | 1.0 | 3 042 | 0.27 | 14.0 |
| Категория D | PAUSED | 1 451 | 2.0 | 45 922 | 31.6 | 14.0 |
| Итого | 85 396 | 45.0 | 1 012 010 | 11.9 |
| Гео (топ) | Расход ₴ | ROAS | Сигнал |
|---|---|---|---|
| г. Киев | 16 648 | 10.0 | топ-spend, сильный |
| Регион H | 3 929 | 40.6 | ⭐ недофинансирован |
| Регион G | 4 594 | 35.1 | ⭐ недофинансирован |
| 5 регионов | ≈9 000 | 0 | ❌ watchlist (0 конв) |
Покрытие анализа: кампании 5/5 (100% spend); asset groups 13/13; товары топ-30 по расходу; гео — все 23 области + Киев (100%); все 14 conversion actions. Покрытие «Действий»: 19/19 находок (100%) маршрутизировано в Действие / Задачу / Watchlist / N-A — инвариант «0 report-only».
GAQL: campaign · conversion_action(+segments) · campaign_criterion LOCATION · geographic_view · segments.device/lag · asset_group(+asset/signal) · campaign_asset · shopping_performance_view · customer · brand-exclusion check. GA4: sessionSourceMedium, newVsReturning, eventName. Keyword Planner. Merchant: product_statuses.
Reconciliation: Ads value 1 012 010 ↔ GA4 google/cpc 966 281 → +4.7% (value-level, web-purchase; не покрывает телефонный путь). Данные — реальное время запроса (live read-only).
Как сделан этот аудит
Отчёт подготовил Nestor AI — наш AI-оператор в UPLIFY OS: senior-уровень анализа аккаунта по нашей собственной методологии. Все предложения изменений («Действия») подтверждает менеджер — ничего не применяется к аккаунту автоматически, каждое изменение обратимо, залогировано и имеет триггер отката. Каждая находка ведёт к решению: действие, задача, watchlist или сознательное «не трогать» — ничего не остаётся просто текстом.