
Вычисляемые поля в Google Data Studio
Вычисляемые показатели в Google Analytics
Наверное, многие знают и используют мегаполезную возможность Google Analytics формировать собственные показатели на основе существующих данных. В терминах аналитики они именуются вычисляемыми показателями (calculated metrics).
Вычисляемые показатели — это количественные значения, которые рассчитываются на основе данных Google Analytics по заданным пользователем формулам.
Польза и удобство этой функции в том, что благодаря ей можно без труда привести метрики в удобный для анализа вид. Например, одна из часто встречающихся в работе интернет-маркетолога задач: найти сумму достижений нескольких нужных целей; посчитать стоимость достижения этой суммарной цели; коэффициент конверсии для этой цели. Это можно реализовать при помощи несложной формулы в вычисляемом показателе.
Как создать вычисляемые показатели в Google Analytics
Напомню, для создания собственных показателей в Google Analytics нужно в админ. панели на уровне представления перейти на вкладку “Вычисляемые показатели” и добавить новый показатель.

В настройках показателя указываем название. Также нужно задать внешнее имя — это название, которое используется для идентификации вычисляемого показателя при запросе с помощью API.
Удобно, что можно выбрать тип форматирования:
- Число с плавающей запятой
- Целое число
- Валюта (десятичный формат)
- Время
- Проценты
Далее мы вносим формулу, на основании которой будет рассчитан показатель. В формуле можно использовать знак плюса (+), минуса (-), деления (/) и умножения (*). Допустимое количество символов в формуле — не более 1024 символов.

Вычисляемые показатели можно использовать в специальных отчетах и собственных сводках и виджетах. В интерфейсе Google Analytics созданные показатели выглядят так:

Радость от использования этого функционала в аналитиксе несколько омрачается ограничением системы на количество вычисляемых показателей (для одного представления их можно создать не более 5). Поэтому далее мы рассмотрим, что делать, если вам нужно больше золота показателей.
Тариф “Безлимит” или как работать с вычисляемыми полями в Google Data Studio
Для тех читателей моей статьи, которые еще не работали с Google Data Studio, настоятельно рекомендую к прочтению этот мануал. Следуя шагам инструкции вы познакомитесь с возможностями сервиса и сможете создать свой первый отчет.
Давайте разберемся, что же такое вычисляемые поля в Google Data Studio, и как они нам могут быть полезны.
С помощью вычисляемых полей мы можем создавать новые показатели и (!!!) параметры из имеющихся данных путем применения математических формул, извлечения или преобразования текста, возвращения новых значений на основании логического сравнения. Вычисляемые параметры и показатели в дальнейшем можно использовать в таблицах и диаграммах, как и обычные поля.
Для того, чтобы добавить к отчету вычисляемый параметр или показатель, нужно в настройках таблицы на вкладке “Данные” кликнуть на голубой плюсик.

Пропускаем стандартные показатели, предоставляемые системой, и переходим в меню создания собственных:

Даем информативное название своему вычисляемому полю и добавляем формулу для его создания.

Например, чтобы в Data Studio создать показатель “Все конверсии”, аналогичный тому, что мы создали выше в Google Analytics, в текстовом поле для ввода формулы мы укажем простенькое выражение, представляющее собой суммирование нужных нам целевых действий:

Чтобы посмотреть формулы созданных ранее показателей/параметров или отредактировать их, кликаем на “Все поля”.

В результате — красивая табличка с достигнутыми целями и суммарным показателем.

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

Так, чтобы создать показатель, который будет представлять собой долю отвеченных звонков во всем множестве звонков, мы выбираем тип “Процент”.

Регулярные выражения в Google Data Studio
Помните статью про регулярные выражения?
Эта прелесть поддерживается и в Data Studio! Возможность использовать регулярки реализована в трех функциях:
Функция REGEXP_MATCH(X, Y)
где
- X — это поле
- Y — это регулярное выражение
При соответствии значения поля регулярному выражению, эта функция возвращает TRUE, в противном случае — FALSE.
Пример:
С помощью выражения REGEXP_MATCH(Источник или канал, ‘.*(cpc|ppc|cpa).*’)
можно выбрать данные только по платному трафику (при условии, что платные источники трафика содержат сочетание cpc или ppc или cpa).
Функция REGEXP_REPLACE(Х, Y, R)
где
- X — это поле или выражение, содержащее поле.
- Y — это регулярное выражение, описывающее заменяемый текст.
- R — это текст, используемый для замены.
Эта функция заменяет в Х все вхождения регулярного выражения на указанную строку.
Пример:
С помощью выражения REGEXP_REPLACE(Источник или канал, ‘.*(cpc|ppc|cpa).*’, ‘Платный трафик’) можно отнести посещения, соответствующие источнику cpc или ppc или cpa, к типу трафика “Платный”.

