# Контент для соцсетей магазина: своя Google Таблица за 0 ₽ самостоятельно

> Как превратить список товаров магазина в готовые посты для соцсетей с датами, статусами и журналом ошибок. Внутри пошаговая сборка и готовые промпты.

Источник: https://vibeceh.ru/cases/posty-v-kontente-magazina
Автор: Сергей Мазур · опубликовано 2026-08-19

Пост для соцсетей может рождаться прямо из списка товаров: таблица подставляет название, пользу, ссылку на карточку, дату и статус публикации. У меня в итоге есть недельный план вместо разрозненных текстов: его видно целиком и можно поправить в одной строке.

Делюсь этим с удовольствием. Ниже пошаговая инструкция из семи шагов, и к каждому есть готовый промпт. Копируй его, описывай свои товары и собирай таблицу для магазина, салона, автосервиса, клиники или студии. Полную сборку я не обещаю уложить в какой-то срок: сначала разберись с инструментами и проверяй каждый результат.

А началось всё с обычных счетов.

Я каждый день собираю счета из заказов школ, офисов и частных покупателей. Проверяю цены, количество и реквизиты, группирую товары по кабинету или отделу, сохраняю согласованные замены отдельными строками. Потом открываю правильный файл и отправляю его клиенту вместо копии вчерашнего документа.

Такая рутина хорошо показывает одну вещь: повторяющаяся работа состоит из понятных полей и правил. Если их собрать в одном месте, меньше шансов оставить чужое название, старую цену или пропущенную позицию. С постами для соцсетей логика похожая. Товар уже есть. Остаётся описать пользу, назначить дату и проверить статус.

Сначала я тоже пыталась думать о публикациях как о готовом тексте, который надо каждый раз сочинять отдельно. Потом разложила задачу на строки. В одной строке хранится товар. К нему добавляются тема, текст, изображение, дата и состояние. Так привычная работа с заказом подсказала мне, как смотреть на недельный план магазина.

## Что стало вместо прежней рутины с постами для соцсетей?

Вместо отдельных заметок и случайных текстов появляется Google Таблица со строками плана. В каждой строке можно хранить товар, текст поста, ссылку на изображение, дату и время, статус и результат публикации. Список товаров становится основой плана и связывается с контентом в тех же строках.

Я не стала делать отдельный сложный экран. Для магазина удобнее начать с таблицы, где всё видно глазами. Один ряд может выглядеть так:

```text
product_id | product_name | product_url | text | image_url | publish_at | status | published_at | last_error
```

В строке лежит не только название товара. Там же можно держать его ссылку, подготовленный пост, URL изображения, дату выхода и текущий статус. После публикации добавляется фактическое время и, если что-то пошло не так, последняя ошибка.

Это важно для магазина канцелярии. Товаров много, названия похожи, цены меняются. Если текст собирается в отдельном файле, легко связать его не с той позицией. Связка должна идти от товара к посту:

```text
product_id -> product_name -> product_url -> text -> image_url
```

Telegram получает уже готовое сообщение и изображение. Сам он не знает, что это пост про конкретный товар, пока такая связь не записана в таблице. Поля товара, даты и статуса создаются в нашей схеме, а не выдаются готовым объектом внутри Telegram Bot API.

Я бы начала с небольшой части списка товаров. Не надо сразу переносить весь каталог. Возьми несколько позиций, проверь названия, ссылки и изображения, затем расширяй таблицу. Так ошибка видна в одной строке, а не среди десятков публикаций.

![Схема строки плана публикаций](data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='360' viewBox='0 0 1200 360'%3E%3Crect width='1200' height='360' fill='%23f4efe6'/%3E%3Crect x='40' y='50' width='1120' height='60' rx='12' fill='%231f5c55'/%3E%3Crect x='40' y='130' width='1120' height='48' rx='8' fill='%23ffffff'/%3E%3Crect x='40' y='194' width='1120' height='48' rx='8' fill='%23ffffff'/%3E%3Crect x='40' y='258' width='1120' height='48' rx='8' fill='%23ffffff'/%3E%3C/svg%3E)

