Google Ads Script: Вивантаження низькочастотних пошукових запитів Google Ads
Для чого цей скрипт
Після того, як з Google Ads виключили дані по низькочастотних запитах, виникла проблема з пошуком нових ключових і мінус-слів. Цей скрипт частково вирішує це вивантаженням запитів з Google Analytics.

Детальніше проце можна прочитати тут — How to Find Missing Search Terms for Google Ads.
Інструкція і принцип роботи
1

Створіть порожній Google Sheet і вставте його URL в змінну ss.

2
Увімкніть Analytics в розширених API Google Ads скрипта.
3
Задайте в змінній viewId ідентифікатор, що представляє Google Analytics. Його можна знайти за допомогою Query Explorer.
4
Установите даты начала и конца периода для сбора поисковых запросов.
Формат: yyyy-mm-dd.
5
Авторизуйтесь і запустіть скрипт.
Код скрипта
/************************************************************
* Hidden Search Term Report
*
* Version 1.0 
* Date 01.01.2020
*
* Created by: Dmytro Tonkikh
*
* Telegram channel - https://t.me/adwordsscripts
*
* For donates:
* - Patreon - https://www.patreon.com/bePatron?u=43027345
* - Monobank (Visa/MasterCard): https://send.monobank.com.ua/2r4Vye2xV
*************************************************************/

// Insert your SPREADSHEET_URL - create easily with https://sheet.new
var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/edit#gid=0");
//Google Ananlytics View ID - use https://ga-dev-tools.appspot.com/query-explorer/ to find view id
var viewId = 'ga:xxxxxxxx';
// Dates should be in yyyy-mm-dd format.
var startDate = '2020-12-01';
var endDate = '2020-12-31';

function main() {
    setupSpreadsheet();
    getAnalyticsStats();
    getGoogleAdsStats();
}

function getGoogleAdsStats() {
    var sheet = ss.getSheetByName('googleads');
    var REPORTING_OPTIONS = {
        apiVersion: 'v201809',
        includeZeroImpressions: true
    };

    var report = AdsApp.report('SELECT Query, Clicks, CampaignId, AdGroupId FROM SEARCH_QUERY_PERFORMANCE_REPORT DURING ' + [startDate.replace(/-/g, ''), endDate.replace(/-/g, '')].join(','), REPORTING_OPTIONS);

    sheet.clear();
    report.exportToSheet(sheet);
}

function getAnalyticsStats() {

    var retval = [];
    var options = {
        'dimensions': 'ga:adGroup,ga:adMatchedQuery,ga:adwordsCampaignID',
        'include-empty-rows': false,
        'filters': 'ga:users>=0;ga:adMatchedQuery!=(not set)',
        'start-index': 1,
        'max-results': 10000
    }

    var metrics = 'ga:users,ga:adClicks, ga:transactions';
    var headers;
    do {
        var results = Analytics.Data.Ga.get(viewId, startDate, endDate, metrics, options);
        var queryR = results.query;
        if (!headers) {
            headers = results.columnHeaders.map(function(h) { return h.name.replace('ga:', '') });
            retval.push(headers)
            Logger.log(headers);
        }

        retval = retval.concat(results.rows);
        options['start-index'] += results.rows.length

    } while (results.nextLink)

    var sheet = ss.getSheetByName("analytics");
    sheet.clear();

    sheet.getRange(1, 1, retval.length, retval[0].length).setValues(retval);
}

function setupSpreadsheet() {
    var sheets = ['analytics', 'googleads'];
    sheets.forEach(function(s) {
        if (!ss.getSheetByName(s)) {
            ss.insertSheet(s)
        }
    })
}
Розширений доступ до скриптів
Chiliad patronus
Наш канал з купою корисної інфи
Telegram
Підтримати нас та отримати розширені версії скриптів
Made on
Tilda