Коли у бізнесу 10+ локацій, ручна перевірка відгуків у Google Maps перестає бути рутиною й стає вузьким місцем. Один менеджер не встигає зайти в кожен профіль, другий відповідає із запізненням, а негативний відгук може провисіти без реакції кілька днів. Для локального SEO це поганий сценарій: репутація, швидкість відповіді та стабільність роботи з профілем прямо впливають на довіру користувача і на силу вашого Local Pack.

Ноутбук із таблицею, що автоматично збирає відгуки з Google Maps; поруч об’ємний пін мапи і зірки рейтингу, центрований об’єкт, м’які тіні
Ноутбук із таблицею, що автоматично збирає відгуки з Google Maps; поруч об’ємний пін мапи і зірки рейтингу, центрований об’єкт, м’які тіні

Саме тому правильний підхід — не “частіше перевіряти вручну”, а перетворити емоції клієнтів у структуровані дані. Якщо всі нові відгуки потрапляють у Google Таблицю автоматично, ви бачите ситуацію по мережі в одному місці: хто написав, скільки зірок поставив, чи є текст, чи відповіли ви, як змінюється рейтинг по місяцях. А далі вже можна запускати сповіщення, внутрішню аналітику й сценарії для SERM без хаосу.

Чому саме Google Таблиці

Google Таблиця тут працює не просто як “місце, куди все складаємо”. Це легкий дашборд для власника або керівника сервісу. У ньому зручно:

  • бачити всі локації в одному аркуші;
  • фільтрувати негатив 1–3 зірки;
  • рахувати середній рейтинг по місяцю;
  • зберігати історію навіть тоді, коли клієнт видалив або змінив відгук;
  • передавати відповідальність між менеджерами.

Тобто ви перестаєте шукати відгуки поштучно і починаєте керувати потоком даних. Якщо вам близький такий підхід до локального просування, подивіться й статтю про Local SEO та ТОП-3 Google Maps — вона добре доповнює цю автоматизацію на рівні самої видимості.

Що потрібно підготувати

Підготовка до створення PBN блогу
Підготовка до створення PBN блогу

Перед стартом важливо не спростити картину до рівня “вставив API-ключ і все полетіло”. Для Google Business Profile API потрібен не публічний ключ, а нормальний технічний доступ:

  • верифікований акаунт компанії або доступ менеджера до потрібних профілів;
  • Google Cloud project;
  • OAuth 2.0 credentials;
  • підключені Business Profile APIs;
  • location ID для кожної локації, яку хочете моніторити.

Саме тут багато хто помиляється. Для збору відгуків вам не потрібен Business Calls API — він не про reviews. Основний сценарій тут будується навколо endpoint’ів для review data. Якщо говорити просто: спочатку ви отримуєте доступ до акаунта і локацій, а вже потім читаєте відгуки по конкретній точці.

Технічний етап: підключення та логіка

Після створення проєкту в Google Cloud і налаштування OAuth відкрийте Google Таблицю, перейдіть у Розширення → Apps Script і створіть базовий сценарій. Його логіка така:

  1. беремо accountId і locationId;
  2. звертаємося до endpoint для reviews;
  3. отримуємо JSON-відповідь;
  4. дістаємо з неї ім’я автора, рейтинг, текст, дату та reply;
  5. записуємо нові відгуки у таблицю.

Зручно одразу зробити таку структуру аркуша:

  • колонка A — Location ID;
  • колонка B — Назва локації;
  • колонка C — Ім’я клієнта;
  • колонка D — Оцінка;
  • колонка E — Текст відгуку;
  • колонка F — Дата;
  • колонка G — Чи відповіли;
  • колонка H — URL або reviewId;
  • колонка I — Статус реакції.