![Поля товара](data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='360' viewBox='0 0 1200 360'%3E%3Crect width='1200' height='360' fill='%23f4efe6'/%3E%3Crect x='40' y='50' width='1120' height='60' rx='12' fill='%231f5c55'/%3E%3Crect x='40' y='130' width='1120' height='48' rx='8' fill='%23ffffff'/%3E%3Crect x='40' y='194' width='1120' height='48' rx='8' fill='%23ffffff'/%3E%3Crect x='40' y='258' width='1120' height='48' rx='8' fill='%23ffffff'/%3E%3C/svg%3E)

![Поля публикации](data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='360' viewBox='0 0 1200 360'%3E%3Crect width='1200' height='360' fill='%23f4efe6'/%3E%3Crect x='40' y='50' width='1120' height='60' rx='12' fill='%231f5c55'/%3E%3Crect x='40' y='130' width='1120' height='48' rx='8' fill='%23ffffff'/%3E%3Crect x='40' y='194' width='1120' height='48' rx='8' fill='%23ffffff'/%3E%3Crect x='40' y='258' width='1120' height='48' rx='8' fill='%23ffffff'/%3E%3C/svg%3E)

![Проверка статуса](data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='360' viewBox='0 0 1200 360'%3E%3Crect width='1200' height='360' fill='%23f4efe6'/%3E%3Crect x='40' y='50' width='1120' height='60' rx='12' fill='%231f5c55'/%3E%3Crect x='40' y='130' width='1120' height='48' rx='8' fill='%23ffffff'/%3E%3Crect x='40' y='194' width='1120' height='48' rx='8' fill='%23ffffff'/%3E%3Crect x='40' y='258' width='1120' height='48' rx='8' fill='%23ffffff'/%3E%3C/svg%3E)

SendPulse пишет, что Google Таблица может быть основой контент-плана магазина.

## Почему свою таблицу нельзя сравнивать с купленным сервисом?

Своя таблица не обязана полностью заменять готовый сервис. Её преимущество в гибкости: поля и правила можно менять под конкретную работу магазина. Готовый сервис прежде всего планирует и публикует уже подготовленные посты, а таблица может связывать товар, его пользу, текст, дату, статус и ошибку в одной строке.

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

Но сервис не обязан знать, что у магазина есть разные группы товаров. Для одной позиции нужен короткий пост с характеристикой. Для другой важнее показать сценарий использования. Для третьей нужно сохранить согласованную формулировку и не менять её автоматически.

В своей таблице можно добавить нужное поле. Например:

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

Так появляется рабочий список магазина, связанный с конкретными товарами и публикациями. В готовом сервисе тоже можно хранить часть этих данных, но сначала придётся проверить, есть ли такие поля и как они называются.

Граница тоже есть. Своя таблица не станет полноценной системой аналитики только потому, что в ней появились даты. Она не заменит регулярное ведение соцсетей, дизайн, ответы на комментарии и контроль нескольких внешних площадок. Я не стала добавлять это в первую сборку. Чем больше лишних функций, тем сложнее понять, где именно произошла ошибка.

## Из чего состоит недельный контент-план магазина?

Недельный план магазина строится из строк товаров, ситуаций использования, дат, форматов и статусов. К каждой позиции привязываются текст поста, изображение и ссылка. Таблица хранит плановую дату, а после отправки фиксирует фактическое время, идентификатор сообщения и последнюю ошибку.

Сначала нужна вкладка или лист с товарами. В нём достаточно полей, которые уже есть в работе магазина:

```text
product_id | product_name | product_url | price | benefit | image_url
```

Цена нужна только в том случае, если она действительно должна попасть в пост. Если цена часто меняется, не подставляй её в текст без проверки. Старый пост с неверной стоимостью создаёт больше проблем, чем пустая строка.

Следом идёт лист публикаций. Его поля могут быть такими:

```text
post_id | product_id | product_name | text | image_url | publish_at | status | published_at | last_error
```

Одна строка означает одну публикацию. Если один товар должен появиться в плане несколько раз в разных форматах, лучше создать несколько строк с разными `post_id`, а не менять одну и ту же строку по кругу.

