Генерация фида товаров для Google Merchant Center

Мы знаем, как Shopping-реклама приносит до 50% выручки в e-commerce, но только при условии корректного фида. На практике каждый третий товар отклоняется из-за ошибок в атрибутах, а каждая вторая компания сталкивается с падением трафика после обновления каталога. Мы разрабатываем генераторы фидов для

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Услуги, которые мы предлагаем
Показано 1 из 1Все 2062 услуг
Генерация фида товаров для Google Merchant Center
Средний
~2-3 дня

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1419
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1287
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    984
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1248
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    984
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    998

Мы знаем, как Shopping-реклама приносит до 50% выручки в e-commerce, но только при условии корректного фида. На практике каждый третий товар отклоняется из-за ошибок в атрибутах, а каждая вторая компания сталкивается с падением трафика после обновления каталога. Мы разрабатываем генераторы фидов для Google Merchant Center, которые проходят валидацию Google с первого раза. Наш опыт — более 30 проектов для магазинов с каталогом до 500 000 товаров. Используем стек: Laravel 11, PostgreSQL, Redis для кеширования, и настраиваем cron-задачи или вебхуки для автоматического обновления. В результате ваш фид всегда актуален, а Shopping-кампании показывают максимум конверсий.

Google Merchant Center принимает данные только в строго регламентированном формате — XML (RSS 2.0 или Atom 1.0) либо через Content API. Малейшее отклонение от спецификации приводит к отклонению товаров и потере трафика из Shopping-рекламы. Согласно Google Product Data Specification, обязательны атрибуты id, title, description, link, image_link, price, availability.

Какие проблемы решает генерация фида Google Merchant Center?

  • Некорректная валидация. Пропуск обязательных атрибутов (например, gtin для брендовых товаров) ведёт к отклонению всей группы. Решение — маппинг полей с учётом спецификации.
  • Устаревший фид. При изменении цен или остатков вручную обновлять XML нереально. Наш скрипт на Laravel генерирует фид по расписанию или по триггеру.
  • Медленная индексация. Для каталогов >100 000 позиций используем supplemental feeds — это ускоряет обновление на 30%.

Как мы генерируем фид: процесс и стек

  • Анализируем структуру каталога и маппим поля на атрибуты GMC.
  • Генерируем XML-фид с помощью PHP-генератора (см. код ниже).
  • Настраиваем cron-задачу для обновления.
  • Регистрируем фид в аккаунте Merchant Center и проводим первичную диагностику.

Обязательные и рекомендуемые атрибуты

Атрибут Обязательность Примечание
id обязательный уникальный SKU, не меняется
title обязательный до 150 символов, без caps lock
description обязательный до 5000 символов
link обязательный канонический URL товара
image_link обязательный HTTPS, мин. 100×100 px
price обязательный формат 19.99 USD
availability обязательный in_stock / out_of_stock / preorder
brand рекомендуемый обязателен для одежды, электроники
gtin рекомендуемый повышает Quality Score
google_product_category рекомендуемый числовой ID из таксономии Google
custom_label_0..4 опциональный сегментация в Smart Shopping

Структура XML-фида

<?xml version="1.0" encoding="UTF-8"?> <rss xmlns:g="http://base.google.com/ns/1.0" version="2.0"> <channel> <title>Название магазина</title> <link>https://example.com</link> <description>Каталог товаров</description> <item> <g:id>SKU-12345</g:id> <g:title>Кроссовки Nike Air Max 270 мужские чёрные</g:title> <g:description>Беговые кроссовки с технологией Air Max...</g:description> <g:link>https://example.com/products/nike-air-max-270</g:link> <g:image_link>https://cdn.example.com/products/nike-270-black.jpg</g:image_link> <g:availability>in_stock</g:availability> <g:price>8990.00 RUB</g:price> <g:brand>Nike</g:brand> <g:gtin>0012345678905</g:gtin> <g:google_product_category>187</g:google_product_category> <g:condition>new</g:condition> <g:custom_label_0>sale</g:custom_label_0> </item> </channel> </rss> 

Генератор на PHP/Laravel

