ADF Media

+160
с 2020
21 подписчик
26 подписок

Привет! Это ADF Media.

Мы очень любим микро автоматизацию PPC проектов в Google Таблицах.

5

Всем привет! Мы Артём Дурнев и Султан Назаралиев подготовили в этой статье мануал по внедрению и детальное описание работы собственного динамического коллтрекинга.

30

Готовая формула для выгрузки данных из Яндекс Директа напрямую в Google Таблицу

Введение

10
","lang":""}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"ec225d20-4426-5fc2-a7eb-7de23e245588","width":800,"height":476,"size":181338,"type":"gif","color":"eaf0f1","hash":"","external_service":[],"duration":0,"isVideo":false,"has_audio":false}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

6. Добавляем порядок активации тегов

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Переходим в Теги -> CDC — Get New Number -> Порядок активации тегов -> Активировать тег перед тегом CDC — Get New Number -> Основной тег Google Analytics

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"622c45ec-ad06-55ac-b67a-ebbdd3dbcca2","width":800,"height":450,"size":314761,"type":"gif","color":"eaebf2","hash":"","external_service":[],"duration":0,"isVideo":false,"has_audio":false}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Аналогично редактируем тег CDC — Get Reserve Number

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"15589792-a5df-5954-b42c-26871a5833dc","width":800,"height":450,"size":339792,"type":"gif","color":"eaebf1","hash":"","external_service":[],"duration":0,"isVideo":false,"has_audio":false}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

6. Публикация

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Публикуем контейнер: Отправить -> Опубликовать

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Настройка завершена. Что дальше?"}},{"type":"incut","cover":false,"hidden":false,"anchor":"","data":{"text":"

На листе «calls» нужно будет записывать номер телефона и дату/время, когда поступил входящий звонок.

На листе «report» протягивайте формулу в столбце «C» для мэтчинга сессий и звонков

"}},{"type":"delimiter","cover":false,"hidden":false,"anchor":"","data":{"type":"default"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Как всё это работает? !"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"2791c8e4-2672-5d3a-8c93-8e2c0a733349","width":3285,"height":1648,"size":636492,"type":"jpg","color":"343836","hash":"","external_service":[]}}}]}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Google Таблица"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

На втором листе states закрепляются номера за пользователями. В столбце А выводятся номера телефонов с листа phones. В столбце B записывается Client ID пользователя, за которым закреплён номер телефона. В столбец C записывается дата и время, когда номер телефона последний раз закреплялся за пользователем. В дальнейшем это время будет использоваться для проверки номеров, которые нужно открепить от пользователя.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

На третьем листе distrib в ячейке A1 всегда хранится номер телефона готовый к выдаче новому пользователю. Этот номер фильтруется с помощью формулы, которая ищет в предыдущем листе states ближайший сверху свободный номер телефона.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

На четвертом листе sessions хранится информация о сессиях. Когда и какому пользователю какой номер телефона был присвоен. Вместе с информацией о пользователе и номером телефона фиксируется вся информация о сессии. Сюда можно передавать любой параметр (например, ip или устройство пользователя).

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Пятый лист calls. На этом листе нужно записывать информацию о звонках. Дата/время входящего звонка и номер телефона, на который поступил звонок.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

На шестом листе report будут отображаться звонки с привязанными ближайшими сессиями.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

На седьмом листе config заполняются данные конфигурации. В ячейке B1 указываем номер телефона, который будет отображен в случае если все динамические номера заняты. В ячейке B3 записывается количество минут, на которое номер телефона закрепляется за пользователем.

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Google Apps Script"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

К приложению Google Apps Script можно отправлять как get, так и post запросы. Результат будет одинаковый.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

На запрос отвечает функция main. Эта функция проверяет параметр type. По параметру type определяется функция, которая будет запущена. Есть две основные функции:

"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["получение нового номера телефона","поиск уже зарезервированного номера телефона за пользователем"],"type":"UL"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Функция получения нового номера телефона

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Функция берет значение из ячейки A1 листа distrib. В ответ функция вернет json в котором будет указан номер телефона и время закрепления этого номера за пользователем. После запустится функция reserve.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Функция reserve

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