### Товар

Коротко: товарная строка хранит исходные данные позиции и постоянный идентификатор.

Это исходная позиция из списка. У неё есть постоянный `product_id`, название, ссылка и изображение. Идентификатор нужен, чтобы одинаковые названия не перепутались.

### Ситуация использования

Коротко: ситуация использования помогает связать пост с задачей покупателя.

Пост не обязан повторять карточку товара. Для канцелярии можно показать, кому пригодится набор, что удобно взять для кабинета или какую задачу закрывает конкретная позиция. Такая тема помогает написать пост, а не просто скопировать название.

### Формат

Коротко: формат задаёт тип публикации и помогает чередовать темы в недельном плане.

В таблице можно указать формат:

```text
товар дня
сценарий использования
подборка для кабинета
ответ на частый вопрос
новинка
напоминание о наличии
```

### Дата и статус

Коротко: дата определяет момент отправки, а статус показывает состояние публикации.

`publish_at` хранит плановую дату и время. `status` показывает, что происходит со строкой. Рабочий набор может выглядеть так:

```text
Черновик
На проверке
Готово к публикации
Отправляется
Опубликовано
Ошибка
Отменено
```

После успешной отправки таблица записывает `published_at`, а при сбое оставляет описание в `last_error`.

### Связь публикации

Коротко: одна строка связывает товар, текст, дату, статус и результат отправки.

Не храни товар, текст и дату в разрозненных заметках. Связь должна сохраняться в одной строке. Telegram получает текст и изображение, а таблица помнит, какой товар был основой, когда публикация запланирована и чем закончилась отправка.

## Сколько стоит собрать посты для соцсетей из списка товаров?

Google Таблицы для самостоятельной сборки стоят 0 ₽. Официальный Claude Pro с Claude Code стоит $20 в месяц. Готовый сервис начинается от 4 200 ₽ в год за SmmBox START, а настройка генерации у подрядчика имеет ориентир 3 500 ₽ разово. Цены сравнивают разные составы работ, поэтому одной цифры выбора здесь нет.

| Вариант | Цена | Что получаешь |
|---|---:|---|
| Google Таблицы | 0 ₽ | Таблицу с товарами, текстами, датами и статусами |
| Claude Pro с Claude Code | $20/мес | Помощника для сборки и исправлений |
| SmmBox START | 4 200 ₽/год | Планирование и публикацию уже подготовленных постов |
| SMMplanner «Начальный» | 7 920 ₽/год | Планирование, постинг, редактор изображений и аналитику |
| Подрядчик | 3 500 ₽ разово | Ориентир настройки генерации в Google Sheets |

[Google Таблицы](/concepts/google-tablicy) сами по себе бесплатны. Это не означает, что автоматизация ничего не требует. Понадобятся время на настройку, доступы к таблице и каналу, токен бота, `chat_id`, право бота на публикацию и URL изображения.

Платный помощник это постоянный расход. Официальная цена Claude Pro составляет $20 в месяц. Официальной рублёвой цены и прямой оплаты из России здесь не указываю: Anthropic публикует цену в долларах.

Pro | $20/месяц $200/год».

У готовых сервисов другая задача. SmmBox и SMMplanner позволяют планировать и публиковать подготовленные материалы. Они не обещают в тарифе автоматическую генерацию текста именно из списка товаров. Подрядчик может собрать такую схему, но возможные расходы на API в ориентир 3 500 ₽ не входят или отдельно не расшифрованы.

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

## Как собрать недельный план публикаций по шагам?

Сборка начинается с описания таблицы, затем добавляются поля товара, шаблоны текстов, даты, статусы и проверка отправки. Помощнику не нужно отдавать задачу [одним огромным запросом](/guides/tokeny-razdelit-dlinnyj-zapros-na-etapy). Отправляй промпты по очереди, после каждого шага смотри результат и исправляй только найденную проблему.

