Метод автоматизации, доступный всем: Google Apps Script, Gmail и Google Sheets. Читайте на Cossa.ru

Вчера в 14:27

Метод автоматизации, доступный всем: Google Apps Script, Gmail и Google Sheets

Объединяем Google Apps Script, Gmail и Google Sheets для автоматических выгрузок отчётов рекламных площадок из почты.

Автор: Мария Галанина, старший веб-аналитик E-Promo (часть E-Promo Group).

Рекламные площадки, как правило, передают данные из рекламных кабинетов по API напрямую, но мобильные DSP часто ограничивают такую интеграцию. Это усложняет сбор данных, особенно с ростом доли мобильной рекламы в медиасплитах и увеличением количества in-app-платформ. Использование ручных выгрузок или заполнение отчётов специалистами отнимает значительное время и отвлекает их от аналитической работы.

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

Этап 1: договариваемся с площадкой

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

  • данные за вчерашний день должны быть высланы до 9 утра;

  • формат файла CSV с указанием нужных полей (например, date, campaign_id, campaign_name, brand, spend, os, platform);

  • тема письма указывается в формате: Epromo_Площадка;

  • нужно указать нашу почту и аккаунт, с которого хотим получать статистику.

Эта информация помогла нам сформировать чёткие правила фильтрации.

Этап 2: пишем скрипт для автоматизации в Google Apps Script

Google Apps Script оказался идеальным инструментом, так как он нативно интегрируется с Gmail, Google Диском и Google Таблицами. Мы написали скрипт, который:

  1. Использует Gmail API для поиска нужных писем.

  2. Фильтрует письма по отправителю, теме и наличию вложений.

  3. Сохраняет файлы в выделенную папку на Google Диске.

  4. Автоматически обрабатывает CSV и загружает их в Google Sheets.

Код для получения вложений из Gmail выглядит так:

Используем GmailApp.search() для поиска писем по теме, отправителю и наличию вложений.

function findEmails() {
var query = 'subject:Epromo_Площадка has:attachment from:example@example.com newer_than:1d';
var threads = GmailApp.search(query);
var messages = GmailApp.getMessagesForThreads(threads);
messages.forEach(thread => {
thread.forEach(message => {
Logger.log(«Найдено письмо: " + message.getSubject());
});
});
}
Код для сохранения вложений на «Google Диске» написан следующим образом:

Сохраняем CSV-файлы в определённую папку.

function saveAttachmentsToDrive() {
var query = 'subject:Epromo_Площадка has:attachment from:example@example.com newer_than:1d';
var threads = GmailApp.search(query);
var messages = GmailApp.getMessagesForThreads(threads);
var folder = DriveApp.getFolderById('ВАШ_ID_ПАПКИ'); // Укажите ID папки в Google Диске

messages.forEach(thread => {
thread.forEach(message => {
var attachments = message.getAttachments();
attachments.forEach(attachment => {
if (attachment.getContentType() === 'text/csv') {
var file = folder.createFile(attachment);
Logger.log(«Сохранён файл: " + file.getName());
}
});
});
});
}

Код для чтения и обработки CSV содержит такие значения:

Открываем файл и записываем данные в Google Sheets.

function processCSVToSheet() {
var folder = DriveApp.getFolderById('ВАШ_ID_ПАПКИ');
var files = folder.getFiles();
var sheet = SpreadsheetApp.openById('ВАШ_ID_ТАБЛИЦЫ').getActiveSheet();

while (files.hasNext()) {
var file = files.next();
if (file.getMimeType() === 'text/csv') {
var csvData = Utilities.parseCsv(file.getBlob().getDataAsString());
sheet.getRange(sheet.getLastRow() + 1, 1, csvData.length, csvData[0].length).setValues(csvData);
Logger.log(«Данные загружены из файла: " + file.getName());
}
}
}

Этап 3: ставим скрипт на ежедневное автообновление

Чтобы избежать ручного запуска кода, можно настроить триггеры Google Apps Script на ежедневное обновление в нужное время. Для этого нужно подключить следующие настройки:

Как автоматизация изменила процесс работы

Метод объединения Google Apps Script, Gmail и Google Sheets доказал эффективность в условиях, когда API недоступно.

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

  1. Ранее специалисты тратили до 30–40 минут в день на внесение данных вручную. После автоматизации время обработки данных сократилось в 6–8 раз.

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

  3. Обновление данных стало стабильным и своевременным. Файлы обрабатываются ежедневно в одно и то же время, без задержек и зависимости от человеческого ресурса.

4. Высвобождение времени специалистов. Команда может сосредоточиться на анализе данных, а не на их ручном внесении.

Дополнительные плюсы метода

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

  1. Отсутствие необходимости в сервере. Весь процесс выполняется в облаке, без дополнительных затрат.

  2. Простота освоения. Большое количество обучающих материалов в интернете, есть автоматические средства написания и совершенствования кода.

  3. Простота масштабирования. При увеличении количества площадок можно легко добавить новые источники данных без изменения основной логики работы. Есть возможность вместо объединения в Google Sheets забрать файлы с диска в любое другое хранилище.

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

Мнение редакции может не совпадать с мнением автора. Ваши статьи присылайте нам на 42@cossa.ru. А наши требования к ним — вот тут.


Телеграм Коссы — здесь самый быстрый диджитал и самые честные обсуждения: @cossaru

📬 Письма Коссы — рассылка о маркетинге и бизнесе в интернете. Раз в неделю, без инфошума: cossa.pulse.is

✉️✨
Письма Коссы — лаконичная рассылка для тех, кто ценит своё время: cossa.pulse.is