CRM-система в Google Таблице (GTM + Measurement Protocol)
Вставка
- Опубліковано 23 сер 2021
- Отрывок из онлайн-курса по сквозной аналитике, где слушатели учатся практическим навыкам настройки CRM-системы и инструментов веб-аналитики для отслеживания пути клиента от клика по рекламе до его повторных продаж, а также созданию отчетов, позволяющих принимать верные решения и увеличат прибыль компании.
В этом видео мы с помощью нестандартных приемов работы с Google Tag Manager создаем собственную CRM-систему на базе Google Таблиц, в которую будут поступать все обращения с сайта. А благодаря Measurement Protocol эти обращения мы привязываем к статусам сделок и передаем эту информацию обратно в Universal Analytics.
На курсе используются такие инструменты, как: Яндекс.Метрика, Universal Analytics, Google Analytics 4, Google BigQuery, Google Tag Manager, AdPlanner, Google Data Studio, Microsoft Power BI, CRM-системы, различные готовые решения сквозной аналитики, коннекторы, чаты, коллтрекинги и многое другое.
Хотите научиться настраивать сквозную аналитику?
Тогда добро пожаловать 👉 learn.osipenkov.ru/end-to-end
---
Мои контактные данные:
Сайт: osipenkov.ru/
ВКонтакте: yakov.osipenkov
Facebook: yakov.osipenkov
Telegram: @YakovOsipenkov
Instagram: yakov.osipenkov
Почта: ya.osipenkov@icloud.com
здравствуйте! а почему заявки приходят с десктопа, а с мобильного нет? я не ставила гугл аналитику и шаг с куки для id тоже пропустила. мне нужно отслежиdfть с какого реламного места пришла заявка и все.
Добрый день. К сожалению, так сказать не могу, нужно проводить диагностику вашего контейнера и кода
Яков, привет! Подскажи пожалуйста, если транзакция была 1.10.2021, а событие refund через measurement protocol я отправил лишь 10.10.2021, должна ли транзакция исчезнуть в отчете за 1.10.2021? У меня эта транзакция фигурирует в отчете за 1.10.2021 и генерит доход, хотя мне нужно, чтобы доход по отмененной транзакции не учитывался. Как это можно реализовать?
Добрый день. Удалять/изменять исторические данные в Google Analytics нельзя. В нем есть возможность создать запрос на удаление данных, но это вам не подойдет
@@YakovOsipenkov Спасибо за ответ. Я вижу решение проблемы в том, чтобы передавать событие транзакция по MP при факте оплаты онлайн или получении товара в пункте выдачи. Подскажи пожалуйста, как можно записать транзакцию датой оформления заказа, а не датой доставки в другой город и оплаты при получении, ведь это могут быть разные месяца?
@@user-kq4ef1yc3r это всегда так. Дата оформления заказа не равна дате получения заказа человеком по факту и его оплаты. Поэтому вам нужно определиться как вы должны смотреть в отчете в итоге - когда человек оформил заказ на сайте (условно 17.10.2021) или когда он оплатил и получил его (например, 31.10.2021). При передаче через MP дата не указывается, и передаваемое событие будет записано в ту дату, когда оно совершено
@@YakovOsipenkov Спасибо за информацию. Пришел к тому, что буду мэтчить в data studio данные аналитикса и данные по реальным продажам. Сначала путем импорта из google sheets, а потом уже реализуем прокидывание данных из БД в Data Studio
Да, такой вариант возможен. Я бы тоже делал сведение не на стороне Google Analytics
это мой код спионеренный, может в нем проблема((
если не трекает в СRM с MACов, что делать?
Заранее спасибо
сложно так сказать.. либо пренебрегать этими обращениями, либо пытаться найти причину. вполне вероятно, что на уровне браузера есть какая-то блокировка по трекерам
@@YakovOsipenkov я наверное неправильно выразился(. Я имел ввиду ваш метод CRM(GoogleSheets). я сделал так же как у вас на видео, но с маков заявки не заходят(
@@vladtrokhanovsky2180 вы уверены, что только с маков. а со всех остальных ОС приходят? Возможно, вы неверно настроили сам Google Tag Manager и его тег
@@YakovOsipenkov а в чем может быть неправильность?) Я правда функцию другую вставил в скрипт, но...
var SHEET_NAME = "";
var SHEET_KEY = "";
function doPost(e) {
var lock = LockService.getPublicLock();
lock.waitLock(30000); // Подождать до 30 секунд, пока завершатся другие процессы
try {
// Запись данных - вы можете использовать несколько альтернативных адресатов
var doc = SpreadsheetApp.openById(SHEET_KEY);
var sheet = doc.getSheetByName(SHEET_NAME);
// Предполагается, что заголовок находится в строке 1, но вы можете переопределить header_row в данных GET / POST
var headRow = e.parameter.header_row || 1;
var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0];
var nextRow = sheet.getLastRow() + 1; // Получаем следующую строку
var row = [];
// Перебираем столбцы заголовков
for (i in headers) {
if (headers[i] == "Timestamp") { // Особый случай, если вы используете столбец Timestamp
row.push(new Date());
} else { // Иначе используется имя заголовка для получения данных
row.push(e.parameters[headers[i]]);
}
}
// Наиболее эффективно устанавливать значения в виде массива []
sheet.getRange(nextRow, 1, 1, row.length).setValues([row]);
// Возвращаем успешный результат в виде JSON
return ContentService
.createTextOutput(JSON.stringify({ "result": "success", "row": nextRow }))
.setMimeType(ContentService.MimeType.JSON);
} catch (e) {
// В случае ошибки вернуть это
return ContentService
.createTextOutput(JSON.stringify({ "result": "error", "error": e }))
.setMimeType(ContentService.MimeType.JSON);
} finally { // Снимаем блокировку, чтобы другие процессы могли продолжить работу
lock.releaseLock();
}
}
у вас получилось с кодом?
Походу CRM из Google Sheets больше не работает в 2023 для GA4, потому что нужно передавать (Секретный ключ API для Measurement Protocol) - У вас в коде он не указан. И у вас нет в GTM передачи события Status (ВЫПОЛНЕНО, В ОБРАБОТКЕ, ОТМЕНЕНО). В общем все работает, но статус в GA4 не передается. 🙅♂
да, потому что этот пример изначально был показан для Universal Analytics, на базе которой можно построить сквозную аналитику. В 2021 году сделать это для GA4 не представлялось возможным