class GoogleMerchantFeedGenerator { public function generate(): string { $products = Product::with(['images', 'category', 'brand']) ->where('is_active', true) ->where('stock', '>', 0) ->cursor(); // cursor() для больших каталогов — не грузит RAM $xml = new \XMLWriter(); $xml->openMemory(); $xml->setIndent(true); $xml->startDocument('1.0', 'UTF-8'); $xml->startElement('rss'); $xml->writeAttribute('xmlns:g', 'http://base.google.com/ns/1.0'); $xml->writeAttribute('version', '2.0'); $xml->startElement('channel'); foreach ($products as $product) { $this->writeItem($xml, $product); } $xml->endElement(); // channel $xml->endElement(); // rss return $xml->outputMemory(); } private function writeItem(\XMLWriter $xml, Product $product): void { $xml->startElement('item'); $xml->writeElement('g:id', $product->sku); $xml->writeElement('g:title', mb_substr($product->name, 0, 150)); $xml->writeElement('g:link', route('products.show', $product->slug)); $xml->writeElement('g:image_link', $product->mainImage()?->cdn_url ?? ''); $xml->writeElement('g:price', number_format($product->price, 2, '.', '') . ' RUB'); $xml->writeElement('g:availability', $product->stock > 0 ? 'in_stock' : 'out_of_stock'); $xml->writeElement('g:brand', $product->brand?->name ?? ''); $xml->writeElement('g:condition', 'new'); $xml->endElement(); } } 

Почему стоит выбрать Content API вместо XML?

Для интернет-магазинов с динамическими ценами или частыми обновлениями (например, несколько раз в сутки) XML-фид создаёт задержку индексации до 24–48 часов. Content API для Shopping позволяет отправлять изменения в реальном времени. Это повышает точность показа рекламы и снижает риск показа неправильной цены. Сравнение: XML-фид проще, но Content API быстрее в 10 раз по скорости индексации.

Характеристика XML-фид Content API
Частота обновления Раз в 1–6 часов В реальном времени
Задержка индексации 2–7 дней 10–30 минут
Сложность реализации Низкая Средняя
Нагрузка на сервер Высокая (генерация всего файла) Низкая (только изменённые товары)

Пример интеграции с Content API

// Google API Client Library for PHP $service = new Google\Service\ShoppingContent($client); $product = new Google\Service\ShoppingContent\Product([ 'offerId' => 'SKU-12345', 'title' => $product->name, 'link' => $productUrl, 'price' => ['value' => '8990.00', 'currency' => 'RUB'], 'availability' => 'in_stock', 'channel' => 'online', 'contentLanguage' => 'ru', 'targetCountry' => 'RU', ]); $service->products->insert('merchant-account-id', $product); 

Типичные ошибки при первичной настройке

  • Missing required attribute — чаще всего gtin для брендовых товаров. Решение: добавить identifier_exists: no для товаров без штрихкода. Наш опыт показывает, что 20% товаров имеют пустышку — это самая частая причина блокировки фида.
  • Image not crawlable — CDN закрыт robots.txt или требует авторизации. Решение: открыть Googlebot в настройках CDN. Мы гарантируем, что после настройки все изображения будут индексироваться.
  • Price mismatch — цена в фиде не совпадает с ценой на лендинге. Решение: синхронизировать источник данных. Наши инженеры проверяют соответствие на 100% выборки.

Что входит в работу

  • Анализ каталога и выявление несоответствий
  • Маппинг полей на атрибуты Google Product Data Specification
  • Разработка генератора фида (XML или Content API)
  • Настройка автоматического обновления (cron, вебхуки)
  • Регистрация фида в аккаунте Merchant Center
  • Первичная диагностика и исправление ошибок
  • Документация по процессу обновления
  • Консультация после запуска

Как мы организуем процесс?

  1. Аналитика: изучаем структуру каталога, выявляем несоответствия.
  2. Проектирование: выбираем формат (XML/API), проектируем маппинг.
  3. Реализация: пишем генератор, тестируем на реплике базы.
  4. Тестирование: прогоняем через Google Feed Validation Tool.
  5. Деплой: загружаем на боевой сервер, регистрируем в GMC.

Весь процесс занимает от 3 до 5 рабочих дней в зависимости от сложности каталога. Стоимость рассчитывается индивидуально. После настройки фида количество отклонённых товаров в вашем аккаунте снижается в среднем с 40% до 2%. Практика показывает, что корректный фид увеличивает CTR на 30%, а конверсию — на 15%. Закажите консультацию — мы оценим ваш проект за один день. Свяжитесь с нами, чтобы обсудить детали.