Интеграция с QlikView

Интеграция данных CoMagic в аналитическое приложение QlikView позволяет:

  • Связать данные коллтрекинга CoMagic по входящим и исходящим звонкам с реальными данными продаж из любой ERP-системы

  • Проанализировать эффективность работы менеджеров по продажам по входящим и исходящим звонкам

  • Оценить полноценный ROI рекламных площадок и улучшить воронку продаж

Шаги по интеграции данных CoMagic в аналитическое приложение QlikView:

Извлечение данных CoMagic в приложение QlikView осуществляется при помощи REST API. Подробное описание функциональности REST API приведено на сайте CoMagic: https://www.comagic.ru/support/api/comagic_api/. Мы рассмотрим основные шаги подключения и загрузки данных CoMagic в QlikView через скрипт загрузки:


1. Заходим в редактор скрипта QlikView (Ctrl+E) и для удобства создаем новую вкладку, которую называем CoMagic:



2. Пишем код подключения к данным CoMagic. В коде подключения необходимо заменить:

    • YOUR_LOGIN на логин аккаунта CoMagic,
    • YOUR_PASSWORD на пароль аккаунта CoMagic:

    rem Получение ключа сессии; 

    tmpSID: LOAD 
    success: true, // проверка на 'true' необязательна, но желательна 
    [data/session_key] as session_key 
    FROM [http://api.comagic.ru/api/login/?accept=application/xml&login=YOUR_LOGIN&password=YOUR_PASSWORD] (XmlSimple, Table is [root]); 
    let sk=Peek('session_key'); 
    DROP Table tmpSID; 


    3. Задаем интересующий список рекламных кампаний. Пример кода:

    rem Список рекламных кампаний; 
    let req='http://api.comagic.ru/api/v1/ac/?accept=application/xml&session_key=' & sk; 
    // Start of 
    map_ac2name: Mapping LOAD id, name FROM [$(req)] (XmlSimple, Table is [root/data/item]);


    Инструкция по получению списка рекламных кампаний: https://www.comagic.ru/support/api/comagic_api/#poluchenie-spiska-reklamnih-kampaniy

    4. Задаем список сайтов. Пример кода:

    rem Список сайтов; 
    let req='http://api.comagic.ru/api/v1/site/?accept=application/xml&session_key=' & sk; 
    map_domain2name: Mapping LOAD id, domain FROM [$(req)] (XmlSimple, Table is [root/data/item]);


    Инструкция по получению списка сайтов: https://www.comagic.ru/support/api/comagic_api/#poluchenie-spiska-saytov


    5. Задаем список тэгов. Пример кода:


    rem Список тегов; 
    let req='http://api.comagic.ru/api/v1/tag/?accept=application/xml&session_key=' & sk; 
    // Start of 
    map_tag2name: Mapping LOAD id, name FROM [$(req)] (XmlSimple, Table is [root/data/item]);


    Инструкция по получению списка тэгов: https://www.comagic.ru/support/api/comagic_api/#poluchenie-spiska-tegov


    6. Задаем интересующий период в цикле. Пример кода с комментариями:

    for d=MakeDate(2015,1,1) to MakeDate(2015,1,1) step -1;// Базовая дата 
    set ErrorMode=0; let ds=date(d,'YYYY-MM-DD'); //Дата начала периода 
    let de=date(d+1,'YYYY-MM-DD'); //Дата окончания периода (исключительно)


    7. Получаем информацию о звонках. Пример кода:


    rem Информация о звонках; 
    let req='http://api.comagic.ru/api/v1/call/?accept=application/xml&session_key=' & sk & '&date_from=' & ds & '%2000:00:00&date_till=' & de & '%2000:00:00'; //limit=100 
    Comagic: LOAD 
    ApplyMap('map_ac2name',ac_id,'---' & ac_id) as Comagic.ac_name, 
    ApplyMap('map_ac2name',visitor_first_ac,'---' & visitor_first_ac) as Comagic.visitor_first_ac_name, 
    ApplyMap('map_domain2name',site_id,'---' & site_id) as Comagic.site_name, 
    ApplyMap('map_tag2name',[tags/item],'---' & [tags/item]) as Comagic.tag_name, 
    //type as Comagic.type, 
    ua_client_id as Comagic.ua_client_id, 
    gclid as Comagic.gclid, 
    text(if(len(numa)>0,numa,Repeat('0',11))) as Comagic.numa, 
    visitor_id as Comagic.visitor_id, 
    wait_time as Comagic.wait_time, 
    duration as Comagic.duration, 
    is_transfer as Comagic.is_transfer, 
    id as Comagic.id, 
    search_engine as Comagic.search_engine, 
    Date(Floor(call_date)) as Comagic.call_date, 
    Time(Frac(call_date)) as Comagic.call_time, 
    Hour(call_date) as Comagic.call_time_h, 
    if(len(session_start)>0,Date(Floor(session_start)),Date(Floor(call_date))) as Comagic.session_start_date, 
    if(len(session_start)>0,Time(Frac(session_start)),Time(Frac(call_date))) as Comagic.session_start_time, 
    visits_count as Comagic.visits_count, 
    utm_medium as Comagic.utm_medium, 
    scenario_name as Comagic.scenario_name, 
    capitalize(replace(city,'ё','е')) as Comagic.city, 
    status as Comagic.status, 
    os_ad_id as Comagic.os_ad_id, 
    utm_campaign as Comagic.utm_campaign, 
    communication_type as Comagic.communication_type, 
    text(operator_name) as Comagic.operator_name, 
    utm_source as Comagic.utm_source, 
    referrer_domain as Comagic.referrer_domain, 
    os_service_name as Comagic.os_service_name, 
    visitor_type as Comagic.visitor_type, 
    text(numb) as Comagic.numb, 
    capitalize(replace(region,'С.-Петербург','Санкт-Петербург')) as Comagic.region, 
    os_campaign_id as Comagic.os_campaign_id, 
    visitor_first_ac as Comagic.visitor_first_ac, 
    communication_number as Comagic.communication_number, 
    referrer as Comagic.referrer, 
    site_id as Comagic.site_id, 
    session_id as Comagic.session_id, 
    ac_id as Comagic.ac_id, 
    other_adv_contacts as Comagic.other_adv_contacts, 
    search_query as Comagic.search_query, 
    country as Comagic.country, 
    os_source_id as Comagic.os_source_id, 
    yclid as Comagic.yclid, 
    page_url as Comagic.page_url, 
    //[page_url/type] as [Comagic.page_url/type], 
    //[yclid/type] as [Comagic.yclid/type], 
    //[os_source_id/type] as [Comagic.os_source_id/type], 
    //[country/type] as [Comagic.country/type], 
    //[search_query/type] as [Comagic.search_query/type], 
    //[other_adv_contacts/type] as [Comagic.other_adv_contacts/type], 
    //[ac_id/type] as [Comagic.ac_id/type], 
    //[session_id/type] as [Comagic.session_id/type], 
    //[site_id/type] as [Comagic.site_id/type], 
    //[referrer/type] as [Comagic.referrer/type], 
    //[communication_number/type] as [Comagic.communication_number/type], 
    //[visitor_first_ac/type] as [Comagic.visitor_first_ac/type], 
    //[os_campaign_id/type] as [Comagic.os_campaign_id/type], 
    //[sale_cost/type] as [Comagic.sale_cost/type], 
    //[region/type] as [Comagic.region/type], 
    //[numb/type] as [Comagic.numb/type], 
    //[visitor_type/type] as [Comagic.visitor_type/type], 
    //[os_service_name/type] as [Comagic.os_service_name/type], 
    //[referrer_domain/type] as [Comagic.referrer_domain/type], 
    //[utm_source/type] as [Comagic.utm_source/type], 
    //[operator_name/type] as [Comagic.operator_name/type], 
    //[communication_type/type] as [Comagic.communication_type/type], 
    //[utm_campaign/type] as [Comagic.utm_campaign/type], 
    //[os_ad_id/type] as [Comagic.os_ad_id/type], 
    //[status/type] as [Comagic.status/type], 
    //[city/type] as [Comagic.city/type], 
    //[scenario_name/type] as [Comagic.scenario_name/type], 
    //[utm_medium/type] as [Comagic.utm_medium/type], 
    //[sale_date/type] as [Comagic.sale_date/type], 
    //[visits_count/type] as [Comagic.visits_count/type], 
    //[tags/type] as [Comagic.tags/type], 
    [tags/item] as [Comagic.tags/item], 
    //[tags/item/type] as [Comagic.tags/item/type], 
    //[coach_name/type] as [Comagic.coach_name/type], 
    //[session_start/type] as [Comagic.session_start/type], 
    //[call_date/type] as [Comagic.call_date/type], 
    //[utm_term/type] as Comagic.//[utm_term/type], 
    //[search_engine/type] as Comagic.//[search_engine/type], 
    //[id/type] as Comagic.//[id/type], 
    //[file_link/type] as Comagic.//[file_link/type], 
    if(len([file_link/item])>0,'http:' & [file_link/item],null()) as [Comagic.file_link]//, 
    //[file_link/item/type] as Comagic.//[file_link/item/type], 
    //[is_transfer/type] as Comagic.//[is_transfer/type], 
    //[duration/type] as Comagic.//[duration/type], 
    //[wait_time/type] as Comagic.//[wait_time/type], 
    //[ef_id/type] as Comagic.//[ef_id/type], 
    //[visitor_id/type] as Comagic.//[visitor_id/type], 
    //[numa/type] as Comagic.//[numa/type], 
    //[utm_content/type] as Comagic.//[utm_content/type], 
    //[gclid/type] as Comagic.//[gclid/type], 
    //[ua_client_id/type] as Comagic.//[ua_client_id/type], 
    FROM [$(req)] (XmlSimple, Table is [root/data/item]); 

    NEXT dlet d=null(); let ds=null(); let de=null();


    8. Завершаем сессию. Пример кода:

    rem Завершение сессии; 
    let req='http://api.comagic.ru/api/logout/?accept=application/xml&session_key=' & sk; 
    tmpSID: LOAD success FROM [$(req)] (XmlSimple, Table is [root]); 

    DROP Table tmpSID; 

    set ErrorMode=1;


    9. Загрузка данных CoMagic в QlikView произойдет после перезагрузки модели данных (Ctrl+R). После этого можно начинать создаватьвизуализации QlikView или дополнительно загрузить данные по продажам из Вашей ERP-системы:

    Нам интересно ваше мнение о CoMagic.
    Пожалуйста, оставьте контакты для связи с менеджером
    ФИО*:
    E-mail*:
    Телефон*:
    * - Обязательные для заполнения поля