Но используя скрипты AdWords и интеграцию с Google Spreadsheet эту проблему можно упростить.
И так, алгоритм будет следующий:
1. Делаем Google Таблицу с данными о кампаниях.
2. Устанавливаем скрипт, который берет все расходы на аккаунте за весь период, считает средний расход за последние 7 дней и передает всё это дело в Google Таблицу.
3. Настраиваем скрипт под конкретную кампанию, устанавливаем периодичность работы скрипта.
4. Получаем удовольствие.
Google Таблица с данными о кампании
Таблица имеет общую вкладку, куда импортируются показатели по всем кампаниям:
Общая вкладка таблицы (нажмите для увеличения)
И вкладки клиентов (кампаний AdWords):
Ячейки выделенные красным и серым, заполняются автоматически скриптом или формулами (которые не забываем протягивать), желтые ячейки вы заполняете самостоятельно. Т.е. пришла оплата, ставим дату и сумму оплаты, после заведения на аккаунт, также фиксируем и раз в месяц обновляем корректировки.
При заведении нового клиента, создаете новый лист и копируйте данные их предыдущего листа, чистите все жёлтые ячейки и прописывайте их заново.
И в общем листе, по аналогии, делаем новую строчку.
Чтобы начать работу, берем этот документ и сохраняем себе в аккаунт.
Устанавливаем скрипт
Заходим в аккаунт и выбираем пункт «Операции над несколькими элементами»:
Где выбираем раздел «Скрипты»:
После чего, создаем новый скрипт:
function main() {
var campaignIterator = AdWordsApp.campaigns()
.forDateRange('ALL_TIME')
.get();
var campaignIterator2 = AdWordsApp.campaigns()
.forDateRange('LAST_7_DAYS')
.withCondition("Status = ENABLED")
.get();
var ss = SpreadsheetApp.openByUrl(
"https://docs.google.com/spreadsheet/ccc?key=0AmlDmpbBj8rLdFJBSi1ZdklHbTVsRGt3Wm9VUG9jUmc#gid=0");//Ссылка на свою таблицу
ss.setActiveSheet(ss.getSheets()[15]); //активируем лист
var allCost = 0;
var allBudget = 0;
// Logger.log(' E2: ' + ss.getRange("E2").getValue());
//Получаем общий расход за всё время
while (campaignIterator.hasNext()) {
var campaign = campaignIterator.next();
var stats = campaign.getStatsFor("ALL_TIME")
allCost = allCost + stats.getCost();
// Logger.log(campaign.getName() + ': ' + stats.getCost() + ' grn');
}
//Получаем расход за 7 дней по активным кампаниям
while (campaignIterator2.hasNext()) {
var campaign2 = campaignIterator2.next();
var stats2 = campaign2.getStatsFor("LAST_7_DAYS")
allBudget = allBudget + stats2.getCost();
}
allBudget = allBudget / 7;
ss.getRange("E2").setValue(allCost);
ss.getRange("B4").setValue(allBudget);
}
И вносим в него изменения, эту строчку пишем url своего документа, который мы заранее сохранили на предыдущем шаге:
var ss = SpreadsheetApp.openByUrl(
"https://docs.google.com/spreadsheet/ccc?key=0AmlDmpbBj8rLdFJBSi1ZdklHbTVsRGt3Wm9VUG9jUmc#gid=0");
А в эту, пишем номер листа клиента в нашем документе:
ss.setActiveSheet(ss.getSheets()[15]); //активируем лист
И не забываем, что подсчет начинается с 0.
После чего, нажимаем сохранить и закрыть.
Должно получиться что-то такое:
После закрытия, меняем настройки периодичности запуска скрипта, на «раз в час» и нажимаем «выполнить»:
После чего, данные о расходах выгружаются в нашу Google таблицу и рассчитываются нужные нам показатели.
Важные моменты
Скрипт далек от идеала, но работает и решает свои задачи. Прошу обратить внимание, что в документе нельзя менять местами вкладки, так как скрипт не будет знать куда отдавать данные.
В случае, если кампания уже идет, чтобы не заполнять все оплаты и заведения на аккаунт, можно воспользоваться полями «начальный остаток» — сумма которая фактически лежит на аккаунте и «начальный расход» — сумма, которая фактически была потрачена на начало периода.