Функция REGEXP_EXTRACT(X, Y)
где
- X — это поле или выражение, содержащее поле
- Y — это регулярное выражение, содержащее шаблон извлечения
Эта функция возвращает первую подстроку в X, соответствующую шаблону регулярного выражения.
Пример:
Выражение REGEXP_EXTRACT(Страница,’.*(service).*’) позволит из всех URL страниц услуг (/service/ppc/, /services/, /service/analitika/, /service/prodvizhenie-youtube-kanala/ и пр.) извлечь (вырезать) часть, соответствующую регулярному выражению (в данном случае: service).

Оператор CASE в Google Data Studio
Вершиной удобства создания вычисляемых полей в Data Studio является поддержка оператора CASE. Оператор CASE — это обобщение оператора IF, с его помощью можно сделать выбор из произвольного числа имеющихся вариантов.
Синтаксис CASE:
CASE
WHEN условие THEN результат
WHEN условие THEN результат
…
ELSE результат
END
где
условие — это выражение, которое возвращает TRUE или FALSE при выполнении/невыполнении условия соответственно. Условие может содержать параметры или показатели (но не одновременно).
результат — это возвращаемое значение при истинности условия.
ELSE результат — это возвращаемое значение, если условие в блоке WHEN не выполнилось.
В операторе CASE можно использовать функцию REGEXP_MATCH(X, Y), которую я описала выше.
Пример использования CASE
Для того, чтобы создать собственный параметр — источник трафика, можем воспользоваться следующим выражением:
CASE WHEN REGEXP_MATCH(Источник или канал, '.*(google / cpc|yandex / cpc).*' ) THEN "Контекстная реклама в Google Ads и Яндекс.Директ" WHEN Источник или канал = "google / organic" THEN "Органический трафик Google" WHEN REGEXP_MATCH(Источник или канал, '.*[^(google / )].*organic.*' ) THEN "Органический трафик других ПС" WHEN Источник или канал = "(direct) / (none)" THEN "Прямой трафик" WHEN REGEXP_MATCH(Источник или канал, '.*(youtube).*' ) THEN "Трафик с YouTube" WHEN REGEXP_MATCH(Источник или канал, '.*(telegram).*' ) THEN "Трафик с Telegram" WHEN REGEXP_MATCH(Источник или канал, '.*(vkontakte|vk.com).*' ) THEN "Трафик c Вконтакте" WHEN REGEXP_MATCH(Источник или канал, '.*(facebook / cpc|fb / cpc).*' ) THEN "Реклама в Фейсбук" WHEN REGEXP_MATCH(Источник или канал, '.*(facebook).*' ) THEN "Трафик Фейсбук" WHEN REGEXP_MATCH(Источник или канал, '.*(email|newsletter).*' ) THEN "Трафик с email-рассылки" WHEN REGEXP_MATCH(Источник или канал, '.*(referral).*' ) THEN "Реферальный трафик" ELSE "Другое" END

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

Помимо рассмотренных мной операторов, в Data Studio поддерживаются и привычные нам арифметические функции, текстовые функции, функции агрегирования, гео и даты. Они понятны и достаточно просты, к тому же подробно описаны в справке, поэтому в этой статье я на них не буду останавливаться. Если по использованию этих или рассмотренных мной функций у вас возникают вопросы, оставляйте в комментариях, я с удовольствием помогу разобраться=) Удачи в использовании!

