4 заметки с тегом

google analytics

How to: Google App Script

Время чтения текста – 5 минут

Сегодняшний пост прольет свет на то, как можно еще более эффективно использовать один из очень удобных инструментов для базовой аналитики — Google Sheets.
Зачастую, аналитикам нужно часто и много работать с таблицами и создавать выборки по различным условиям. В работе с таблицами проблема часто заключается в том, что приходится обрабатывать и систематизировать большие объемы данных, хранящихся на разных листах. К примеру, вы ведете учет клиентов на одном листе таблицы, выгружая данные из сторонних сервисов, и вам хотелось бы, при обновлении ячеек менять данные на другом листе, используя возможности скриптов Google Sheets. Давайте посмотрим как легко и просто решить эту задачу.

Редактор скриптов

Если у вас есть Google аккаунт и таблицы с данными, загруженные в Google Sheets, то можно создавать скрипт для этой таблицы. Выберите таблицу, в которой нужно автоматизировать перенос информации с одного листа на другой, откройте её и выберете в меню «Инструменты» пункт «Редактор скриптов». Браузер переадресует вас на страницу Apps Script, где вы можете создавать и редактировать скрипты для таблицы.

Автоматизация переноса строк на другой лист

Итак, наш скрипт должен автоматически выполнять задачу переноса строки на другой лист. Для этого, мы создаем еще одну колонку в таблице, в которой можно будет поставить галочку для переноса строки и убрать её для отмены этого действия. Давайте разберемся, как именно это делается.
При написании скрипта можно использовать функцию-триггер, которая срабатывает при выполнении определенного условия. Подробнее о функциях-триггерах вы можете прочитатьhttps://developers.google.com/apps-script/guides/triggers?hl=ru#onedite в документации. В нашем скрипте мы используем функцию OnEdit(e), которая запускается при редактировании ячейки таблицы (включение и выключение галочки). Эту функцию мы вызовем в конце скрипта, а пока что, пропишем все, что в функции должно происходить.