![Кот в шоке смотрит на карточки с первыми тремя шагами сборки недельного плана.](https://s3.regru.cloud/crossmark/statejnik/images/guides/posty-v-kontente-magazina/kadr-1.webp)

Установи редактор Visual Studio Code и открой в нём отдельную папку для плана магазина. Редактор нужен как место, где лежат файлы сборки. Писать код руками не придётся, а безопасный первый запуск [Claude Code описан в отдельной инструкции](/guides/claude-code-zhurnal-resheniy-dlya-proekta).

Установи Claude Code и используй его из терминала или поддерживаемого расширения редактора; способ установки проверь по официальной инструкции. Для первого запуска их обычно достаточно установить и авторизовать один раз, но обновления и повторная авторизация могут понадобиться позже. На простой первый запуск может уйти около четверти часа, но время зависит от системы и авторизации. Claude Code входит в тариф Pro, поэтому подписку надо учитывать отдельно.

   

В ответ помощник должен выдать план и список вопросов. Если он сразу начал создавать большую систему, останови его и попроси вернуться к разбору.

Создай Google Таблицу и добавь в первую строку заголовки. Начни с тех полей, которые реально проверяешь в заказе.

   ```text
   product_id | product_name | product_url | price | benefit | image_url
   ```

`product_id` должен быть постоянным. Название бери из актуального списка. Ссылку и изображение проверь глазами. В поле `benefit` напиши коротко, для какой задачи товар нужен.

   

Помощник выдаст описание структуры и правила заполнения. Правильный результат можно проверить так: по строке публикации понятно, какой товар выбран, какой текст будет отправлен и что произойдёт после ошибки.

Недельный контент-план не должен состоять из семи одинаковых описаний. Для каждого товара укажи ситуацию использования, формат и дату.

Запросы вроде «написать пост для соцсетей» и «темы постов для соцсетей» здесь превращаются в конкретные поля, а не остаются общей задачей.

   

После ответа проверь, что темы связаны с товарами. Если помощник написал «скидка» без исходной цены и правила акции, удали это утверждение.

Теперь попроси помощника написать текст по данным строки. В промпте зафиксируй ограничения: не добавлять неподтверждённые свойства, не обещать то, чего нет в карточке, и не превращать каждый текст в одинаковую рекламу.

   

Помощник выдаст заполненные строки. Правильно, если текст можно сверить с карточкой товара без догадок. Сначала проверь несколько строк вручную. После проверки поменяй статус только у подходящих публикаций на «Готово к публикации».

Сразу после первого результата назову метод: так собирают программы без программиста, и называется это [вайб-кодинг](/concepts/vajb-koding).

В поле `publish_at` поставь дату и время публикации. Не расписывай все строки на одну минуту. Для начала поставь несколько дат с понятным промежутком и проверь, что часовой пояс выбран явно.

   

Запуск по времени может быть немного смещён. Поэтому не обещай публикацию до секунды. Если нужна точная проверка, поставь тестовую дату на ближайшее время и посмотри сам канал.

Для этого нужны аккаунт Google с доступом к таблице, Apps Script, токен бота, `chat_id`, право бота на публикацию и URL изображения. Схему связки с Telegram можно сопоставить с [учётом заказов в Telegram](/guides/uchet-zakazov-v-telegram-vmesto-make). Доступы не вставляй в открытый текст таблицы.

   

Помощник должен показать список действий и файлов, которые собирается изменить. Не вставляй токен в промпт. После настройки сначала проверь одну тестовую строку, а не весь недельный план.

Открой таблицу и канал. Сверь название товара, текст, ссылку, изображение, дату и статус. Успешный запуск должен оставить запись в таблице и реальное сообщение в канале.

   

Если тест прошёл, добавь несколько строк и повтори проверку. Если не прошёл, не проси помощника «починить всё». Опиши конкретный симптом: неправильная дата, пустое изображение, не тот статус или дубль.

## Что появилось в папке, когда всё заработало?

После сборки появляются Google Таблица и связанные с ней элементы автоматизации: листы товаров и публикаций, правила статусов, Apps Script, настройки планировщика и резервная копия данных. Внутренние имена файлов не важны новичку. Важно понимать, где лежат товары, где план, где журнал ошибок и как восстановить рабочую версию.

Telegram хранит опубликованное сообщение, изображение и технический идентификатор. Товар, дату, статус и историю попыток хранит таблица. Если удалить строку из таблицы, связь с товаром и планом можно потерять, даже если сообщение всё ещё видно в канале.

В рабочей схеме нужны четыре понятные части:

- лист с исходными товарами;
- лист с публикациями;
- настройки доступа и планировщика;
- резервная копия таблицы.

В резервной копии должны оставаться не только тексты, но и заголовки колонок, идентификаторы, даты, статусы и журнал ошибок. Копию стоит делать перед крупным изменением структуры.

Я не стала бы разбирать внутренние файлы до того, как заработала первая тестовая публикация. Сначала проверь результат глазами. Потом попроси помощника объяснить назначение каждого элемента простыми словами. Если объяснение нельзя связать с конкретным действием магазина, такой элемент, вероятно, пока не нужен.

## Что делать, если пост не выходит или публикуется дважды?

Сначала зафиксируй симптом, статус строки и время попытки, затем передай помощнику одну конкретную фразу. Для каждого сбоя проверяй не только журнал, но и сам канал. Тайм-аут не доказывает, что публикация не отправилась, а статус «Опубликовано» не доказывает, что сообщение действительно видно.

![Безымянный человек держится за голову рядом с карточками ошибок публикации.](https://s3.regru.cloud/crossmark/statejnik/images/guides/posty-v-kontente-magazina/kadr-2.webp)

### Неверный часовой пояс

Коротко: сначала сравни часовые пояса таблицы, Apps Script и планировщика.

Если пост выходит раньше или позже, проверь часовой пояс таблицы, Apps Script и планировщика. Время запуска Apps Script может быть немного смещено.

### Повторная публикация

Коротко: перед повтором проверь `telegram_message_id` и сообщение в канале.

Дубль появляется, когда автоматизация повторяет запрос после тайм-аута или повторного запуска. У строки должен быть постоянный `post_id`, а в таблице нужно хранить `telegram_message_id`.

После тайм-аута нельзя сразу нажимать повторную отправку. Сначала проверь канал и журнал: Telegram мог принять сообщение, а ответ не дошёл обратно.

### Статус стал успешным ошибочно

Коротко: статус «Опубликовано» ставь только после проверки строки и подтверждённого идентификатора сообщения.

Иногда журнал автоматизации показывает успешное выполнение, но строка не обновилась или публикации нет. После записи статуса строку нужно перечитать и проверить фактическое значение.

### Сдвинулись колонки

Коротко: сопоставляй поля по именам заголовков, чтобы пустая ячейка не меняла структуру строки.

Такое бывает после добавления поля или пустой ячейки. Заголовки должны сопоставляться по имени, а не только по позиции.

### Истёк доступ

Коротко: при `401` или `invalid_grant` сначала восстанови авторизацию и протестируй одну строку.

Если появляется `401`, `invalid_grant` или сообщение о повторной авторизации, не скрывай это в общем статусе ошибки. Нужно уведомить владельца, какая интеграция перестала работать.

### Ошибка 429

Коротко: обработай `retry_after`, выдержи задержку и проверь отсутствие уже созданного сообщения.

Код `429` означает, что запросы отправляются слишком часто или сработал лимит. Для повторной попытки нужна задержка, а не мгновенный новый запрос.

### Повторная отправка после тайм-аута

Коротко: после тайм-аута сначала проверь канал и журнал, а повторную отправку отложи.

Это самая неприятная поломка для новичка. В таблице может остаться статус «Отправляется», хотя Telegram уже получил сообщение. Сначала ищи опубликованный текст в канале и проверяй журнал, а не запускай строку заново.

## Своё решение, готовый сервис или подрядчик: что выбрать?

Своё решение выбирай, когда важны поля товаров, собственные статусы и возможность менять правила без письма в поддержку. Готовый сервис бери для устойчивого планирования и публикации уже подготовленных материалов. Подрядчик подходит, если настройку хочется передать, но в дальнейшем появится зависимость от человека, который собирал схему.

![Собака поднимает лапу у сравнительной схемы вариантов и отметки собственного решения.](https://s3.regru.cloud/crossmark/statejnik/images/guides/posty-v-kontente-magazina/kadr-3.webp)

| Вариант | Цена | Подходит, если | Ограничение |
|---|---:|---|---|
| Google Таблицы и самостоятельная сборка | 0 ₽ | Нужна таблица товаров, текстов, дат и статусов | Доступы, проверки и исправления остаются на владельце |
| SmmBox START | от 4 200 ₽/год | Нужен готовый постинг в несколько страниц | Сервис импортирует подготовленные посты, а не обязательно создаёт их из товаров |
| SMMplanner «Начальный» | 7 920 ₽/год при оплате за 12 месяцев | Нужны планирование, редактор изображений и аналитика | Генерация текста из списка товаров в тарифе не заявлена |
| Настройка подрядчиком | 3 500 ₽ разово | Нет желания самостоятельно соединять таблицу и помощника | Возможные расходы на API не входят в ориентир, дальнейшие изменения зависят от подрядчика |

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

Подрядчик тоже не плохой вариант. Только заранее попроси передать доступы, описание полей, резервную копию и инструкцию по восстановлению. Иначе после первой поломки снова придётся ждать ответа на вопрос, почему пост не вышел.

Готовый сервис выигрывает скоростью старта. Своя схема выигрывает управляемостью. Я бы выбирала по ближайшей рутине: нужно ли просто планировать публикации или требуется связь «товар - текст - изображение - дата - статус - ошибка».

## Что сделать сегодня, если ты не разбираешься в технологиях?

Поставь Visual Studio Code и Claude Code, создай отдельную рабочую папку, подготовь небольшую часть списка товаров и опиши задачу обычными словами. Проверь первую строку публикации вручную. Не начинай с полного каталога и не передавай помощнику токены, пароли или доступы в открытом виде.

Для первого запуска инструменты обычно достаточно установить и авторизовать один раз, но обновления и повторная авторизация могут понадобиться позже. Дальше меняется не редактор, а задача: сегодня план публикаций, через неделю таблица заказов или счёт для организации.

На практикуме по вайб-кодингу такую сборку проходят руками на своей задаче. Там ты описываешь собственную рутину, проверяешь результат и учишься чинить его вместе с помощником.

## Вопросы и ответы

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

Начни не с красивой фразы, а с ситуации покупателя. Для одного товара покажи задачу, которую он закрывает, для другого опиши сценарий использования, для третьего собери подборку. Помощник может предложить варианты, но характеристики, цены и наличие сверяй по карточке товара.

Примеры можно собрать из собственных карточек товаров, вопросов покупателей и повторяющихся ситуаций в заказах. В статье SendPulse есть пример недельного плана магазина, где товары превращаются в темы «экономия», «безопасность» и «варианты использования» [SendPulse](https://sendpulse.com/ru/blog/content-plan-for-instagram).

Оставь одну задачу, одну пользу и одну ссылку. Не добавляй несколько товаров, длинную историю и неподтверждённые обещания в одну публикацию. В таблице удобно держать отдельное поле `text`, чтобы проверить пост до перевода строки в статус «Готово к публикации».

Для магазина подойдут товар дня, сценарий использования, подборка для кабинета, ответ на вопрос, новинка и напоминание о наличии. Распредели их по неделе так, чтобы публикации не повторяли одну и ту же формулировку.

Покажи, что выбрать для конкретной задачи: собрать заказ для школы, пополнить офисный запас, организовать рабочее место или заменить закончившийся расходник. Не приписывай товару свойства, которых нет в исходном списке.

Не пиши каждый текст с нуля. Сначала приведи список к одинаковым полям: идентификатор, название, ссылка, польза и изображение. Затем используй шаблон, который создаёт черновик по одной строке. После этого проверяй небольшими партиями, чтобы ошибка не распространилась на весь каталог.

Зафиксируй в промпте тон, допустимые формулировки и запреты. Для бренда магазина канцелярии можно попросить простой спокойный язык без неподтверждённых скидок, громких обещаний и одинаковых вступлений. Сам текст всё равно сверяй с данными товара.

Выбери товар, его подтверждённую пользу и ссылку на карточку. Призыв должен вести к действию, которое реально доступно: посмотреть товар, уточнить наличие или оформить заказ. Не добавляй скидку, ограниченный срок или подарок, если таких условий нет в данных магазина.

Опиши конкретную задачу покупателя, покажи подходящий товар и объясни пользу простыми словами. В конце оставь одну ссылку или одно действие. Такой пост можно подготовить из полей `product_name`, `benefit` и `product_url`, не добавляя маркетинговые обещания из головы.

Размер зависит от площадки и формата публикации. В этой схеме длина текста хранится в поле `text`, а ограничение конкретного канала проверяется до отправки. Для Telegram Bot API текст сообщения ограничен 4096 символами после обработки разметки, а подпись к фотографии имеет отдельный лимит.

Для старта удобна таблица, где одна строка равна одной публикации. Минимальный набор: товар, текст, изображение, дата, статус, идентификатор сообщения, время публикации и последняя ошибка. Дополнительные поля добавляй только под повторяющуюся задачу.

Для запроса «контент план цветочный магазин» замени список канцтоваров на букеты и композиции, а в темах используй повод, сезон, уход, сочетания и сценарий подарка. Структура останется той же: товар, польза, текст, изображение, дата и статус.

Добавь к товару размер, цвет, материал и сценарий носки, если эти данные есть в карточке. Не выдумывай посадку, наличие и состав. В плане можно чередовать отдельные вещи, подборки и ответы на вопросы о выборе.

Сделай отдельное поле для канала и проверь право бота на публикацию. Для Telegram дополнительно нужны токен, `chat_id`, URL изображения и планировщик. Перед включением плана отправь одну тестовую строку и проверь реальное сообщение в канале.

- [Telegram Bots FAQ](https://core.telegram.org/bots/faq)
- [Google Sheets API](https://developers.google.com/workspace/sheets/api/reference/rest?hl=en)
- [Google Sheets API limits](https://developers.google.com/workspace/sheets/api/limits)
- [Apps Script time-driven triggers](https://developers.google.com/apps-script/guides/triggers/installable)
- [Apps Script quotas](https://developers.google.com/apps-script/guides/services/quotas?authuser=01&hl=en)
- [SendPulse: контент-план для магазина](https://sendpulse.com/ru/blog/content-plan-for-instagram)
- [OkoCRM: шаблон контент-плана](https://okocrm.com/blog/shablon-kontent-plana/)
- [TextMe: шаблон Google Sheets](https://textme.work/plan-google/)
- [SmmBox: тарифы](https://smmbox.com/tarif.html)
- [SMMplanner: тариф «Начальный»](https://faq.smmplanner.com/ru/articles/2269830-%D1%82%D0%B0%D1%80%D0%B8%D1%84-%D0%BD%D0%B0%D1%87%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9)
- [Anthropic: тарифы Claude](https://support.claude.com/ru/articles/11049762-%D0%B2%D1%8B%D0%B1%D0%B5%D1%80%D0%B8%D1%82%D0%B5-%D0%BF%D0%BB%D0%B0%D0%BD-claude)
- [Anthropic: Claude Code с Pro и Max](https://support.anthropic.com/en/articles/11145838-using-claude-code-with-your-pro-or-max-plan)
- [Kwork: настройка генерации в Google Sheets](https://kwork.ru/personal-assistant/52337115/nastroyu-generatsiyu-postov-i-seo-tekstov-v-google-sheets-cherez-chatgpt)
- [Telegram Bot API: идемпотентность](https://github.com/tdlib/telegram-bot-api/issues/126)
- [Google Sheets: ошибка обновления строки](https://github.com/n8n-io/n8n/issues/16293)
- [Google Sheets: сдвиг колонок](https://github.com/n8n-io/n8n/issues/16923)
- [Telegram Bots FAQ](https://core.telegram.org/bots/faq)

_Это собирательная история выпускников практикума, а не рассказ одного человека: так эта работа устроена в большинстве таких дел._
