Сценарій: налаштуйте кампанії Google Ads безпосередньо з Google Doc

Опубліковано 23.07.2026

Перевірено Arnt Eriksen оновлено 06.08.2026

Вступ

Налаштування Пошукові кампанії в Google Ads є завданням, що потребує дуже багато часу. На відміну від Розумні кампанії це потребує багато часу та зусиль. Протягом багатьох років ми мучилися з Excel та Google Ads редактор. Було дуже прикро витрачати години на повторювані завдання, які мали б бути автоматизовані.

Наші розробники створили рішення, яке дає змогу завантажувати нові кампанії безпосередньо з Google Doc. Яке полегшення. Тепер налаштувати нові кампанії та завантажити їх у структурі SKAG можна всього за кілька хвилин.

 Чому SKAG?

Релевантність є ключовим фактором успіху в Google Ads. Висока релевантність винагороджується вищими показниками якості й, як наслідок, нижчою вартістю за клік.

SKAG означає «одне ключове слово на групу оголошень», тобто в кожній вашій групі оголошень ви використовуєте лише одне ключове слово.

Щоб створювати релевантні кампанії в Google Ads, вам потрібно мати змогу додавати окремі варіанти рекламних оголошень для кожного з ваших цільових ключових слів. Це можна реалізувати лише за допомогою структури SKAG. Використовуючи SKAG, ви можете:

  1. Створюйте окремі, релевантні оголошення для кожного з ваших цільових ключових слів
  2. Створіть додаткові розширення для кожного зі своїх ключових слів
  3. Встановлюйте цільові ставки CPA окремо для кожного ключового слова на рівні групи оголошень

Ми вже багато років використовуємо цю структуру в усіх наших акаунтах, і вона виявилася дуже простою в управлінні. Спочатку вона може здатися дещо надто складною. Але ви буде обожнюю SKAG і відразу бачу, який це сексуальний підхід!

Тепер давайте розглянемо кроки налаштування вашої кампанії в Google Ads.

Крок 1. Підготуйте Google документ із цільовими ключовими словами

  1. Зробіть копію цього шаблон 
  2. Вставте список ваших цільових ключових слів і оголошень
  3. Якщо вам потрібно створити більше ніж 2 кампанії, додайте додаткові вкладки.

Крок 2. Завантажте кампанії

Перейдіть до Масові операції > Скрипти

Щоб додати скрипт на рівні MMC, скопіюйте та вставте такий код:

function main(){ var mccAccount = AdWordsApp.currentAccount('644-558-2469'); var accountID = '443-484-0665'; // Не забудьте змінити! var childAccounts = MccApp.accounts().withIds([accountID]).get(); var childAccount = childAccounts.next(); MccApp.select(childAccount); var SPREADSHEET_ID = '1PLc2IHf2YYeo_O9dSEldN4Jq4s9CXaBynuNHfHWlPXQ'; //Не забудьте змінити! var ss = SpreadsheetApp.openById(SPREADSHEET_ID); SpreadsheetApp.setActiveSpreadsheet(ss); var sheets = ss.getSheets(); var columnsCampaign = [ 'Campaign', 'Budget', 'Bid Strategy type', 'Campaign type', 'Campaign subtype' ]; var columnsAdgroups = ['Campaign', 'Ad group', 'Bid Strategy type', 'Default max. CPC'//, 'Ad', 'Description line 1', 'Description line 2', 'Description line 2', 'Display URL', 'Final URL' ]; var columnsKeywords = ['Campaign', 'Ad group', 'Keyword' ]; var columnsAds = ['Campaign', 'Ad group', 'Headline 1', 'Headline 2', 'Description', 'Path 1', 'Path 2', 'Final URL' ]; var uploadCampaign = AdWordsApp.bulkUploads().newCsvUpload( columnsCampaign, {moneyInMicros: false}); var uploadAdgroup = AdWordsApp.bulkUploads().newCsvUpload( columnsAdgroups, {moneyInMicros: false}); var uploadKeyword = AdWordsApp.bulkUploads().newCsvUpload( columnsKeywords, {moneyInMicros: false}); var uploadAds = AdWordsApp.bulkUploads().newCsvUpload( columnsAds, {moneyInMicros: false}); //додавання кампаній BMM for (var sheetNum = 0; sheetNum < sheets.length; sheetNum++){ SpreadsheetApp.setActiveSheet(sheets[sheetNum]); var campaign = SpreadsheetApp.getActiveSheet().getName() + " BMM"; uploadCampaign.append({ 'Campaign': campaign, 'Budget': 1, 'Bid Strategy type': 'cpc', 'Campaign type': 'Search Only', 'Campaign subtype' : 'All features' }); var values = SpreadsheetApp.getActiveSheet().getRange('A2:A').getValues(); var values2 = SpreadsheetApp.getActiveSheet().getRange('B2:G').getValues(); outer: for (var i = 0; i < values.length; i++) { var adgroup = values[i][0].toString().trim(); if (adgroup != '') { uploadAdgroup.append({ 'Campaign': campaign, 'Ad group': adgroup, 'Bid Strategy type': 'cpc', 'Default max. CPC' : 1 }); var keyword = "+" + adgroup.replace(/ /g, ' +') uploadKeyword.append({ 'Campaign': campaign, 'Ad group': adgroup, 'Keyword': keyword }); //Logger.log(keyword); for (var k = 0; k < values2.length; k++) { var adHead1 = values2[k][0].toString().trim(); var adHead2 = values2[k][1].toString().trim(); var adDescr = values2[k][2].toString().trim(); var path1 = values2[k][3].toString().trim(); var path2 = values2[k][4].toString().trim(); var finalURL = values2[k][5].toString().trim(); if (adHead1 != ''){ uploadAds.append({ 'Campaign': campaign, 'Ad group': adgroup, 'Headline 1': adHead1, 'Headline 2': adHead2, 'Description': adDescr, 'Path 1': path1, 'Path 2': path2, 'Final URL' : finalURL }); } else continue outer; //Logger.log([campaign,adgroup,adHead,adDescr1,adDescr2,displURL,finalURL]); } } } } //Додавання кампаній із точним типом відповідності for (var sheetNum = 0; sheetNum < sheets.length; sheetNum++){ SpreadsheetApp.setActiveSheet(sheets[sheetNum]); var campaign = SpreadsheetApp.getActiveSheet().getName() + " Exact"; uploadCampaign.append({ 'Campaign': campaign, 'Budget': 1, 'Bid Strategy type': 'cpc', 'Campaign type': 'Search Only', 'Campaign subtype' : 'All features' }); var values = SpreadsheetApp.getActiveSheet().getRange('A2:A').getValues(); var values2 = SpreadsheetApp.getActiveSheet().getRange('B2:G').getValues(); outer: for (var i = 0; i < values.length; i++) { var adgroup = values[i][0].toString().trim(); if (adgroup != '') { uploadAdgroup.append({ 'Campaign': campaign, 'Ad group': adgroup, 'Bid Strategy type': 'cpc', 'Default max. CPC' : 1 }); var keyword = '[' + adgroup + ']'; uploadKeyword.append({ 'Campaign': campaign, 'Ad group': adgroup, 'Keyword': keyword }); for (var k = 0; k < values2.length; k++) { var adHead1 = values2[k][0].toString().trim(); var adHead2 = values2[k][1].toString().trim(); var adDescr = values2[k][2].toString().trim(); var path1 = values2[k][3].toString().trim(); var path2 = values2[k][4].toString().trim(); var finalURL = values2[k][5].toString().trim(); if (adHead1 != ''){ uploadAds.append({ 'Campaign': campaign, 'Ad group': adgroup, 'Headline 1': adHead1, 'Headline 2': adHead2, 'Description': adDescr, 'Path 1': path1, 'Path 2': path2, 'Final URL' : finalURL }); } else continue outer; //Logger.log([campaign,values[i][0],values2[k][0],values2[k][4]]); } } //Logger.log([campaign,values[i][0],values2[0][0],values2[0][4]]); } } uploadCampaign.forCampaignManagement(); uploadAdgroup.forCampaignManagement(); uploadKeyword.forCampaignManagement(); uploadAds.forCampaignManagement(); uploadCampaign.apply(); Utilities.sleep(5000); uploadAdgroup.apply(); Utilities.sleep(5000); uploadAds.apply(); Utilities.sleep(5000); uploadKeyword.apply(); }

Щоб додати код безпосередньо з вашого облікового запису AdWords, використайте цей код:


function main(){ var SPREADSHEET_ID = '1PLc2IHf2YYeo_O9dSEldN4Jq4s9CXaBynuNHfHWlPXQ'; //Не забудьте змінити! var ss = SpreadsheetApp.openById(SPREADSHEET_ID); SpreadsheetApp.setActiveSpreadsheet(ss); var sheets = ss.getSheets(); var columnsCampaign = [ 'Campaign', 'Budget', 'Bid Strategy type', 'Campaign type', 'Campaign subtype' ]; var columnsAdgroups = ['Campaign', 'Ad group', 'Bid Strategy type', 'Default max. CPC'//, 'Ad', 'Description line 1', 'Description line 2', 'Description line 2', 'Display URL', 'Final URL' ]; var columnsKeywords = ['Campaign', 'Ad group', 'Keyword' ]; var columnsAds = ['Campaign', 'Ad group', 'Headline 1', 'Headline 2', 'Description', 'Path 1', 'Path 2', 'Final URL' ]; var uploadCampaign = AdWordsApp.bulkUploads().newCsvUpload( columnsCampaign, {moneyInMicros: false}); var uploadAdgroup = AdWordsApp.bulkUploads().newCsvUpload( columnsAdgroups, {moneyInMicros: false}); var uploadKeyword = AdWordsApp.bulkUploads().newCsvUpload( columnsKeywords, {moneyInMicros: false}); var uploadAds = AdWordsApp.bulkUploads().newCsvUpload( columnsAds, {moneyInMicros: false}); //додавання кампаній BMM for (var sheetNum = 0; sheetNum < sheets.length; sheetNum++){ SpreadsheetApp.setActiveSheet(sheets[sheetNum]); var campaign = SpreadsheetApp.getActiveSheet().getName() + " BMM"; uploadCampaign.append({ 'Campaign': campaign, 'Budget': 1, 'Bid Strategy type': 'cpc', 'Campaign type': 'Search Only', 'Campaign subtype' : 'All features' }); var values = SpreadsheetApp.getActiveSheet().getRange('A2:A').getValues(); var values2 = SpreadsheetApp.getActiveSheet().getRange('B2:G').getValues(); outer: for (var i = 0; i < values.length; i++) { var adgroup = values[i][0].toString().trim(); if (adgroup != '') { uploadAdgroup.append({ 'Campaign': campaign, 'Ad group': adgroup, 'Bid Strategy type': 'cpc', 'Default max. CPC' : 1 }); var keyword = "+" + adgroup.replace(/ /g, ' +') uploadKeyword.append({ 'Campaign': campaign, 'Ad group': adgroup, 'Keyword': keyword }); //Logger.log(keyword); for (var k = 0; k < values2.length; k++) { var adHead1 = values2[k][0].toString().trim(); var adHead2 = values2[k][1].toString().trim(); var adDescr = values2[k][2].toString().trim(); var path1 = values2[k][3].toString().trim(); var path2 = values2[k][4].toString().trim(); var finalURL = values2[k][5].toString().trim(); if (adHead1 != ''){ uploadAds.append({ 'Campaign': campaign, 'Ad group': adgroup, 'Headline 1': adHead1, 'Headline 2': adHead2, 'Description': adDescr, 'Path 1': path1, 'Path 2': path2, 'Final URL' : finalURL }); } else continue outer; //Logger.log([campaign,adgroup,adHead,adDescr1,adDescr2,displURL,finalURL]); } } } } //Додавання кампаній із точним типом відповідності for (var sheetNum = 0; sheetNum < sheets.length; sheetNum++){ SpreadsheetApp.setActiveSheet(sheets[sheetNum]); var campaign = SpreadsheetApp.getActiveSheet().getName() + " Exact"; uploadCampaign.append({ 'Campaign': campaign, 'Budget': 1, 'Bid Strategy type': 'cpc', 'Campaign type': 'Search Only', 'Campaign subtype' : 'All features' }); var values = SpreadsheetApp.getActiveSheet().getRange('A2:A').getValues(); var values2 = SpreadsheetApp.getActiveSheet().getRange('B2:G').getValues(); outer: for (var i = 0; i < values.length; i++) { var adgroup = values[i][0].toString().trim(); if (adgroup != '') { uploadAdgroup.append({ 'Campaign': campaign, 'Ad group': adgroup, 'Bid Strategy type': 'cpc', 'Default max. CPC' : 1 }); var keyword = '[' + adgroup + ']'; uploadKeyword.append({ 'Campaign': campaign, 'Ad group': adgroup, 'Keyword': keyword }); for (var k = 0; k < values2.length; k++) { var adHead1 = values2[k][0].toString().trim(); var adHead2 = values2[k][1].toString().trim(); var adDescr = values2[k][2].toString().trim(); var path1 = values2[k][3].toString().trim(); var path2 = values2[k][4].toString().trim(); var finalURL = values2[k][5].toString().trim(); if (adHead1 != ''){ uploadAds.append({ 'Campaign': campaign, 'Ad group': adgroup, 'Headline 1': adHead1, 'Headline 2': adHead2, 'Description': adDescr, 'Path 1': path1, 'Path 2': path2, 'Final URL' : finalURL }); } else continue outer; //Logger.log([campaign,values[i][0],values2[k][0],values2[k][4]]); } } //Logger.log([campaign,values[i][0],values2[0][0],values2[0][4]]); } } uploadCampaign.forCampaignManagement(); uploadAdgroup.forCampaignManagement(); uploadKeyword.forCampaignManagement(); uploadAds.forCampaignManagement(); uploadCampaign.apply(); Utilities.sleep(5000); uploadAdgroup.apply(); Utilities.sleep(5000); uploadAds.apply(); Utilities.sleep(5000); uploadKeyword.apply(); }

Крок 3. Попередній перегляд і запуск скрипту

1

Крок 4. Зачекайте 5 хвилин і перевірте свої нові кампанії!

Також доступна преміум-версія цього скрипту, яка дозволяє створювати окреме оголошення для кожної з ваших груп оголошень за допомогою оголошення генератор. Щоб отримати його демо, сміливо зв’яжіться з нами.

Поділитися:
Автор статті Олекс Чі
Співзасновник
Олекс Чі
Зміст
Розташування
УКРАЇНА
Київ, вул. Ямська, 35, офіс 12 +38 098 692 68 42
Розташування
ПОРТУГАЛІЯ
Кашкайш, просп. Фаял, 371A, офіс 3 +351 922 210 245
Розташування
США
Чикаго, 171 N Aberdeen St, офіс 400 +18 888 939 981
Розташування
НОРВЕГІЯ
Осло, Nedre Slottsgate, 4 +479 228 0348