TGViewer
Веб-аналитика от Якова Осипенкова / osipenkov.ru Веб-аналитика от Якова Осипенкова / osipenkov.ru @clicksider · 5.81K subscribers
Post #1995 746

Forwarded from Clear Query 🧊

Глава 4. Выгрузка данных в Google Sheets: автоматизируем рутину 🚀

Привет-привет! 👋 Я снова к вам с новой полезной главой. Знаю, что пишу с небольшим запозданием, но работы сейчас очень много. Стараюсь выдавать вам максимум пользы, поэтому буду писать главы порционно.

Напоминаю, что я➡️ Прохожу обучение

Немного о сегодняшней главе — в ней мы написали скрипт для выгрузки данных в Google Таблицы и их автообновления. Использовали крутой стек: Google Cloud, Google Sheets API, Python и Pandas. 🐍

В принципе, для новичка и мелких задач — это самое то. Отлично заменяет расширения вроде Adveronix. Сама я уже давно перешла на БД Google BigQuery (потому что данных много, так удобнее и быстрее), но начинала именно с таблиц.

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

Что я улучшила в скрипте:
✔️ Генерация уникального имени отчета. Это нужно, чтобы сбросить ошибку Яндекса, при которой отчет с дублирующимся именем просто не формируется.
✔️ Жесткая обработка ошибок API. Раньше при статусах 400, 500, 502 от Яндекса скрипт делал break (выход из цикла), но продолжал работу. Он записывал JSON-ошибку в файл .tsv, а Pandas пытался прочитать это как таблицу. Итог — фатальный сбой ValueError: No objects to concatenate. Заменила break на принудительное завершение sys.exit(1) и добавила вывод JSON-ошибки прямо в консоль.
✔️ Решение проблемы с DtypeWarning. Теперь Pandas читает файл целиком перед определением типов данных, и это предупреждение больше не засоряет логи.
✔️ Лимит Google Sheets (10 млн ячеек). Первая ошибка, которую я словила! Чтобы оптимизировать объем, я отфильтровала лишние столбцы, конвертировала форматы и сгруппировала данные по датам.

Ну и собственно всё! Пример результата — на скрине. А свой доработанный скрипт я прикрепляю ниже — забирайте, кому нужно! 💾

Зачем это вообще нужно? Да абсолютно всем! Вы можете гибко настроить выгрузку сырых данных и строить на их основе дашборды для клиентов. Ставите скрипт на крон (автовыполнение по расписанию) — и навсегда забываете о ручном составлении отчетов. Это в 100 раз быстрее, чем ковыряться в интерфейсе рекламных кабинтов.

❗️ Маленький, но важный совет аналитика: Никогда не выгружайте из API метрики, которые рассчитываются делением (CTR, CR, CPC, CPA). Рассчитывайте их уже математически в самих выгруженных данных (Клики/Показы и т.д.). Агрегированные относительные метрики из интерфейса при сложении строк дадут вам искаженные данные.

Ставьте 🔥, если забираете скрипт себе!
  • 🔥 3
  • ❤ 2
More from @clicksider
  1. Oct 11, 2026Скриншоты для истории... #бпла #яндекс
  2. Oct 9, 2026Наплевательское отношение Яндекса 😄 к своей партнерской программе и грантам Yandex Cloud…
  3. Oct 8, 2026Когда я рассказывал про clicksider.ai и про то, что большинство рутинных задач маркетолога…
  4. Oct 6, 2026🚨Надоело составлять список целей и событий для Яндекс Метрики 😀 вручную? Мне тоже! Разра…
  5. Oct 6, 2026⚠️ Друзья! Осталось 3 недели до начала одного из самых популярных и увлекательных обучений…
  6. Oct 5, 2026📛 Сквозная аналитика. Начинаем полный разбор! Сколько раз вы слышали про сквозную аналити…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →