Оглавление / Отчеты

    Подключение Яндекс Метрики и Директ к отчетам в CRM INTRUM

    Табличные отчеты CRM INTRUM позволяют в качестве источников информации для метрик использовать не только локальные данные, которые хранятся непосредственно в CRM, но и данные внешних сервисов, если они предоставляют такую возможность. 

    Яндекс Метрика позволяет получить по API все стандартные отчеты, которые можно найти в интерфейсе Метрики. В данном примере мы рассмотрим получение данных о количестве визитов, используя возможности API отчетов (v1) Яндекс Метрики. 

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

    Получение токена для доступа к отчетам Яндекс Метрики

    Для доступа к отчетам из Яндекс Метрики необходимо получить OAuth-токен. Для получения токена необходимо авторизоваться в аккаунте Яндекс, который имеет доступ к счетчикам с нужной информацией. После авторизации нужно перейти на страницу https://yandex.ru/dev/metrika/ и нажать там на кнопку “Получить OAuth-токен” для регистрации приложения и настройки его доступов. 

    При регистрации приложения необходимо заполнить все поля. В разделе выбора платформы необходимо выбрать “Веб-сервисы”, а для заполнения поля “Callback URI #1:” можно воспользоваться кнопкой “Подставить URL для разработки”.

    На этой же странице ниже настраиваются права доступа для приложения. В списке необходимо найти “Яндекс.Метрика” и включить там “Получение статистики, чтение параметров своих и доверенных счётчиков”. 

    Далее подтвердить создание приложения. 

    После создания приложения откроется окно, где будет видно пароль и ID для приложения. 

    Необходимо скопировать полученный ID приложения и в браузере перейти по ссылке, подставив в ссылку этот ID. 

    https://oauth.yandex.ru/authorize?response_type=token&client_id=ИДЕНТИФИКАТОР_ПРИЛОЖЕНИЯ

     

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

     

    После входа откроется страница, где в центре экрана будет показан полученный  OAuth-токен. 

    Этот токен необходимо скопировать, т.к. для каждого запроса выдается новый токен. 

    После получения токена можно переходить непосредственно к настройке табличного отчета в CRM-системе.

    Добавление метрики с количеством визитов на сайт в табличный отчет

    Табличный отчет можно создать по инструкции - https://www.intrumnet.com/wiki/tablichnyi_otchet-943

    Используя API Метрики в ячейки табличного отчета CRM INTRUM можно подставлять любые данные, которые отдает Метрика по API. В приведенном ниже примере используется код для получения данных по количеству визитов за указанный период. Данный код необходимо вставить в ячейку с вычисляемым выражением (https://www.intrumnet.com/wiki/tablichnyi_otchet-943#api), предварительно вписав в код свои данные.

    Пример кода:

    <?php
     /// Получение данных из яндекс метрики по ВИЗИТАМ v1.2
    $date1 = date( "Y-m-d", strtotime($start_date)); /// Отчет ОТ
    $date2 = date( "Y-m-d", strtotime($end_date));  /// Отчет ДО
     //// Получение данных из метрики
    //// Вместо XXXXXXXXXXXX_XXXXXXXXXXX подставить полученный токен
     $options = array(
        'http' => array(
            'method' => 'GET',
            'header' => array(
                'Content-Type: application/x-yametrika+json',
                "Authorization: OAuth XXXXXXXXXXXX_XXXXXXXXXXX"
            )
        ),
    	'ssl'=>array(
    		"verify_peer"=>false,
    		"verify_peer_name"=>false
    	)
    );
     $context = stream_context_create($options);
     $url = 'https://api-metrika.yandex.ru/stat/v1/data';
     //// Вместо YYYYYYYY подставить номер счетчика из аккаунта
     $parameters = [
        "ids"               => "YYYYYYYY",   
        'metrics'           => 'ym:s:visits',       // номер счётчика метрики 
    // 'dimensions'         => 'ym:s:dateTime',     // группировка - не нужна для получения общего кол-ва визитов
        "date1"             => "$date1",            // с какой даты получить отчёт 
        "date2"             => "$date2",            // до какой даты получить отчет
        'accuracy'          => 'full',              // точная статистика (без округления) 
        'limit'             => '100000',            // максимальный лимит данных 
        'proposed_accuracy' => 'false'             // без округления данных 
    ];
    array_walk($parameters, function (&$key, $value) {
        return $key = "$value=$key";
    });
    $parameters = implode("&", $parameters);
    $url = $url . '?' . $parameters;
    $metrikaRequest = file_get_contents($url, false, $context);
    
    $result = json_decode($metrikaRequest,true);
    $data = $result['totals'][0]; 
    
    return $data;
    ?>


    Добавление метрики с информацией по расходом из рекламного кабинета Директ из Метрики

    Метрика интегрирована с сервисом контекстной рекламы Директ. Если у вас выполнена настройка по подключения рекламного аккаунта к метрики, то через отчеты метрики можно получить фактические расходы на рекламную кампанию за период.

    Для вывода этой информации, как и для вывода информации по визитам, нужно добавить метрику с вычисляемым выражением для получения данных по расходам из Метрики. 

    Пример кода:

    <?php
    /// Получение данных из яндекс метрики по расходу Директ V1.2
    $date1 = date( "Y-m-d", strtotime($start_date)); /// Отчет ОТ
    $date2 = date( "Y-m-d", strtotime($end_date));  /// Отчет ДО
    //// Получение данных из метрики
    //// Вместо XXXXXXXXXXXX_XXXXXXXXXXX подставить полученный токен
    $options = array( 'http' => array( 'method' => 'GET', 'header' => array( 'Content-Type: application/x-yametrika+json', "Authorization: OAuth XXXXXXXXXXXX_XXXXXXXXXXX" ) ), 'ssl'=>array( "verify_peer"=>false, "verify_peer_name"=>false ) );
    $context = stream_context_create($options);
    $url = 'https://api-metrika.yandex.ru/stat/v1/data';
     
    //// Вместо YYYYYYYY подставить номер счетчика из аккаунта //// Вместо GGGGGGG подставить логин кабинета директ, который подключен к счетчику
     
    $parameters = [
        "ids"                  => "YYYYYYYY",
        "metrics"              => "ym:ad:<currency>AdCost",
        "direct_client_logins" => "GGGGGGG",  /// Является обязательным параметром для получения AdCost
        "date1"                => "$date1",                 
        "date2"                => "$date2",
        'accuracy'             => 'full', 
        'limit'                => '100000',
        'proposed_accuracy'    => 'false',          
    ];  
    array_walk($parameters, function (&$key, $value) {
        return $key = "$value=$key";
    });
     
    $parameters = implode("&", $parameters);
    $url = $url . '?&' . $parameters;
     
    $metrikaRequest = file_get_contents($url, false, $context);
    $result = json_decode($metrikaRequest,true);
     
    $data = $result['totals'][0];
    return round($data,2);
     
    ?> 

    Если Вы активно покупаете контекстную рекламу или рекламу в социальных сетях и у вас настроены UTM-метки для отслеживания, то в отчет можно вывести данные по визитам с разбивкой по источникам. Отчет по расходом на рекламу можно вывести с группировкой метрик по группам объявлений. Все доступные варианты получения данных из метрики можно посмотреть в документации по отчетам Яндекс Метрики - https://yandex.ru/dev/metrika/doc/api2/api_v1/

    Добавление метрики для отображения актуального баланса рекламного кабинета Яндекс Директ

    Метрика не позволяет получать всю финансовую информацию по рекламному кабинету Яндекс. Например, если вы захотите дополнительно в отчет вывести актуальные данные по балансу рекламного кабинета, то это можно сделать только через API Директа. 

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

    Если у вас уже создано приложение, то можно перейти на страницу https://oauth.yandex.ru/ и открыть в режиме редактирования ранее созданное приложение, чтобы добавить эти права.

    В рекламном кабинете Яндекс Директ необходимо перейти в Инструменты - API. 

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

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

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

    Для вывода в отчет этой информации нужно добавить метрику с вычисляемым выражением для получения данных.

    Пример кода: 

    <?php
     function direct__GetReports($token, $login) {
        $params = array(
            'method' => "AccountManagement",
            'param'  => array(
                'Action'            => "Get",
                'SelectionCriteria' => array(
                    'Logins' => array($login),
                ),
            ),
            'locale' => "ru",
            'token'  => $token,
        );
        $headers = array(
            'POST /json/v5/ads/ HTTP/1.1',
            'Host: api.direct.yandex.com',
            'Authorization: Bearer ' . $token,
            'Accept-Language: ru',
            'Client-Login:  ' . $login,
            'Content-Type: application/json; charset=utf-8',
        );
    /// Для доступа к реальным данным заменить url
    /// https://api.direct.yandex.ru/live/v4/json/
     
    $url = 'https://api-sandbox.direct.yandex.ru/live/v4/json/';
     
    $ch  = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($params));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    $server_output = curl_exec($ch);
    curl_close($ch);
    return json_decode($server_output, true);
    }
    //// Вместо XXXXXXXXXXXX_XXXXXXXXXXX подставить полученный токен //// Вместо GGGGGGG подставить логин кабинета директ
    $result = direct__GetReports('XXXXXXXXXXXX_XXXXXXXXXXX','GGGGGGG');
    $date = $result['data']['Accounts']['0']['Amount'];
    return $date;
     ?> 

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

    После подтверждения получения полного доступа нужно изменить ссылку песочницы в коде на ссылку для реального доступа (см. комментарий в примере кода).

    Если приведенных в статье примеров недостаточно, то вы можете привлечь сторонних разработчиков, чтобы они реализовали вывод данных из любых других сервисов, которые вам необходимы для ваших отчетов. 

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

     


    Вернуться к оглавлению


    Система реализуется как облачное решение SaaS, т. е. размещается на наших серверных мощностях. CRM гибко настраивается персонально под ваш бизнес. При использовании сервиса у вас будет аккаунт-менеджер для консультации и помощи в настройках