В функцию reserve передаётся: номер телефона, который необходимо зарезервировать, Client ID пользователя за которым резервируется номер телефона и параметры которые необходимо создать в записи сессии. Функция будет искать первое совпадение по номеру телефона на листе states. При совпадении запишется Client ID. В столбце время закрепления номера проставится актуальная дата и время. После этого запустится функция createSession.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Функция createSession

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Принимает два аргумента: параметры, которые создаются в записи сессии и номер телефона. Функция ищет в заголовках листа sessions параметры, которые переданы в параметре event. Если найдено совпадение параметров, переданных в функцию и заголовков на листе sessions — параметр будет записан.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Функция поиска зарезервированного номера телефона

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Функция будет искать первое совпадение по Client ID на странице states. При совпадении номера телефона — обновиться время закрепления на листе states. Функция вернёт номер телефона найденный по Client ID пользователя в формате json и время закрепления этого номера телефона за пользователем.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Функция checkReserve

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Каждую минуту в проекте Google Apps Script будет отрабатывать функция checkReserve. Функция checkReserve проходится по листу states. Функция берет запись о каждом номере телефона и проверяет время, когда в последний раз номер телефона был закреплён за пользователем. Если время закрепления, больше времени указанного на листе config — удаляется запись о пользователе и времени его закрепления с листа states. То есть номер телефона открепляется и может быть выдан другому пользователю, зашедшему на сайт.

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Google Tag Manager"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

В Google Tag Manager есть два основных тега:

"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["получить новый номер телефона","получить уже зарезервированный номер телефона"],"type":"UL"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Получить новый номер телефона"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Запускается по триггеру просмотр страницы если в основном файле cookie значение getnew.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

В теге CDC — Get New Number отрабатывает основная функция getNewNumber. Эта функция отправляет запрос к приложению Google Apps Script с параметром type=getnew и остальными параметрами, которые мы хотим отслеживать по звонку. В нашем случае это utm метки. Можно также передавать: тип устройства, страница, разрешение экрана и так далее. Когда приходит ответ от Google Apps Script проставляется cookie сессии с номером телефона который пришел от приложения Google Apps Script.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Номер телефона, полученный от Google Apps Script сохраняется в cookie. Это позволяет мгновенно подменять телефон на странице при повторных запросах.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

После проставления cookie вызывается кастомный триггер для Google Tag Manager. По этому триггеру срабатывает тег CDC — Switch Phone Number, который подставляет номер телефона из cookie в элемент на странице. В теге нужно указать css селектор элементов, в которых содержатся номера телефонов.

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Функция получения уже зарезервированного номера"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Функция отрабатывает по триггеру загрузки страницы, когда основной файл cookie не равен значению getnew.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Функция получения уже зарезервированного номера телефона отправляет запрос к Google Apps Script с параметром type=getreserve и параметром Client ID. Как только ответ получен, функция сверяет текущий номер телефона из файла cookie и полученный от Google Apps Script.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Параллельно тегу получения зарезервированного номера телефона срабатывает тег подмены номера телефона на странице. Если номер телефона полученный от Google Apps Script не совпадает с номером телефона, который содержится в файле cookie — проставляется cookie с новым номером телефона. После запускается кастомное событие для запуска триггера замены номеров на странице. Если номера телефонов совпадают — продлевается срок истечения cookie.

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Заключение"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Таким образом, в теории мы смогли бы снизить расходы клиента на коллтрекинг до 70%. Но важно понимать, что данное решение подойдет для небольших проектов — до 500 сессий в сутки. Еще надо помнить про ограничения Google Apps Script.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Благодарим за прочтение! Возможно данное решение кому-то будет полезно.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Также читайте:

"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Как получить отчет из Яндекс Директ формулой в Google Таблицу","Как работать с API Яндекс Директ","R для автоматизации отчётности"],"type":"UL"}}],"summaryContent":null,"isExistSummaryContent":false,"warningFromEditor":null,"warningFromEditorTitle":null,"counters":{"comments":12,"favorites":96,"reposts":1,"views":164,"hits":4088,"reads":null,"online":0},"dateFavorite":0,"hitsCount":4088,"isCommentsEnabled":true,"isLikesEnabled":true,"isRemovedByUserRequest":false,"isFavorited":false,"isPinned":false,"repostId":null,"repostData":null,"subscribedToTreads":false,"isEditorial":false,"isAudioAvailable":true,"audioUrl":null,"isAudioAvailableToGenerate":false,"commentEditor":{"enabled":true,"who":null,"text":"","until":null,"reason":null,"type":"everybody"},"isBlur":false,"isPublished":true,"isDisabledAd":false,"withheld":[],"ogTitle":null,"ogDescription":null,"url":"https://vc.ru/services/200074-dinamicheskii-kolltreking-na-kolenke-s-pomoshyu-google-tablic","author":{"id":486952,"name":"ADF Media","nickname":null,"description":null,"uri":"","avatar":{"type":"image","data":{"uuid":"9a282c35-3c48-7d37-1459-77118b5cf9a3","width":2976,"height":2976,"size":107981,"type":"jpg","color":"040404","hash":"","external_service":[]}},"cover":null,"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":4941783,"userId":486952,"count":0,"shareImage":"https://api.vc.ru/achievements/share/4941783"},{"title":"3 года на vc.ru","code":"registration_3_years","description":"Провёл 3 года вместе с vc.ru. Получена 23 июля 2025.","previewUuid":"d9d72ac5-bcb5-55e0-8c72-b99251e5cdd9","formats":{"glb":"https://static.vc.ru/achievements/shark.glb","usdz":"https://static.vc.ru/achievements/shark.usdz"},"viewData":{"contentColor":"#8E6F09","textMaxWidth":0.66796875,"textX":0.5205078125,"textY":0.341796875,"logoX":0.5205078125,"logoY":0.4609375,"logoXNoText":0.5,"logoYNoText":0.3662109375},"id":1317696,"userId":486952,"count":0,"shareImage":"https://api.vc.ru/achievements/share/1317696"},{"title":"5 лет на vc.ru","code":"registration_5_years","description":"Провёл 5 лет вместе с vc.ru. Получена 23 июля 2025.","previewUuid":"a9140d54-73b8-5f40-afa8-449fbaafd42b","formats":{"glb":"https://static.vc.ru/achievements/whale.glb","usdz":"https://static.vc.ru/achievements/whale.usdz"},"viewData":{"contentColor":"#8E6F09","textMaxWidth":0.66796875,"textX":0.533203125,"textY":0.658203125,"logoX":0.533203125,"logoY":0.77734375,"logoXNoText":0.4375,"logoYNoText":0.66015625},"id":90988,"userId":486952,"count":0,"shareImage":"https://api.vc.ru/achievements/share/90988"}],"lastModificationDate":1765027437,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":false,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"subsite":{"id":200396,"name":"Сервисы","description":"Новые сервисы, обновления инструментов, опыт использования и полезные приёмы.","uri":"/services","avatar":{"type":"image","data":{"uuid":"158fab2d-76c1-5ed8-898a-76ee48d4c795","width":1200,"height":1200,"size":99571,"type":"png","color":"7cdaea","hash":"08183848d81000","external_service":[]}},"cover":{"type":"image","data":{"uuid":"c3fe3abb-6808-527e-9eb1-2b6bb92ea400","width":3840,"height":1120,"size":19502,"type":"png","color":"7cdcec","hash":"","external_service":[]}},"lastModificationDate":1688995401,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":false,"isDisabledAd":false,"nickname":"services","isUnsubscribable":true,"badge":null,"badgeId":null,"isDonationsEnabled":false,"isOnline":false,"isPlus":false,"isUnverifiedBlogForCompanyWithoutPro":false,"isVerified":false,"isRemovedByUserRequest":false,"isFrozen":false,"isPro":false,"type":2,"subtype":"community"},"reactions":{"counters":[{"id":1,"count":30}],"reactionId":0},"isNews":false,"source":null,"clusters":[],"donations":{"amount":0,"isDonated":false},"commentsSeenCount":null}},{"type":"entry","data":{"id":118858,"customUri":null,"subsiteId":486952,"title":"Получаем отчет из Яндекс Директ формулой в Google Таблицу","date":1589285454,"dateModified":1589285454,"blocks":[{"type":"text","cover":true,"hidden":false,"anchor":"","data":{"text":"

Готовая формула для выгрузки данных из Яндекс Директа напрямую в Google Таблицу

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Введение"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Привет! На связи Артём Дурнев и Султан Назаралиев. Мы занимаемся performance маркетингом и сквозной аналитикой. Как и все кто занимается платным трафиком мы делаем много отчётов. Для этого используем Google Таблицы.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Но сводить данные в Google Таблицах не всегда легко. Например, как отчеты из Яндекс Директа. Скачивать Excel файл, а потом заливать его в таблицу - неудобно. Но мы нашли решение.

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Как это все устроено"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Из Яндекс Директа можно получить данные программным способом при помощи API.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Для Google Таблиц мы сделали формулу для получения статистики из API Яндекс Директ через Google Apps Script.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Это фреймворк для интеграции с многими сервисами Google.

"}},{"type":"delimiter","cover":false,"hidden":false,"anchor":"","data":{"type":"default"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Как пользоваться"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Скопируйте Google Таблицу"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Скопируйте специальную Google Таблицу. В ней уже есть формула для получения данных

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"e851ef68-c1f8-43cc-b2dd-c0c2b8f9e574","width":800,"height":440,"size":542228,"type":"gif","color":"dcdcdc","hash":"","external_service":[],"duration":0,"isVideo":false,"has_audio":false}}}]}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Получите и скопируйте токен Яндекс Директ"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Чтобы получить данные из Яндекс API вам нужен токен. Для получения токена перейдите на наше приложение Яндекс OAuth

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"Обратите внимание на аккаунт Яндекса для которого вы получаете токен","image":{"type":"image","data":{"uuid":"13a58a28-0700-fa5d-b93a-53c520c9d768","width":800,"height":440,"size":911349,"type":"gif","color":"291e4a","hash":"","external_service":[],"duration":0,"isVideo":false,"has_audio":false}}}]}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Вставьте токен в поле OAuth Token Google Таблицы и вызовите формулу"}},{"type":"media","cover":true,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"460b2415-c0bc-7a61-099e-0a418367c8c6","width":800,"height":440,"size":638298,"type":"gif","color":"eceeee","hash":"","external_service":[],"duration":0,"isVideo":false,"has_audio":false}}}]}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Изменяйте поля отчёта под себя"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Полный список параметров и показателей для поля Field names

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"f8cc0dd9-15e7-1cf3-8927-4cf3c7a103f3","width":800,"height":440,"size":764089,"type":"gif","color":"eceeef","hash":"","external_service":[],"duration":0,"isVideo":false,"has_audio":false}}}]}},{"type":"delimiter","cover":false,"hidden":false,"anchor":"","data":{"type":"default"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Как это работает"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Формула получения отчёта называется YandexDirectReport.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Подробнее про поля формулы:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"5a819179-2642-f9cb-c0b2-4ca605b645e5","width":408,"height":530,"size":175679,"type":"png","color":"eaebeb","hash":"","external_service":[]}}}]}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["yaToken - токен Яндекса","login - логин клиента в Яндекс Директ. Если используется для агентского аккаунта - укажите логин клиента. Если ваш аккаунт представительский - логин представительского аккаунта","datefrom - дата начала отчёта в формате ГГГГ-ММ-ДД","dateto - дата окончания отчёта в формате ГГГГ-ММ-ДД","fields - поля отчета. Перечислите поля через точку с запятой внутри кавычек \"CampaignName;Clicks;Cost\"","includeVAT - включая НДС"],"type":"OL"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Пример"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"YandexDirectReport(\n\"eh3eldlxoL4iMnoRcAhkGa\";\n\"anilange-ss\";\n\"2019-05-24\";\n\"2019-05-24\";\n\"CampaignName;Clicks;Cost\";\n\"YES\")​","lang":""}},{"type":"delimiter","cover":false,"hidden":false,"anchor":"","data":{"type":"default"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Заключение"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Так мы упростили загрузку данных из Яндекс Директа в Google Таблицы. Хотим поделиться решением, возможно кому-то будет полезно.

"}}],"summaryContent":null,"isExistSummaryContent":false,"warningFromEditor":null,"warningFromEditorTitle":null,"counters":{"comments":24,"favorites":72,"reposts":0,"views":131,"hits":10413,"reads":null,"online":0},"dateFavorite":0,"hitsCount":10413,"isCommentsEnabled":true,"isLikesEnabled":true,"isRemovedByUserRequest":false,"isFavorited":false,"isPinned":false,"repostId":null,"repostData":null,"subscribedToTreads":false,"isEditorial":false,"isAudioAvailable":false,"audioUrl":null,"isAudioAvailableToGenerate":false,"commentEditor":{"enabled":true,"who":null,"text":"","until":null,"reason":null,"type":"everybody"},"isBlur":false,"isPublished":true,"isDisabledAd":false,"withheld":[],"ogTitle":null,"ogDescription":null,"url":"https://vc.ru/marketing/118858-poluchaem-otchet-iz-yandeks-direkt-formuloi-v-google-tablicu","author":{"id":486952,"name":"ADF Media","nickname":null,"description":null,"uri":"","avatar":{"type":"image","data":{"uuid":"9a282c35-3c48-7d37-1459-77118b5cf9a3","width":2976,"height":2976,"size":107981,"type":"jpg","color":"040404","hash":"","external_service":[]}},"cover":null,"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":4941783,"userId":486952,"count":0,"shareImage":"https://api.vc.ru/achievements/share/4941783"},{"title":"3 года на vc.ru","code":"registration_3_years","description":"Провёл 3 года вместе с vc.ru. Получена 23 июля 2025.","previewUuid":"d9d72ac5-bcb5-55e0-8c72-b99251e5cdd9","formats":{"glb":"https://static.vc.ru/achievements/shark.glb","usdz":"https://static.vc.ru/achievements/shark.usdz"},"viewData":{"contentColor":"#8E6F09","textMaxWidth":0.66796875,"textX":0.5205078125,"textY":0.341796875,"logoX":0.5205078125,"logoY":0.4609375,"logoXNoText":0.5,"logoYNoText":0.3662109375},"id":1317696,"userId":486952,"count":0,"shareImage":"https://api.vc.ru/achievements/share/1317696"},{"title":"5 лет на vc.ru","code":"registration_5_years","description":"Провёл 5 лет вместе с vc.ru. Получена 23 июля 2025.","previewUuid":"a9140d54-73b8-5f40-afa8-449fbaafd42b","formats":{"glb":"https://static.vc.ru/achievements/whale.glb","usdz":"https://static.vc.ru/achievements/whale.usdz"},"viewData":{"contentColor":"#8E6F09","textMaxWidth":0.66796875,"textX":0.533203125,"textY":0.658203125,"logoX":0.533203125,"logoY":0.77734375,"logoXNoText":0.4375,"logoYNoText":0.66015625},"id":90988,"userId":486952,"count":0,"shareImage":"https://api.vc.ru/achievements/share/90988"}],"lastModificationDate":1765027437,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":false,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"subsite":{"id":199113,"name":"Маркетинг","description":"Рекламные кейсы из России и других стран, советы по продвижению, маркетинг и digital.","uri":"/marketing","avatar":{"type":"image","data":{"uuid":"d66009fe-9bf0-52da-bdbf-4c758eba39e7","width":2400,"height":2400,"size":841299,"type":"jpg","color":"f97373","hash":"0c1cf06cf0d010","external_service":[]}},"cover":{"type":"image","data":{"uuid":"5488a646-f32d-57a6-a31f-d290afc4388a","width":960,"height":280,"size":177,"type":"png","color":"fc7c7c","hash":"","external_service":[]}},"lastModificationDate":1661337194,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":false,"isDisabledAd":false,"nickname":"marketing","isUnsubscribable":true,"badge":null,"badgeId":null,"isDonationsEnabled":false,"isOnline":false,"isPlus":false,"isUnverifiedBlogForCompanyWithoutPro":false,"isVerified":false,"isRemovedByUserRequest":false,"isFrozen":false,"isPro":false,"type":2,"subtype":"community"},"reactions":{"counters":[{"id":1,"count":10}],"reactionId":0},"isNews":false,"source":null,"clusters":[],"donations":{"amount":0,"isDonated":false},"commentsSeenCount":null}}],"cursor":"PuR2GsZKFTvhhGtQDYbn4NrVS6IzQAa09I6wtbz/zlbeaPDONLamzk9T525BkW4=","isAnonymized":true}};