Анастасия, добрый день 🙂 Большое спасибо за полезную статью! очень помогла разобраться с выражениями в Гугл Дата Студио. Однако сейчас есть не совсем стандартная задача: 1) Есть общий доход со всех каналов из Аналитикса 2) Есть доход, отфильтрованный по каналу «email-рассылка» 3) В отчёте нужно выводить % дохода email от общего дохода. Подскажите, пожалуйста, помогут ли здесь вычисляемые поля Студио? И если да, то в каком направлении двигаться? как разделить один доход на другой и показать в %?
Доброго дня
Есть таблица, в ней показатели отказов по категориям посетителей. Хочу объединить в диаграмме по трем группам «до 12%», «от12 до 25%» и «свыше 25%»
Делаю новое поле с выражением
CASE
WHEN Отказы (Гармония) > 0 and Отказы (Гармония) 12 and Отказы (Гармония) < 25 THEN "от 12 до 25%" ELSE "более 25%" END Но в диаграмму выводится только "до 12" и "более 25%". Данные проверил, показатели всех трех групп присутствуют. Что не так в выражении?
Добрый день, Иван!
Первое, что бросается в глаза, чисто синтаксическая ошибка: http://prntscr.com/u3l4yb тут должен быть какой-то знак или может вовсе это лишний кусок, который вы случайно добавили. Но странно тогда, что при таком выражении в диаграмму что-то выводится. Можете прикрепить скриншот из дата студио, как там выглядит выражение и диаграмму, где видите, что оно работает?
Добрый день
Не сталкивались ли вы с такой проблемой, что при создании поля русский язык превращается в непонятные кракозяблы, типа «xd0xbdxd0xb5xd1x82» (результат по свитчу после Then?
Нигде не нашел объяснений.
Данные загружаются из MySQL напрямую в датастудию.
Добрый день! Не сталкивалась.
В предыдущем посте ошибся — формула «Стоимость / Просмотр страниц» (где нужно взять количество просмотров не всех страниц, а определенной, например /stranitsa)
Добрый День! Подскажите, пожалуйста! Не получается создать поле «Стоимость просмотра страницы», где формула «Расход / Просмотр Страниц (при условии, что Страница = /stranitsa)». То есть просто «Расход / Просмотр страниц» — работает, а как написать формулу, чтобы считались только просмотры нужной страницы? Заранее Спасибо!
Добрый день
Если поля уже созданы. Но нужно еще добавить, или отредактировать старые. Как это сделать? Где кнопка ведущая к редактированию полей? Спасибо
Добрый день, Дмитрий.
Нужно перейти в меню редактирования источника: http://prntscr.com/qxufsn
Добрый день Анастасия, к сожалению не нашел возможности ответить непосредственно в вашем вопросе, потому создаю новый комментарий. Меня интересует возможность оптимизации существующего кода либо реализация с помощью другой функции(если конечно есть альтернативы). Спасибо(могу ошибаться в постановке вопроса, поправьте если что)
Добрый день!
Выражение довольно простое сейчас, не знаю даже как его еще можно оптимизировать)
А сейчас с ним какая-то проблема? Не выполняются ваши задачи?
Добрый день, подскажите пожалуйста как лучше подойти в вопросе сбора информации по двум страницам и выводом в один дашборд, на примере данного кода и его возможной оптимизации.
CASE
WHEN REGEXP_MATCH(sessioner, «page 1|page2») THEN «Name»
ELSE «»
END
Где sessioner это главная страница а page1,page2 страницы по сбору информации а Name страница группировки. Спасибо
Добрый день, Константин.
Сейчас выражение работает не так, как вам нужно?
Здравствуйте. Подскажите, пожалуйста, как прописать в операторе CASE (нужно группу каналов сделать) следующее условие:
— Источник или канал содержит smm или fb или facebook или vk, при этом источник и канал и кампания НЕ содержат «cpc». Проблема в том что, эти «smm или fb или facebook или vk» указываются по разному. Например smm_vz, smm_az, smm_yacenko, fb_post и еще очень много вариантов.
Буду ооочень признателен)
Здравствуйте, Тарас!
Попробуйте использовать регулярное выражение. В Data Studio это можно реализовать с помощью функции REGEXP_MATCH(). Через «OR» вы сможете перечислить все нужные соц.сети, а с помощью исключения платного трафика [^(cpc)] выделить только нерекламные переходы. Пример выражения (протестируйте и дополните нужными данными):
Case
When REGEXP_MATCH(Источник или канал,’.*(smm|facebook|vk).* / [^(cpc)]+’)
Then ‘нужный источник’
End
Из 3 таблиц:
1. Данные по расходам в рекламных системах
2. Данные по поведению пользователей на сайте
3. Данные по доходу из CRM
Сделать одну таблицу и посчитать там ROI, если общий ключ ClientID есть только у таблиц с пользователями сайта и с продажами из CRM, но нет в таблице по расходам?
Добрый день
Подскажите пожалуйста, как совместить в одной таблице данные по затратам из google ads, fb ads и dv360 ?
у меня возникла сложность, так как эти источники выдают каждый свой формат времени, и вывести общие затраты по всем источникам за 1 месяц у меня не получилось
Добрый день!
Данные по затратам google ads, fb ads мне удобно тянуть из Google Analytics (для fb c использованием owox bi), а с dv360 не работала, не подскажу.
по каждой строке, а итоговое значение при агрегации «Среднее» расходится с искомым. Простыми словами — нужно, чтобы был показатель Расходы за месяц / Кол-во заявок, чтобы не приходилось каждый раз считать на калькуляторе 🙂 Как в GDS это реализовать?
Добрый день! Спасибо за материал!
Такой вопрос. Есть два источника данных: таблица с трафиком и стоимостью по дням и таблица с заявками. Сопоставляю, делаю агрегацию, в таблице остаётся одна запись за весь месяц целиком. Добавляю расчётное поле Расходы/Кол-во заявок, чтобы посчитать CPL. GDS считает среднее значение по каждой
Добрый день. Подскажите, пожалуйста, как возможно реализовать функцию процентов к существующему числу?
Например у меня есть ивент глубины прокрутки страниц (25, 50, 75 и 100%) через «Pivot Table» в datastudio у меня получилось создать таблицу следующей структуры:
страница / 25% / 58% / 75% / 100% / TOTAL. Однако вывод в цифровом выражении по количеству уникальных ивентов. Есть ли возможность добавить % к существующим числам? Например, как у в данной статье последний скриншот, к данным цифрам добавить % от общего числа.
Спасибо
Можно ли с помощью регулярных выражений вырезать часть из содержимого. Например есть url http://www.avito.ru, http://www.yandex.ru и т.д. нужно чтобы данные урлы остались без www avito.ru,yandex.ru ? Благодарю.
Добрый день! Посмотрите функции REGEXP_EXTRACT или REGEXP_REPLACE.