Google Sheets - автоматизируем отчетность для маркетплейсов: бартер, раздачи, коммерция
Многие до сих пор ведут свою отчетность в Гугл таблицах - и это окей. Так давайте автоматизируем таблицы, да еще и так, чтоб сотрудники сломать ничего не сломали. Настроим передачу данных в таблицу руководителя, сделаем автоматический подсчет план/факта и будем отправлять эту отчетность каждый день в телеграм!
Вот и у одного моего клиента - селлера на маркетплейсах, была такая же ситуация: хотелось держать руку на пульсе, да так чтоб просто каждый день в телеграм прилетал результат работы отделов за вчера и общее саммари по месяцу в разрезе отдела.
Я пораскинул головой и понял что не справлюсь в одиночку, но не зря же я облачаю ChatGPT каждый месяц, пошел за помощью туда.
Дальше расскажу как делал, что получилось и что это дало.
Меня зовут Никита - я директор по маркетингу на удаленке: выстраиваю аналитику, стратегии, команды и привожу их к результату, заходите в мой телеграм, чтобы быть на связи: t.me/svestudio
Шаг 1 - подготовка таблиц
1. Для начала я пошел смотреть таблицы которые ведут мои подчиненные: выделил все действительно необходимые данные, убрав ненужные.
2. Создал универсальную таблицу отчетности для всех сотрудников, далее в зависимости от подразделения - скрыл ненужные столбцы, чтобы не мешали
3. Поставил несколько формул с защитой диапазона - чтобы сотрудники не могли их сломать, например: присвоение порядкового номера, автозаполнение имени сотрудника, автоматическое проставление кол-ва интеграций и т.д
4. Создал базу данных для раскрывающихся списков на отдельной вкладке
5. Создал таблицу руководителя, добавив туда листы с подразделениями которые полностью соответствовали листам сотрудников.
Что я по итогу получил: подготовил фундамент для будущей автоматизации, благодаря такому подходу у меня во всех таблицах "стоимость" - всегда находить в столбце "О", так же как и все остальные значения, всегда находятся на своих местах, что позволяет создать логику.
Шаг 2 - перенос данных с таблиц подчиненных.
Самое оптимальное решение - сделать с помощью Google apps script (откройте таблицу и выберите из пунктов меню: Расширения, далее перейдите в Apps Script).
Да там все на JavaScript надо делать, навыки в разработке отсутствуют, но нейроночки нас выручат, идем в ChatGPT - описываем задачу и получаем первую часть кода:
Это просто дорожная карта для скрипта, в ней указываются ID таблицы руководителя и ID таблиц сотрудников ответственных за направление.
Ну карту сделали, пойдем дальше и говорим о том что хотим данные получать со всех этих таблиц в таблицу руководителя, и вот перед нами рождается первая функция:
Да, это все мой нейро - помощник написал. Что она делает, проходиться по таблицам сотрудников, если в 40 столбце "AN" - указан статус, то это запись переносит в таблицу руководителя и распределяется по нужным листам - которые я указал в самом начале, дополнительно создавая уникальный ключ для этой записи, чтобы уже существующие записи не дублировались.
Готово, осталось только триггер установить, чтобы раз в час функция автоматически запускалась. Делается это там же где и код вставляется, там есть вкладка "триггеры" - выберите функцию "updateManagerSheet" - и установите триггер по времени.
Я подумал, что было бы неплохо сделать еще и автоматический подсчет фактических значений. Для этого понадобились листы с планом, ведь мало подписать просто факт, он еще и должен отталкиваться от плана.
Шаг 3 - создание плана для сотрудников
Вот мы создали табличку с планом и установили его, что делать дальше? А тут мы настроим проверку по Листам, суммирования показателей на основе типа интеграции и артикула.
Снова идем за помощью к нейро - помощнику вот что получаем:
Эта функция проходиться по листам, поочередно, определяет артикул, тип интеграции, а так же ее дату, чтобы занести факт в правильный месяц. Например если коммерческая интеграция закуплена в ноябре, но выйдет в декабре, то она пойдет в план декабря.
Что мы получаем: автоматический подсчет факта по типу интеграции и артикулу а так же занесения факта в план соответствующего месяца. Стоит обратить внимание, что если план на артикул не установлен, то факт передан не будет. Осталось только добавить триггер для срабатывания, по аналогии с предидущим.
Так, вроде неплохо, мы видим все результаты работы сотрудников, можем установить план и автоматически подсчитать факт, но мы ведь не хотим ковыряться в таблицах, так? Так. Было бы гораздо удобней получать информацию просто в телеграм. Давайте займемся этим.
Шаг 4 - указываем куда передавать данные, настраиваем бота.
Для начала нам нужно создать телеграм бота и получить API ключ, ну и группу, куда будет отправляться сообщение, если ее у вас еще нет.
Как создать бота - есть куча инструкций в интернете, вот даже нашел для вас:
Создание и настройка бота
Для начала создадим бота через @BotFather:
- Откройте Телеграм и найдите @BotFather.
- Нажмите /start и затем команду /newbot.
- Придумайте имя для вашего бота (например, ShopBot) и уникальный юзернейм (например, MyShopBot).
- Сохраните API токен, который будет использован для дальнейшей настройки.
Ну как группу создать думаю разберетесь, я выбрал для себя группу с темами, то есть в группе у меня еще разделы были: раздачи/бартер/коммерция.
Добавьте вашего бота туда и дайте права администратора.
Теперь в наш код добавляем сведения о боте и группе:
1. Где взять Thread ID и Group ID (ID темы и ID группы):
ID темы и группы можно получить через Telegram Bot API. Вот как это сделать:
1. Отправьте сообщение в тему группы, куда бот будет отправлять данные.
• Перейдите в вашу группу с темами.
• Выберите тему.
• Напишите сообщение.
2. Запросите обновления через Bot API:
• Откройте браузер и перейдите по ссылке, где вместо TOKEN - подставьте ваш API ключ, который сгенерировали при создании бота:
• Вы увидите ответ в формате JSON, например:
"id": -987654321: Это ваш ID группы
"message_thread_id": 12345: это ваш ID темы.
Если тем несколько, как у меня, просто проделайте это несколько раз.
Вы молодец, теперь для вашего скрипта у вас есть значения, куда передавать нужную информацию, что же пойдемте эту информацию собирать, группировать и отправлять в телеграм
Шаг 5 - чтение данных, их группировка и отправка.
Вот функция которая базово просто позволяет отправить данные в тележеньку:
Тут все просто, мы говорим о том как куда и с помощью какого метода обращаться к телеграм для передачи данных.
Давайте лучше данные будем собирать.
Мне нужно чтобы я видел все записи сделанные сотрудниками в подразделениях за вчера. Этот скрипт проходит и в каждой вкладке анализирует дату: убеждается что запись была сделана вчера. Суммирует данные по артикулу. Данные которые он собирает: Артикул, кол-во интеграций, стоимость этих интеграций.
Дальше данные необходимо отправить в телеграм, для этого нам поможет вот эта часть кода:
Сначала он обновляет факты, затем отправляет данные за предидущий день, которые собрал предидущий скрипт и добавляет данные с листа "План [месяц] [год]"
В итоге мы получаем вот такое сообщение в телеграм в нужном разделе:
Вы молодец, осталось установить триггер по времени и вы каждый день будите в телеграм получать вот такое уведомление по всем подразделениям.
Это позволит вам:
1. Хранить все данные в одной таблице и не теряться между таблицами сотрудников
2. Автоматически подсчитывать факт в отношении к плану, без вашего участия
3. Получать уведомления в телеграм о работе сотрудников и выполнении плана ежедневно
Ну и при наличии желания, можно все это сделать самому и даже подписок никаких платить не прийдется! Все абсолютно бесплатно.
Если у вас остались вопросы, или хотите что-то подобное для своей компании - пишите мне, договоримся: t.me/svestudio
А еще ко мне можно обращаться по всяким другим вопросам, в основном я занимаю следующим:
Обращаться вот сюда: svestudio.online
- Маркетинговые стратегии
- GTM стратегии
- Консалтинг
- Воронки и лидогенерация
- Разработка CJM
- Построение отдела маркетинга