Нижче — базова функція-заготовка для Apps Script. Вона показує сам принцип: отримати reviews, розібрати JSON і записати нові рядки в таблицю.

    function importGoogleReviews() {
      const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Reviews');
      const accountId = 'ACCOUNT_ID';
      const locationId = 'LOCATION_ID';
      const accessToken = 'OAUTH_ACCESS_TOKEN';

      const url = 'https://mybusiness.googleapis.com/v4/accounts/' + accountId +
                  '/locations/' + locationId + '/reviews';

      const response = UrlFetchApp.fetch(url, {
        method: 'get',
        headers: {
          Authorization: 'Bearer ' + accessToken,
          Accept: 'application/json'
        },
        muteHttpExceptions: true
      });

      const data = JSON.parse(response.getContentText());
      const reviews = data.reviews || [];

      reviews.forEach(review => {
        const reviewer = review.reviewer && review.reviewer.displayName
          ? review.reviewer.displayName
          : 'Без імені';

        const row = [
          locationId,
          'Локація 1',
          reviewer,
          review.starRating || '',
          review.comment || '',
          review.createTime || '',
          review.reviewReply ? 'Так' : 'Ні',
          review.reviewId || '',
          'Нова'
        ];

        sheet.appendRow(row);
      });
    }

Цей код не претендує на бойову фінальну версію, але дає правильний каркас. У production-сценарії треба додати перевірку дублів за reviewId, роботу з пагінацією та зберігання токена в безпечному місці, а не в коді.

Як не дублювати відгуки

Одна з головних помилок — кожен запуск скрипта просто знову додає ті самі рядки. Це вирішується дуже просто: або зчитуєте з листа вже відомі reviewId, або тримаєте їх у PropertiesService. Тоді кожен новий запуск порівнює отримані reviews із тим, що вже є в системі, і додає тільки нові.

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

Rocket-підхід: негатив одразу в Telegram

Найцінніша фішка — не просто збирати відгуки, а миттєво реагувати на ризики. Якщо новий відгук має 1, 2 або 3 зірки, скрипт може одразу надсилати повідомлення в Telegram менеджеру або власнику.

Логіка проста:

  • якщо starRating у межах 1–3;
  • формуємо коротке повідомлення;
  • відправляємо його в бот або групу;
  • відповідальний бачить сигнал одразу.

Це особливо корисно для аптек, кафе, СТО, медичних центрів і будь-яких мереж, де важлива не лише кількість відгуків, а швидкість реакції на негатив. Один невідпрацьований конфлікт часто впливає сильніше, ніж десять звичайних “все добре”.

Дашборд відгуків: що має бути на екрані

Щоб Google Таблиця працювала як дашборд, а не просто архів, додайте:

  • умовне форматування: червоне для 1–3 зірок, зелене для 4–5;
  • окремий блок “нові без відповіді”;
  • середній рейтинг за місяць;
  • кількість нових відгуків по локаціях;
  • частку негативу по мережі;
  • дату останнього оновлення.
Дашборд відгуків бізнесу
Дашборд відгуків бізнесу

Так ви за 30 секунд бачите не тільки “що пишуть клієнти”, а й де саме починається проблема: конкретна точка, конкретна зміна, конкретний менеджер або системний сервісний збій.

Що це дає бізнесу на практиці

Автоматизація відгуків у таблиці — це не про зручність заради зручності. Це про контроль над репутацією в моменті. Ви бачите всі локації в одному вікні, не втрачаєте нові reviews, не залежите від людської пам’яті й можете приймати рішення на базі даних:

  • де просідає сервіс;
  • де немає відповіді на негатив;
  • яка точка тягне рейтинг мережі вниз;
  • як змінюється середня оцінка за період.

Google Maps давно став не просто картою, а частиною воронки продажу. І якщо репутація в ньому управляється вручну, бізнес майже гарантовано втрачає швидкість. Коли ж відгуки автоматично збираються в таблицю, негатив одразу летить у Telegram, а рейтинг рахується без ручного копіювання, SERM перестає бути “емоційною зоною” і стає керованим процесом.

Саме так і працює технологічний прагматизм Rocketware: не сперечатися з потоком даних, а будувати систему, яка робить ці дані корисними для SEO, сервісу й зростання мережі.