Зачем генератор, если XML «просто текст»
XML — список объявлений в тегах: Id, Title, Description, Price, Address, Category, картинки, ListingFee. Avito читает его строго. Лишняя кавычка, смешанные поля фото, пустой обязательный тег — строка в отчёте красная. Человеку это править незачем.
Генератор — слой, где вы видите «генеральная уборка, Москва, 3 500 ₽», а на выходе уже готовый Ads/Ad. Онлайн это удобно тем, что ссылка всегда отдаёт актуальную версию. Скачанный файл к вечеру уже спорный: кто его менял и куда сохранил.
Что должно получиться на выходе
Не «какой получится xml», а шаблон автозагрузки вашей категории. Услуги, товары, недвижимость — разные обязательные поля. YML от Яндекс Маркета сюда не подходит: другие теги и другая логика.
Хороший выход — постоянный URL. Открыли в браузере — видите XML. Вставили в автозагрузку Avito — площадка сама ходит по расписанию. В FeedCRM ссылка выглядит как feedcrm.ru/feeds/….xml и привязана к одному кабинету, не ко всей сети сразу.
Откуда генератор берёт строки
Три рабочих источника. Первый — Excel или CSV шаблона Avito: колонки Id, заголовок, цена, адрес. Второй — объявления, которые уже висят в кабинете: забираете их в редактор и дальше живёте там. Третий — с нуля в таблице CRM: написали карточку клининга, размножили на Казань и Краснодар.
Генератор не угадывает смысл оффера. Если в таблице пустая цена, в XML цена тоже пустая. Если в описании остался «выезд по Москве», а адрес Казань — это не баг генератора, это ваша строка.
Перед массовой заливкой выровняйте колонки с шаблоном категории. Переименовали «Price» в «Цена» для удобства — генератор может не узнать поле. Лучше оставить имена как в шаблоне Avito, а человеческие подписи держать в подсказках редактора.
Какие поля нельзя «додумать потом»
Id — ваш постоянный ключ карточки. Не ставьте в него дату и цену. Поменяли Id у той же услуги в том же городе — Avito часто создаёт второе объявление. Генератор должен брать Id из редактора, а не рисовать случайное число при каждой выгрузке.
ListingFee говорит, откуда платится размещение: пакет подписки Avito или кошелёк. Package — только пакет. Single — только кошелёк. PackageSingle — сначала пакет, потом кошелёк. Пустой тег площадка часто читает как Package: денег на кошельке полно, карточка не встаёт. В генераторе это поле ставят явно.
Не копируйте ListingFee из чужого фида авто. PackageBBL встречается в отдельных шаблонах и не синоним Package. Если в шаблоне услуг его нет — не ставьте «на всякий случай».
- Id один на весь срок жизни карточки
- ListingFee не оставляйте пустым «на удачу»
- Категория и адрес — как в шаблоне Avito, не «примерно услуги»
- Фото — доступные URL, не путь C:\\Users\\...
Фото и контакты: генератор не чинит битые ссылки
В XML картинки — это ссылки, которые Avito может скачать. Файл с рабочего стола в тег не кладут. Смешивать ImageUrls и ImageName в одной карточке нельзя: шаблон ждёт один способ. Если генератор спрашивает «список URL» — дайте список URL.
Контакт в фиде тоже поле шаблона, не «как удобно в WhatsApp». Телефон в описании и другой телефон в кабинете путают клиента. Для клининга лучше один номер на кабинет и способ связи, который вы реально читаете: чат, звонок или оба.
Один генератор — не один фид на все кабинеты
Сеть услуг почти всегда несколько профилей Avito: лимиты, разные бренды, разные регионы. Генератор должен уметь переключать кабинет и отдавать отдельную ссылку. Иначе в автозагрузку Москвы уедет Казань.
Проверьте это на старте. Создайте две тестовые карточки в двух аккаунтах. Откройте две ссылки. В каждой — свои Id и свои города. Если сервис предлагает «один XML на всё», для профессиональной автозагрузки это слабая схема.
Имя ссылки тоже дисциплина. Подписывайте кабинет в CRM так, чтобы не скопировать «feed Казань» в автозагрузку Москвы. Ошибка не в генераторе, в руке. Но хороший сервис показывает, к какому аккаунту привязан URL, прямо рядом с кнопкой «Копировать».
Как проверить фид до Avito
Откройте URL в браузере. Видите теги Ad и ваши заголовки — уже не ноль. Найдите одно объявление: цена 3 500, город совпадает, Id тот, что в редакторе. Если ссылка просит логин, Avito её тоже не заберёт.
Не гоните сразу 80 строк. Пять объявлений клининга. Дождитесь отчёта автозагрузки. Почините красные поля. Потом остальное. Генератор экономит разметку, но не отменяет модерацию и шаблон категории.
Если отчёт ругается на категорию, не «улучшайте XML» лишними тегами из другой ниши. Вернитесь к официальному шаблону услуг. Генератор должен уметь отдать ровно те поля, которые вы заполнили, без самодеятельности.
Пошагово: от таблицы клининга до ссылки
Скачайте или вспомните шаблон вашей категории на стороне Avito — чтобы знать обязательные колонки. Соберите 5 строк: «Клининг квартир, Москва», цена 3 500; «Клининг квартир, Казань», 2 900; плюс ещё три города с своими Id. Импортируйте в редактор или заполните поля там.
Проставьте ListingFee, проверьте фото-ссылки, сохраните. Скопируйте публичный URL. Вставьте в автозагрузку нужного кабинета Avito. Когда отчёт зелёный на тестовых — копируйте схему на остальные карточки. Цену потом меняете в таблице, XML пересобирается сам.
- Эталон — 5 строк, не весь архив за год
- Ссылку не пересоздавайте без нужды
- После смены цены смотрите XML и отчёт, не только витрину
Что генератор не заменяет
Он не пишет продающий текст за вас и не выбирает категорию «наугад». Не отвечает в чате. Не ставит ставку за клик. AdStatus в XML — это платные услуги карточки вроде выделения, не аукцион продвижения в кабинете.
Если цель — только собрать валидный фид, генератора хватает. Если цель — сеть кабинетов, правки пачкой и заявки в Telegram, генератор должен сидеть внутри CRM. В FeedCRM XML собирается из редактора: вы не трогаете теги, ссылка для Avito уже есть.
Соберите одну карточку клининга от полей до XML
Откройте шаблон вашей категории на стороне Avito — хотя бы глазами, чтобы знать обязательные поля. Для услуги обычно нужны Id, заголовок, описание, цена, адрес, категория, фото, ListingFee. Не копируйте чужой фид недвижимости: лишние теги либо проигнорируют, либо уронят строку.
Заведите Id, который проживёт год: klin-msk-gen-01, не «Клининг Москва 3500 21.08». Заголовок: «Клининг квартир, Москва». В описании — состав услуги, срок приезда, что входит в 3 500 ₽, город словами совпадает с адресом. Цена числом 3500, не «от 3 500». Адрес — как принимает шаблон, не «МСК, выезд куда скажете».
ListingFee поставьте явно. Если платите размещение из пакета подписки Avito — Package. Если готовы списать кошелёк — Single или PackageSingle. Фото — две-три ссылки, которые открываются в режиме инкогнито. Телефон в описании тот же, что в кабинете. Сохраните карточку в редакторе.
Откройте сгенерированный XML. Найдите блок этой карточки. Сверьте Id, Title, Price, Address, ListingFee. Если в редакторе 3500, а в XML пусто или «3 500 ₽» текстом — генератор не туда кладёт поле, чините соответствие колонок до массовой заливки. Не добавляйте руками теги DateBegin «для красоты», если их нет в шаблоне услуг.
Добавьте вторую строку: тот же оффер, Казань, цена 2 900, Id klin-kzn-gen-01. Сгенерируйте снова по той же ссылке. В файле должны быть оба Id, без исчезновения московского. Вставьте URL в автозагрузку кабинета. Когда отчёт примет обе строки — копируйте схему на остальные города. Генератор сделал разметку. Дальше вы живёте полями, не скобками.
- Id вечный, цена и дата в него не входят
- В XML проверяют ту же карточку, что в редакторе
- Вторая строка — проверка, что ссылка не затирает первую
- Шаблон категории важнее чужого «рабочего xml»
Частые вопросы
Можно ли создать XML-фид Avito полностью онлайн, без файла?
Да. Редактор в браузере и постоянная ссылка — нормальная схема. Откройте URL с телефона: должен быть XML, не страница входа. Файл нужен как запасной путь или чтобы отдать подрядчику образец шаблона.
Чем генератор лучше правки XML руками?
Вы не ломаете скобки и не путаете ImageUrls с ImageName. Поля как в таблице: заголовок, 3 500 ₽, город. Разметку собирает машина. Ручная правка одного тега на 80 строках почти всегда рождает новую ошибку в отчёте.
Подойдёт ли выгрузка из 1С «как есть»?
Нет, пока её не привели к шаблону Avito. У 1С свои поля, у площадки — Id, ListingFee, адрес категории. Генератор как раз промежуточный слой: ваши колонки → Ads/Ad. Без этого автозагрузка ответит отказом, даже если файл «похож на xml».
Нужно ли каждый раз нажимать «скачать XML»?
Нет, если стоит ссылка автозагрузки. Генератор обновляет содержимое по тому же URL. Скачивать файл имеет смысл, чтобы отдать человеку или положить бэкап с датой, не чтобы каждый день кормить Avito с диска.
Генератор сам проставит ListingFee?
Только если вы задали значение в карточке или правиле кабинета. Пустое поле площадка часто читает как Package: кошелёк полный, карточка не встаёт. Для клининга на подписке Avito обычно явно ставят Package.
Один генератор на несколько кабинетов Avito?
Сервис — один, ссылок — по числу кабинетов. Не смешивайте объявления Москвы и Казани в одном XML. В FeedCRM у каждого API-аккаунта своя ссылка вида feedcrm.ru/feeds/….xml — её и копируют в автозагрузку.
Следующий шаг
Соберите XML из таблицы, не из блокнота
FeedCRM генерирует фид из редактора и даёт ссылку для автозагрузки Avito. 7 дней полного доступа без карты.
Попробовать бесплатно