function myScript(e) {   
  // Задаем следующее условие для функции: нужно реагировать только на нажатие галочки в восьмой колонке на листе "Лиды-воронка". 
  if (e.source.getActiveSheet().getName() == "Лиды- воронка" && e.range.getColumn() == 8)
  {
    // Сохраняем объекты исходного листа и листа назначения
    destSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('test');
    sourceSheet = e.source.getActiveSheet();
    // Очищаем лист назначения. При очистке, начинаем со второй строки, так как у нас в таблице есть заголовок.
    destSheet.getRange(2, 1, destSheet.getLastRow(), destSheet.getLastColumn()).clearContent();
    //Перебираем все ячейки с галочками, ищем те ячейки, в которых галочки проставлены.
    range = sourceSheet.getRange(1, 1, sourceSheet.getLastRow(), sourceSheet.getLastColumn());       
    for (i = 2; i <= range.getNumRows(); i++) 
    {      
      //Получаем все проставленные галочки.
      if (range.getCell(i,8).getValue())
      {        
        // Если галочка проставлена, то текущая строка переносится на новый лист.
        currentRow = sourceSheet.getRange(i, 1, i, sourceSheet.getLastColumn());           
        destSheet.appendRow(currentRow.getValues()[0]);
      }      
    }    
  }

// Затем, вызываем функцию-триггер, которая будет вызывать наш скрипт при каждом редактировании ячейки.
function onEdit(e) {
  myScript(e)
}

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

Выводы

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

 Нет комментариев    374   18 дн   api   google analytics

Бот для преобразования данных из Coinkeeper

Время чтения текста – 6 минут

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

Азат Шарипов сделал скрипт обработки данных в пригодный для Tableau вид и подготовил Tableau Public книгу, а Рома Бунин в рамках своего проекта «Переверстка» переработал дашборд.

Мы решили тоже поучаствовать, и с нашей стороны Елизавета Мазурова сделала чат-бота.

Чат-бот крутой! Помимо того, что он может как и прежде отдавать обратно .csv-файл, он позволяет автоматизировать рутину по обновлению отчета через Google-таблицы. Как, наверное, многие помнят, Tableau Public может работать на гугл-таблицах или csv файлах, но не разрешает подключение к данным. Бот умный: он создаст за вас гугл-таблицу и когда вы повторно отправите ему новый файл обновит ее.

Использование бота

Перейдите в диалог с ботом и введите команду /start — в ответе бот расскажет немного о себе. Для продолжения работы нажмите на кнопку «Начать».

Сразу после можно отправить csv-файл, выгруженный из Coinkeeper:

Выберите тип файла — csv или таблицу в Google Spreadsheets.

В случае выбора csv-файла бот пришлёт его:

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

Затем бот пришлёт ссылку на файл:

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

 Нет комментариев    98   8 мес   Analytics Engineering   coinkeeper   google analytics   tableau   telegram

Строим funnel-репорт в redash

Время чтения текста – 4 минуты

Итак, мы планировали разобрать Funnel-визуализацию отчета в redash.
В первую очередь, построим запрос к подключенному нами источнику данных — google analytics.

Прямо вот такой текст необходимо положить в консоль запроса:

{
    "ids": "ga:128886640",
    "start_date": "30daysAgo",
    "end_date": "yesterday",
    "metrics": "ga:users,ga:goal1Completions,ga:goal2Completions,ga:goal3Completions"
}

В данном запросе мы просим API Google Analytics отдать данные за последние 30 дней по аккаунту GA: 128886640. Мы хотим увидеть число пользователей и число выполнения целей 1, 2 и 3.

В итоге получаем таблицу следующего вида:

ga:users ga:goal1Completions ga:goal2Completions ga:goal3Completions
3,926 105 41 32

Отлично, это именно то, что нам нужно для построения воронки.
Расскажу об одной очень полезной фиче Redash: query-results. Чтобы подключить таблицы с результатами выполнения запросов, идем в Data Sources и ищем query-results (beta). Подключаем новый источник данных.
Теперь у нас появилась возможность обращаться к результатам запросов redash. Так, например, мы можем воспользоваться результатами запроса к Google Analytics.

Как это сделать?
Необходимо выбрать слева источник данных query-results:

Выпадающее меню с выбором источников данных (в консоли — слева)

Теперь научимся делать funnel-визуализацию. Для этого пишем следующий SQL-запрос:

select 'Добавление товара в корзину' as step_name, ga_goal1Completions as goalCompletion from query_8
union all
select 'Просмотр корзины' as step_name, ga_goal2Completions from query_8
union all
select 'Оформление заказа' as step_name, ga_goal3Completions from query_8

В данном случае query_8 — это как раз таблица с результатами запроса к источнику данных Google Analytics.

Настроим визуализацию:

Аккуратно выбираем параметры, чтобы получить желаемый результат

В итоге мы получаем воронку конверсий из одной цели в другую:

Данную воронку можно отобразить в дашборде и добавить к ней фильтры / параметры

Как подключить Google Analytics к Redash?

Время чтения текста – 4 минуты

В этой статье разберем как подключить источник данных Google Analytic к сервису Redash [подробнее Redash и его возможности мы разбирали в предыдущих заметках].

Создаем сервисный аккаунт в Google

Переходим в консоль сервисных аккаунтов.

Создаем новый сервисный аккаунт

В окне создания аккаунта вводим имя, а затем формируем новый ключ. Выбираем, что нам необходим JSON-ключ и затем нажимаем «Создать».

Включаем Analytics API

Для созданного нами сервисного аккаунта необходимо включить Analytics API.

Когда мы все установили, Analytics API должен гореть зеленым

Добавляем сервисного пользователя в Google Analytics

Далее, необходимо добавить созданного нами сервисного пользователя в Google Analytics. Пользователь будет иметь примерно такой вид:
user@PROJECT-ID.iam.gserviceaccount.com.
Необходимо добавлять пользователя с правами на Чтение и Просмотр.

Создаем новый источник данных в Redash

Идем в Настройки (Settings) -> Добавляем новый источник данных

Подключаем новый источник данных.

Нас интересует источник данных Google Analytics, поэтому ищем «google»:

Ищем google analytics в источниках данных.

Вспоминаем, куда мы сохранили JSON файл, он нам сейчас потребуется

Выбираем созданный ранее JSON файл

Пишем запрос к новому источнику данных

Именно в таком виде запрос выполняется в консоли redash:

{
    "ids": "ga:128886640",
    "start_date": "30daysAgo",
    "end_date": "yesterday",
    "metrics": "ga:users,ga:newUsers,ga:goal1Starts,ga:goal2Completions,ga:goal3Starts,ga:transactions,ga:transactionRevenue", 
    "dimensions": "ga:date"
}

Как узнать параметры для выполнения запроса?

У Google есть отличный ресурс Query Explorer, в котором можно найти все необходимые метрики и измерения, которые доступны в Google Analytics.

Надеюсь, данная инструкция оказалась вам полезной, далее мы разберемся как построить воронку целей в Redash на основании данных из Google Analytics.

 Нет комментариев    13   2018   BI-инструменты   google analytics   redash