Конференции
21
Май
Мальта
21-23
Май
г. Сан-Паулу, Бразилия
23-25
Май
г. Малага, Испания
26-27
Май
Ереван, Армения
29
Май
г. Ереван, Армения
29
Май
г.Ереван, Армения
29
Май
г. Ереван, Армения
29
Май
Ереван, Армения
29
Май
г. Ереван, Армения
29
Май
Ереван, Армения
29
Май
Ереван, Армения
30-31
Май
Ереван, Армения
30
Май
Ереван, Армения
30
Май
г. Лимассол, Кипр
30-31
Май
Ереван, Армения
31
Май
Ереван, Армения
01
Июнь
Пасай, Филиппины
03-05
Июнь
BIG
Belgrade, Serbia
09
Август
Казахстан
25-26
Август
Бухарест, Румыния
12-15
Сентябрь
о. Ивиса, Испания
21-23
Сентябрь
Будапешт, Венгрия
30
Сентябрь
Марса, Мальта
11-14
Ноябрь
Дубай, ОАЭ
23-25
Февраль

Передача данных из Keitaro в Google таблицы


Настраиваем автоматическую передачу данных из Keitaro в Google Spreadsheets (Excel) при помощи простого скрипта на Javascript и автоматизируем финансовый учет.

Кому подходит: медиа байерам, кому удобнее собрать данные в Google таблицам, командам, которые работают с трекером Keitaro, а байеры вносят доходы и расходы в таблицы. 

💰 Промокод для Keitaro на скидку 22% – CPARIP 💰

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

Что на выходе: таблица в Google Spreadsheets, где будут 3 столбца. Это:

  • группа кампаний в Keitaro — campaign_group;
  • день (дата) — day;
  • доход за дату — sale_revenue.

Что нужно для работы скрипта:

Установка и настройка скрипта для передачи из Keitaro в Google таблицы

Создать пустую таблицу в Google Spreadsheets, нажать на лист в нижней части и переименовать в Keitaro. Название важно! Если собираетесь использовать другие наименования для листов, вносить изменения в код скрипта: строка let sheet = ss.getSheetByName('Keitaro').

Выбрать вкладку «Расширения» (Extenstions) и нажать Apps Script.

Откроется новая страница, где находится редактор скриптов. В это поле необходимо скопировать скрипт с GitHub разработчика или отсюда:

function getKeitaroData() {
  let ss = SpreadsheetApp.getActiveSpreadsheet();
  let sheet = ss.getSheetByName('Keitaro');

  let apiKey = '<YOUR_KEITARO_API_KEY>';
  let url = 'http://<YOUR_TRACKER_DOMAIN>/admin_api/v1/report/build';
  
  let options= {
    "method":"POST",
    "headers":{
      "API-KEY": apiKey
    },
    "payload":'{"range":{"interval":"first_day_of_this_month","timezone":"Europe/Moscow","from":null,"to":null},"columns":[],"metrics":["sale_revenue"],"grouping":["campaign_group","day"],"sort":[{"name":"campaign_group","order":"asc"},{"name":"day","order":"asc"}], "filters":[{"name":"campaign_group_id","operator":"NOT_EQUAL","expression":""}],"summary":false,"limit":1000,"offset":0}'
  }
  let response = UrlFetchApp.fetch(url, options);
  let json = response.getContentText(); // get the response content as text
  let data = JSON.parse(json); //parse text into json

  //Logger.log(data); //log data to logger

  let stats=[]; //create empty array to hold data points
  
  for (var i=0;i < data.rows.length; i++){
    let r=data.rows[i];
    stats.push([r.campaign_group,r.day,Number(r.sale_revenue)]);
  }

  //Logger.log(stats);
  //append the stats array to the active sheet 
  sheet.clear();
  sheet.getRange(sheet.getLastRow() + 1, 1,stats.length, stats[0].length).setValues(stats);
}

// Trigger 2 times a day
function createTimeDrivenTriggers() { 
  ScriptApp.newTrigger('getKeitaroData').timeBased().atHour(12).nearMinute(30).everyDays(1).create(); 
  ScriptApp.newTrigger('getKeitaroData').timeBased().atHour(23).nearMinute(30).everyDays(1).create(); 
}

В коде надо заменить API-ключ <YOUR_KEITARO_API_KEY> и домен <YOUR_TRACKER_DOMAIN> на ваши данные.

API-ключ создается в Keitaro в adminПрофильAPI-ключиСоздать новый ключ.

Чтобы запустить скрипт, необходимо нажать Выполнить (Run). При этом правее должна быть выбрана функция “getKeitaroData”:

Если кнопка Выполнить неактивная (серого цвета), нужно нажать на значок сохранения 💾 и после нажать, на ставшую активной, кнопку Выполнить.

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

Скрипт будет выполнен.

Триггеры выполнения

Следующим шагом надо еще раз выполнить скрипт, выбрав функцию “createTimeDrivenTriggers”.

Это создаст 2 триггера, которые можно посмотреть в левом меню “Триггеры”:

Обратите внимание: каждый раз при нажатии «Выполнить» создаются новые триггеры, поэтому не стоит кликать на кнопку несколько раз. Создание большого количества триггеров приведет к ошибке, решение которой разберем ниже.

Что такое триггер в таблицах Google и как он работает? Триггер (Trigger) позволяет сценарию приложений автоматически запускать функцию при возникновении определенного события. Подробнее в документации Google.

В нашем примере объявленная функция запускается по таймеру (createTimeDrivenTriggers()) 2 раза в сутки:

Когда наступает время, запускается function getKeitaroData() с заданными настройками, которая дергает Keitaro и обновляет таблицу, добавляя туда новые значения. 

Результаты вывода в таблицу

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

В таблице появляются:

  • название кампании (байера);
  • дата (формат настраивается);
  • число (1123, 598, 37). 

В самой таблице Google Spreadsheets стоит указать настройки столбцов: 

  • для В — дата;
  • для С — число.

Чтобы выставить нужный формат ячейки (отображение числа и даты), необходимо выбирать ФорматЧисла и далее нужный формат.

Возможные ошибки и способы их устранения

Скрипт проверен и работает. Если есть проблемы, скорее всего, стоит уточнить настройки.

Ошибки будут отображаться в “Журнале выполнения”:

Разберем основные моменты, с которыми может столкнуться пользователь.

Ошибка №1. Кнопка «Выполнить» в Apps Script неактивна

Как выглядит: невозможно запустить скрипт, т.к. Выполнить (Run) серая.

Как устранить: чтобы устранить проблему, необходимо нажать на значок сохранения (дискета) рядом с Выполнить. После сохранения кнопка Run будет активна.

Ошибка №2. This script has too many triggers. Triggers must be deleted from the script before more can be added

Как выглядит: в консоли красное уведомление с exception и строкой кода, где находится ошибка.

В чем причина: создали слишком много триггеров. 

Как пофиксить: Не создавайте лишние триггеры, а если создали удалите их.

Чтобы устранить ошибку, необходимо перейти во вкладку «Триггеры». 

Если там много триггеров, необходимо нажать на настройки и выбрать «Удалить триггер».

Появится сообщение: «Удалить этот триггер? В результате связанный с ним проект “Название проекта” может работать неправильно». Подтверждаем действие кликом на Удалить навсегда.

Ошибка №3. DNS error

Как выглядит: надпись DNS error в консоли.

Почему возникает: данный exception появляется в проекте Apps Script из-за ошибки в url.

Как пофиксить ошибку скрипта: проверьте, правильно ли скопировали данные в let url = 'http://<YOUR_TRACKER_DOMAIN>/admin_api/v1/report/build'.

Ошибка №4. Request failed, 401 ошибка

Как выглядит: в Apps Script выкидывает Exception: Request failed for “САЙТ” returned code 401. Truncated server response: {“error”:”Unauthorized”} (use muteHttpExceptions option to examine full response).

Как пофиксить: код 401 показывает ошибку доступа. Проверьте правильность введенного ключа в apiKey.

Как посмотреть, какие данные попадут в таблицу

Предварительно информацию можно вывести в консоль. Для этого в код добавляем строку:

console.log(data)

Console.log ставим после объявления data (строчка let data = JSON.parse(json); //parse text into json).

После начала выполнения скрипта появляется data.

Как использовать скрипт, для выгрузки данных по офферам или иным параметрам

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

Параметры для передачи находим следующим образом:

Идем в «Отчеты Keitaro», где выводятся нужные нам данные, и запускаем “Инструменты разработчика” в браузере. В Google Chrome для этого нажмите на три точки в правом верхнем углу → Дополнительные инструментыИнструменты разработчика.

Нас интересует вкладка «Network» и в нем «Payload» (Request). Внутри запроса содержатся нужные параметры:

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

💰 Промокод для Keitaro на скидку 22% – CPARIP 💰

CPARIP


Like it? Share with your friends!
0 Комментариев
Партнерка - Наша оценка
Вертикали
Мин. сумма
Сайт
CLICKLEAD обзор
CPA-сеть в gambling и betting вертикалях, в которой доступно 200+ офферов, включая такие эксклюзивные продукты, как Olymp Casino, Elon и др. Принимают трафик из 40+ ГЕО. Сотрудничают по CPA модели: FTD, FTD + KPi, QFTD.
$100 выплата
фото
фото
фото
фото
фото
CatAffs обзор
Партнерская программа в гемблинг вертикали. На рынке с 2021 года. Начали работать после запуска бренда CatCasino, но сейчас является прямым рекламодателем 5 гемблинг проектов: R7, KENT, Daddy, Gama, CatCasino.  Принимают все виды трафика, кроме фрода. Основные гео, с которыми работают: Россия, Германия, Канада, Бразилия, Португалия и Казахстан.
€50 выплата
фото
фото
фото
фото
фото
Наша партнерская программа c офферами по Gambling и Nutra вертикалям. Выплаты в день запроса от $20.
$20 выплата
фото
Партнёрка от прямого рекламодателя Mostbet.com. Принимают гемблинг и беттинг трафик со всего мира. СРА по популярным ГЕО $20-$50, Revshare от 30% до 70%. По запросу выдают приложения и диплинки.
$50 выплата
фото
фото
фото
фото
фото
Huffson Group обзор
Партнёрская сеть iGaming-вертикали. Работают только с прямыми рекламодателями, львиная доля офферов представлены на эксклюзиве. В Huffson индивидуальные условия, собственная платформа, подробная статистика, PWA-приложения, кастомные крео.
$100 выплата
фото
фото
фото
фото
фото
фото
фото
фото
фото
V.Partners обзор
Прямой рекламодатель популярных в Европе казино и беттинг брендов: Vulkan Vegas, ICE Casino, VERDE Casino, Vulkan Bet и Hit'N'Spin. Партнерка основана в 2016 году. Работают по СРА, RevShare, Hybrid и принимают трафик с более чем 55 стран.
€100 выплата
фото
фото
фото
фото
фото
фото
CPA-сеть, на рынке с 2013 года. Представлено более 1500 офферов. Основные ГЕО: СНГ, Европа, ЛатАм, Африка. Динамические ставки. Есть программа лояльности с призами за лиды.
$50 выплата
фото
фото
фото
фото
фото