Фид Shopping в Excel

Превратите товарный фид Merchant Center в таблицу: загрузите XML, вставьте его или укажите ссылку. Одна строка на товар, проверка фида, всё в браузере.

…или перетащите его сюда. Принимаются .xml, .rss, .atom и сжатый .xml.gz — RSS 2.0 с пространством имён g:, Atom 1.0 или любой товарный XML.

Сначала загрузка идёт из вашего браузера; если магазин блокирует кросс-доменные запросы, файл один раз загружается через insighthackerz.com — ничего не сохраняется и не логируется. Фиды за авторизацией или белым списком IP нужно загружать файлом.

Как это работает

1. Получаем фид: файл, вставленный XML или ссылка — загружает ваш браузер и только через insighthackerz.com, если магазин блокирует кросс-доменные запросы
2. Распаковываем gzip (.xml.gz) и декодируем кодировку, заявленную в XML-объявлении, — локально
3. Определяем элемент товара: <item> для RSS 2.0, <entry> для Atom 1.0, <product> для выгрузок платформ
4. Убираем префикс пространства имён, чтобы <g:image_link> стал столбцом image_link
5. Разворачиваем вложенные атрибуты в столбцы с точкой: shipping.country, shipping.price, tax.rate, product_detail.attribute_value
6. Повторяющиеся значения соединяем через « | » — несколько additional_image_link или блоков shipping остаются в одной строке
7. Упорядочиваем столбцы по спецификации товарных данных Google и записываем .xlsx (закреплённая жирная шапка, автофильтр) или CSV в UTF-8

О товарных фидах Google

Фид Merchant Center — это XML, написанный для робота, а не для человека: каждый товар лежит в <item> с 20–60 элементами в пространствах имён, часть из которых вложена одна в другую. Открытие такого файла в Excel даёт либо свёрнутое дерево XML, либо диалог сопоставления схемы, а открытие в браузере — стену тегов. Этот конвертер делает то разворачивание, которое нужно таблице: одна строка на товар, один столбец на атрибут, в порядке спецификации Google, — и фид можно сортировать, фильтровать и сводить как обычную товарную выгрузку.

Вложенные и повторяющиеся атрибуты — то место, где наивные конвертеры XML в Excel выдают непригодный результат: они либо дублируют товар на несколько строк, либо отбрасывают всё после первого значения. Здесь вложенные блоки становятся столбцами с точкой (shipping.country, shipping.service, shipping.price), а повторяющиеся значения соединяются через « | », поэтому товар с тремя изображениями и двумя правилами доставки остаётся ровно одной строкой — именно это позволяет делать ВПР к вашей собственной выгрузке товаров.

Проверка фида рядом с кнопкой скачивания — обычно та часть, ради которой всё и затевалось: она считает товары без id, title, description, link, image_link, availability или price, отмечает дублирующиеся ID (Merchant Center оставит один и молча проигнорирует остальные), названия длиннее лимита в 150 символов, товары без идентификатора brand/GTIN/MPN и то, у какой доли фида заполнена google_product_category. Это ровно те причины отклонения, о которых иначе вы узнаете на сутки позже во вкладке «Диагностика».

Само преобразование всегда выполняется на вашем устройстве: XML читает встроенный парсер браузера, а .xlsx собирается на JavaScript, поэтому фид на 50 МБ конвертируется настолько быстро, насколько его успевает прочитать ваш ноутбук — без очереди и без тарифов по размеру файла. Файл, который вы загрузили или вставили, вкладку вообще не покидает. Ссылку на фид браузер сначала запрашивает напрямую, а когда магазин блокирует кросс-доменные запросы (а так делает большинство), файл один раз проходит через insighthackerz.com и хранится только в памяти: ничего не пишется на диск, не кешируется и не попадает в логи, а страница показывает, какой из двух путей был использован.

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

Какие форматы фида принимаются?
Два формата, которые принимает Merchant Center, — RSS 2.0 с пространством имён g: и Atom 1.0, — плюс обычный XML вида <products><product>, который выгружают приложения Shopify, плагины WooCommerce, T-Soft, Ticimax, Magento и большинство генераторов фидов. Файлы с расширением .gz распаковываются прямо в браузере, поэтому сжатую ссылку на фид можно использовать как есть.
Можно ли указать ссылку на фид вместо файла?
Да — вставьте адрес XML, который генерирует ваш магазин (тот же, что вы дали Merchant Center), и нажмите «Загрузить». Сначала пробует ваш браузер; если хост не разрешает кросс-доменные запросы, файл один раз загружается через insighthackerz.com, хранится в памяти только в рамках этого запроса и нигде не сохраняется и не логируется. Фиды за авторизацией, за белым списком IP без токена или под basic auth придётся скачать и загрузить файлом, а для пути по ссылке действует ограничение в 40 МБ.
Сохраняются ли где-нибудь ссылка на фид или его содержимое?
Нет. Эндпоинт загрузки ничего не пишет на диск, отдаёт ответ с no-store, не ведёт лог запрошенных адресов и отвечает только на запросы с insighthackerz.com. Разбор и сборка таблицы в любом случае происходят в вашем браузере, поэтому сами товарные данные на сервере никогда не сохраняются.
Что происходит с вложенными атрибутами вроде shipping и tax?
Они становятся столбцами с точкой — shipping.country, shipping.service, shipping.price, tax.rate, — а когда у товара несколько блоков доставки, значения выстраиваются в одном порядке и соединяются через « | ». Ничего не отбрасывается, поэтому таблица остаётся точным представлением фида.
Есть ли ограничение по размеру?
Практический потолок — память вашего браузера; файлы примерно до 150 МБ принимаются, а фид на 20–50 МБ со 100 тысячами товаров — рядовая задача для обычного ноутбука. Фиды, которые не помещаются в лимит Excel в 1 048 576 строк, раскладываются на несколько листов одной книги.
Сохраняет ли .xlsx ведущие нули в GTIN и ID?
Да — каждая ячейка записывается как текст, поэтому 0123456789012 остаётся как есть и не превращается в число. По той же причине цены приходят в виде «18.90 EUR»: значение ровно такое, какое лежит в фиде, и его легко разделить, если нужен числовой столбец.
Можно ли собрать фид обратно из таблицы?
Здесь — нет. Это инструмент для чтения и аудита: им удобно проверить фид, передать список товаров тому, кто не работает в Merchant Center, или сравнить две выгрузки. Генерация фида — задача той платформы, в которой лежат ваши товарные данные.