Google дозволив рекламодавцям переглядати покази, кліки, конверсії та цінність конверсій за пошуковими термінами у кампаніях з максимальною ефективністю!
Завдяки останньому оновленню API Google Ads, ви можете створити звіт про пошукові терміни спеціально для кампаній PMAX .
Скрипт для перегляду всіх пошукових записів в аккаунті
Оновлена версія скрипту від Дмитра, його канал в телеграмі
var fullReport = [];
function main() {
// enter your spreadsheet url and sheet name
let sheetUrl = ''; // enter spreadsheet URL between the quotes
let sheetName = 'Sheet1'; // enter sheet name between the quotes
// don't touch code below this line
// =================================
let ss = SpreadsheetApp.openByUrl(sheetUrl);
const campaignIds = getPMaxCampaigns();
Logger.log(campaignIds)
for (var id of campaignIds) {
getPMaxSearchTerms(id)
}
let headers = Object.keys(fullReport[0]);
console.log(headers);
let values = fullReport.map(x => headers.map(function(y) {
if (x[y]) { return x[y] } else { return "" }
}));
values.unshift(headers);
ss.getSheetByName(sheetName).clear().getRange(1, 1, values.length, values[0].length).setValues(values);
}
function getPMaxSearchTerms(campaignId) {
let query = AdsApp.search(
`SELECT
campaign.name,
campaign_search_term_insight.category_label,
campaign_search_term_insight.id,
metrics.clicks,
metrics.impressions,
metrics.conversions,
metrics.conversions_value
FROM campaign_search_term_insight
WHERE segments.date DURING LAST_30_DAYS
AND campaign_search_term_insight.campaign_id = '${campaignId}'`);
Logger.log(query.totalNumEntities())
while (query.hasNext()) {
let r = query.next()
let row = Object.assign(r.campaign, r.campaignSearchTermInsight, r.metrics);
delete row.resourceName
fullReport.push(row)
}
}
function getPMaxCampaigns() {
let retVal = []
let query = `SELECT campaign.id
FROM campaign WHERE campaign.advertising_channel_type = 'PERFORMANCE_MAX'
AND campaign.serving_status = 'SERVING'
AND campaign.status = 'ENABLED'`
let report = AdsApp.search(query);
while (report.hasNext()) {
let r = report.next()
let id = r.campaign.id
if (retVal.indexOf(id) == -1) {
retVal.push(id)
}
}
return retVal;
}
Приклад роботи

Скрипт для перегляду пошукових записів в одній кампанії
Цей простий скрипт створює електронну таблицю з пошуковими термінами за останні 30 днів для однієї кампанії PMAX:
function main() {
// enter your sheet url & the campaign ID below
let sheetUrl = ''; // enter sheet URL between the quotes
let campaignId = ''; // enter pmax campaign ID between quotes
// don't touch code below this line
let ss = SpreadsheetApp.openByUrl(sheetUrl);
let query = <a href="http://adsapp.report/" data-attribute-index="3">AdsApp.report</a>(
`
SELECT
campaign_search_term_insight.category_label,
metrics.clicks,
metrics.impressions,
metrics.conversions,
metrics.conversions_value
FROM campaign_search_term_insight
WHERE
<a href="http://segments.date/" data-attribute-index="4">segments.date</a> DURING LAST_30_DAYS
AND campaign_search_term_insight.campaign_id = '${campaignId}'
ORDER BY metrics.conversions
`
);
query.exportToSheet(ss.getSheetByName('Sheet1'));
} // end main
Приклад роботи

За скрипт дякую Jack Felstead
Як побачити ID кампанії

Борис Містряков
Експерт з платної реклами та SEO-аналітик, консультант. Завжди в курсі нових тенденцій.