Большинство отчётов Performance Max показывают выручку и ROAS. Валовую прибыль показывают единицы, потому что Google может её рассчитать, только если у каждого товара в фиде указана себестоимость. При этом Google допускает, что эти данные могут быть приблизительными: в его собственном руководстве по настройке предлагается оценивать COGS в 80% от цены товара, если точных цифр нет. Это руководство предназначено для фид-менеджеров и руководителей платного трафика, у которых где-то есть столбец с себестоимостью (экспорт из ERP, прайс-лист поставщика) и которые хотят загрузить его в фид Merchant Center. К концу вы получите правильно оформленный атрибут cost_of_goods_sold, соответствующий ему тег конверсии и первый отчёт по марже, который можно превратить в уровни custom label.
Что cost_of_goods_sold делает и чего не делает
cost_of_goods_sold — это атрибут Merchant Center, который обеспечивает отчётность по валовой прибыли. Google определяет валовую прибыль как выручку минус COGS. Атрибут не влияет на то, какие товары одобряются, как они ранжируются и какие ставки вы задаёте. Он лишь даёт Google Ads значение себестоимости, которое нужно вычесть из выручки, уже зафиксированной по каждому проданному товару.
Для большинства продавцов атрибут необязателен. Google называет его обязательным только для автоматических скидок и динамических акций. Для всех остальных это улучшение отчётности, и работает оно только в том случае, если тег конверсии также передаёт данные корзины на уровне товаров.
Атрибут не является настройкой ставок, а Feedance не управляет ставками. Эти данные дают надёжное представление о том, какие товары и кампании приносят деньги, так что решения о структуре и бюджете, которые вы принимаете в других местах, опираются на прибыль, а не на выручку.
Шаг 1. Определите, откуда брать себестоимость каждого товара
Google принимает точные значения, средние и оценочные, поэтому первое решение — какому источнику вы доверяете настолько, чтобы его поддерживать. Ниже мы ранжировали варианты по тому, как часто они остаются точными после первого месяца.
| Источник себестоимости | Точность | Трудоёмкость поддержки | Когда использовать |
|---|---|---|---|
| Экспорт из ERP или системы учёта запасов по SKU | Высокая | Низкая после автоматизации | Себестоимость уже хранится по каждому варианту |
| Прайс-лист поставщика, сопоставленный по SKU | От средней до высокой | Средняя; прайс-листы меняются каждый сезон | ERP нет, но есть аккуратный файл поставщика |
| Среднее по категории (например, 0,62 × цена для одной категории) | Средняя | Низкая | Маржа внутри категории примерно одинакова |
| Фиксированный процент от цены (пример Google: 80%) | Низкая | Отсутствует | Первый отчёт нужен на этой неделе, а уточнить данные можно позже |
Фиксированный процент даёт валовую прибыль, которая меняется строго пропорционально выручке, поэтому она никогда не покажет, что один товар приносит с продажи больше другого. Используйте его, чтобы включить отчётность, а не чтобы принимать решения по марже.
Шаг 2. Точно оформите атрибут
Спецификация Google для cost_of_goods_sold — это число и код валюты по ISO 4217 без повторов, с точкой в качестве десятичного разделителя. Нарушение любого из этих правил может сделать товары неподходящими для отчётности, и данные окажутся неполными.
В фиде с разделителем-табуляцией значение выглядит так:
412.50 TRY
В XML:
<g:cost_of_goods_sold>412.50 TRY</g:cost_of_goods_sold>
Используйте для COGS ту же валюту, в которой тег конверсии передаёт цену. Google рекомендует это, чтобы избежать расхождений из-за курсов валют. Продавцам, которые торгуют в турецких лирах, а поставщик выставляет счета в евро, нужно перед экспортом пересчитать себестоимость в лиры прямо в фиде по курсу, который вы обновляете по расписанию.
Вот самые частые ошибки форматирования в столбцах себестоимости, которые мы встречаем, и к чему приводит каждая из них:
| Исходное значение | Проблема | Исправленное значение |
|---|---|---|
412,50 TRY | Запятая как десятичный разделитель, типичная для экспортов с турецкой локалью | 412.50 TRY |
412.50 | Нет кода валюты | 412.50 TRY |
TL 412.50 | Это не код ISO 4217, к тому же неверный порядок | 412.50 TRY |
1,412.50 TRY | Разделитель тысяч внутри числа | 1412.50 TRY |
0.00 TRY | Пустая себестоимость экспортирована как ноль, что воспринимается как маржа 100% | Не указывайте атрибут для этого товара |
Последняя строка — это наше решение, а не правило Google. Нулевая себестоимость — допустимое число, поэтому Google её примет, но она завысит валовую прибыль по этому товару. Если себестоимость неизвестна, мы не указываем атрибут.
Шаг 3. Передайте значение в Merchant Center
Google называет три способа передать данные COGS: ваш товарный фид, Content API (и его преемник Merchant API) или дополнительный фид. Вариант с дополнительным фидом обычно самый безопасный, когда данные о себестоимости берутся из другой системы, нежели каталог товаров: вы можете отправить файл из двух столбцов (id и cost_of_goods_sold), не трогая основной фид.
Если вы управляете фидами через платформу, аналог — слой, который добавляет атрибут, не переписывая источник. В Feedance для этого предназначены дополнительные фиды, а feed rules могут рассчитать среднюю себестоимость по категории из цены, когда вы используете оценку. Примера клиента для именно такого сценария мы не публиковали, поэтому воспринимайте механику так, как она описана на страницах этих функций.
Шаг 4. Убедитесь, что данные корзины совпадают с ID в фиде
Себестоимость используется, только если Google может сопоставить проданный товар с товаром в фиде. В справке Google сказано, что ID товаров в массиве items тега конверсии должны в точности совпадать с атрибутом id в вашем фиде Merchant Center, а обрабатываются только товары из аккаунта Merchant Center, связанного с аккаунтом Google Ads. Подходящими конверсиями считаются только конверсии-покупки, по которым можно задавать ставки и которые отслеживаются через тег Google или Google Tag Manager.
Пройдитесь по этому чек-листу, прежде чем ждать данные:
- Аккаунт Merchant Center связан с аккаунтом Google Ads, которому принадлежит конверсия-покупка.
- Тег покупки передаёт массив items с ID, ценой и количеством для каждой позиции заказа.
- ID в теге — та же строка, что и
idв фиде, включая регистр и суффикс варианта. Если тег отправляет SKU родительского товара, а в фиде используются ID вариантов, совпадений не будет. - Цена в теге указана в той же валюте, что и значения COGS.
- В диагностике действия-конверсии нет предупреждений о несовпадающих ID. Google указывает на этот раздел диагностики как на способ найти несоответствия.
Несовпадение ID товаров — самая частая причина того, что после запуска COGS вместо чисел отображаются прочерки. Google отмечает, что без атрибута COGS значения COGS и валовой прибыли в отчётах пустые или отображаются прочерком.
Шаг 5. Прочитайте первый отчёт и сверьте его с финансовыми данными
Google Ads показывает результаты в виде валовой прибыли, маржи валовой прибыли, себестоимости проданных товаров, выручки и количества проданных единиц. Для Performance Max в документации Google Ads API эти метрики указаны как metrics.gross_profit_micros, metrics.gross_profit_margin и metrics.cost_of_goods_sold_micros, они доступны в asset_group_product_group_view, campaign, customer и shopping_performance_view.
Две оговорки из документации API влияют на то, как читать первые цифры. Метрики данных корзины недоступны, пока не будут зафиксированы все конверсии по соответствующим товарам, поэтому первые дни будут выглядеть неполными. Кроме того, начиная с 15 июня 2026 года shopping_performance_view включает данные из всех сетей Performance Max, а не только из Контекстно-медийной сети, поэтому метрики могут один раз вырасти, когда эти данные добавятся. Если вы сравниваете периоды «до» и «после», не считайте этот единовременный скачок результатом изменения фида.
Проверьте цифры на здравый смысл: выберите неделю, возьмите выручку, которую Google Ads относит к данным корзины, вычтите себестоимость тех же товаров по данным вашей финансовой службы и сравните. Если ваш COGS — это среднее значение, ожидайте расхождения. Не ждите, что оно будет нулевым.
Шаг 6. Превратите валовую прибыль в уровни маржи
Когда маржа валовой прибыли видна по каждому товару, разбейте товары на несколько уровней и запишите уровень в custom label. Google допускает custom_label_0–custom_label_4, каждый длиной до 100 символов, с одним значением на товар для каждого атрибута и до 1000 уникальных значений на метку. Трёх-пяти уровней достаточно.
Пример схемы (числа приведены для иллюстрации, это не бенчмарки):
| Валовая маржа от цены в фиде | Значение custom_label_1 | Типичное применение |
|---|---|---|
| Ниже 20% | margin_low | Отдельная группа листинга; оценивайте по прибыли на клик, а не по ROAS |
| От 20% до 40% | margin_mid | Группа по умолчанию |
| Выше 40% | margin_high | Кандидат на увеличение бюджета |
| Нет COGS | margin_unknown | Список для проверки; исправьте данные |
Уровень — это расчёт на стороне фида на основе price и cost_of_goods_sold, поэтому feed rule может записывать его автоматически при каждой пересборке фида. В нашей предыдущей статье о custom label, типе товара и ID товара для групп листинга Performance Max разбирается, сколько измерений меток выдерживает дерево групп листинга, прежде чем начнёт дробиться. Если вы хотите проверить, помогло ли изменение, наш метод оценки влияния изменения фида на ROAS применим без изменений.
Шаг 7. Поддерживайте столбец себестоимости в актуальном состоянии
Себестоимость устаревает быстрее, чем цена. Назначьте ответственного и периодичность обновления. Делайте повторный экспорт после каждого изменения цен поставщика, каждого значимого для вашей маржи движения курса валют и каждого сезона. Товар, себестоимость которого превысила цену, должен показывать отрицательную маржу в вашей собственной проверке ещё до того, как попадёт в отчёт.
Где этот подход даёт сбой
Отчётность по COGS измеряет валовую прибыль по проданным товарам. Она не включает субсидирование доставки, возвраты, комиссии за платежи и расходы на рекламу, поэтому товар может показывать здоровую валовую маржу и всё равно приносить убыток. В документации Google по SA360 приводится пример оптовой себестоимости до налогов, доставки и рекламных расходов, что подтверждает именно такой охват.
Кроме того, всё зависит от корректной реализации данных корзины, а покупка должна быть конверсией, которую Google может атрибутировать. В этих метриках могут появиться только покупки, переданные как конверсии с данными корзины.
Средние значения скрывают разброс. Если в одной категории смешаны аксессуар с маржой 15% и основной товар с маржой 55%, среднее по категории исказит данные по обоим.
Эту тему освещают и конкуренты. DataFeedWatch публикует руководство по добавлению себестоимости проданных товаров в фид для отчётности по валовой прибыли, а платформы, ориентированные на рентабельность товаров, такие как ROI Hunter, могут подойти вам лучше, если логика прибыли — ваша главная задача (см. наше сравнение). Feedance подготавливает данные, но не устанавливает на их основе ставки или бюджеты.
FAQ
Обязателен ли cost_of_goods_sold для Google Shopping?
Нет. Google считает его необязательным, за исключением автоматических скидок и динамических акций, где он обязателен. Без него ваша реклама работает в обычном режиме, но метрики COGS и валовой прибыли будут пустыми.
Должна ли себестоимость быть точной?
Нет. Google говорит, что данные нужны для отчётности и не обязаны быть точными. Если себестоимость различается по товарам, укажите среднее значение или грубую оценку, например 80% от цены.
Могут ли покупатели увидеть себестоимость?
Google описывает атрибут как входные данные для отчётности, используемые, когда конверсии передаются с данными корзины. В его документации он не представлен как рекламный контент, но мы не проверяли все поверхности, поэтому убедитесь в этом в своём аккаунте.
Почему в отчётах по валовой прибыли стоит прочерк?
Обычно либо отсутствует атрибут, либо ID в теге конверсии не совпадают с id в фиде. Сначала проверьте диагностику действия-конверсии на предмет несовпадающих ID.
Какую валюту использовать?
Ту, в которой тег конверсии передаёт цену. Google рекомендует, чтобы они совпадали, чтобы избежать расхождений из-за курсов валют.
Работает ли это с Performance Max?
Да. В документации Google Ads API описаны метрики данных корзины, включая валовую прибыль и маржу валовой прибыли, для кампаний Performance Max, где реализованы конверсии с данными корзины.
Куда добавить атрибут, если не хочется редактировать основной фид?
Используйте дополнительный фид или Content API / Merchant API. Google называет их наряду с основным фидом допустимыми способами доставки данных.
Чем это отличается от custom label?
Атрибут себестоимости питает отчётность Google по прибыли. Custom label — это сегмент, который вы задаёте для структуры кампаний. Первый нужен, чтобы рассчитать маржу, второй — чтобы действовать на её основе.
Проверьте фид, прежде чем добавлять столбец себестоимости
Столбец себестоимости полезен, только если с остальной частью фида всё в порядке. Прогоните свой фид через бесплатный инструмент аудита товарного фида, чтобы найти отсутствующие и некорректные атрибуты, прежде чем выстраивать на них уровни маржи.
Источники
- Справка Google Merchant Center: Cost of goods (COGS) [cost_of_goods_sold]
- Справка Google Ads: About conversions with cart data
- Справка Google Ads: Set up and test reporting with conversions with cart data
- Справка Search Ads 360: Enable reporting on profit margins for Conversions with Cart Data
- Google Ads API: Performance Max retail reporting
- Справка Google Merchant Center: Custom label [custom_label_0 to custom_label_4]
- DataFeedWatch: Get reporting on gross profit by adding cost of goods sold to your feed

Сооснователь Feedance, использующий свой опыт инженера-программиста и маркетолога для получения аналитических инсайтов. Уделяя особое внимание превращению данных в практические стратегии, он помогает брендам добиваться значительного роста в цифровой среде.
LinkedIn



















