Сейчас в сети: 806
Советы и вопросы по использованию скриптов AdWords
Подсказки
star_border
Ответить

Скрипт для перехода к развернутым текстовым объявлениям.

Студент ✭ ✭

Более подробно в статье: ***********

 

function main() {

//Задание разных значений
var campaignNameContains = ‘Часть названия кампании’;
var groupNameContains = ‘Часть названия группы’;
var headlinePart2 = ‘Текст второго заголовка’;
var path1 = ‘путь1’;
var path2 = ‘путь2’;
//Функция проверки длины строк
function deb(x,y,z){
if (x.length>30) {return false;}
if (y.length>15) {return false;}
if (z.length>15) {return false;}
return true;
}
//Функция проверки наличия ярлыка «Создано скриптом»

function createLinkCheckerLabel(s) {
var labels = AdWordsApp.labels()
.withCondition(«Name='»+s+»‘»)
.get();

if (!(labels.hasNext())) {
AdWordsApp.createLabel(s, «Ярлык, чтобы Вы видели, что создано скриптом», ‘#60e020’);
Logger.log(«Ярлык создан»);
}
else { Logger.log(«Ярлык уже есть»); }
}

createLinkCheckerLabel(‘Создано скриптом’);
createLinkCheckerLabel(‘Оригинал для скрипта’);

//Функция поиска групп, где уже есть объявления, созданные скриптом

function searchCreatedAD(x,y,deb) {
if (deb) {
var ids =[];
var i = 0;
var adGroupIterator7 = AdWordsApp.adGroups()
.withCondition(«CampaignName CONTAINS ‘» + x + «‘») //Название кампании содержит
//.withCondition(«Name = ‘» + y + «‘») //Название группы содержит
.get();

while (adGroupIterator7.hasNext()) {
var adGroup7 = adGroupIterator7.next();
var adsIterator7 = adGroup7.ads()
.withCondition(‘Type=EXPANDED_TEXT_AD’)
.withCondition(«LabelNames CONTAINS_NONE [‘Создано скриптом’]»)
.get();

while (adsIterator7.hasNext()) {
var ad7 = adsIterator7.next().asType().expandedTextAd();
ids[i]=ad7.getAdGroup().getId();
i++;

}
}
if (ids.length > 0) {
return ids;}
else {

var ids2 =[];
var i2 = 0;
var adGroupIterator9 = AdWordsApp.adGroups()
.withCondition(«CampaignName CONTAINS ‘» + x + «‘») //Название кампании содержит
//.withCondition(«Name = ‘» + y + «‘») //Название группы содержит
.get();

while (adGroupIterator9.hasNext()) {
var adGroup9 = adGroupIterator9.next();
var adsIterator9 = adGroup9.ads()
.withCondition(‘Type=TEXT_AD’)
.withCondition(«LabelNames CONTAINS_NONE [‘Оригинал для скрипта’]»)
.get();

while (adsIterator9.hasNext()) {
var ad9 = adsIterator9.next();
ids2[i2]=ad9.getAdGroup().getId();
i2++;

}
}

return ids2;
}
}
}

//Основная функция

function getTextAdsInAdGroup(i,a,b,c,d,e,deb) {
if (deb) {
if (i.length>0) {

//Перебираем все группы по заданным условиям

var adGroupIterator = AdWordsApp.adGroups()
.withCondition(«CampaignName CONTAINS ‘» + a + «‘») //Название кампании содержит
//.withCondition(«Name = ‘» + b + «‘») //Название группы содержит
.withIds(i)
.get();

//Перебираем все старые текстовые объявления в группах

while (adGroupIterator.hasNext()) {
var adGroup = adGroupIterator.next();

var adsIterator = adGroup.ads().withCondition(‘Type=TEXT_AD’).get();

while (adsIterator.hasNext()) {
var ad = adsIterator.next();
ad.applyLabel(‘Оригинал для скрипта’);

var headlinePart1 = ad.getHeadline();
var description1 = ad.getDescription1();
var description2 = ad.getDescription2();
var description = description1 +» «+ description2;
var finalUrl = ad.urls().getFinalUrl();

//Запоминаем id группы , где есть старые текстовые объявления

var ids = [];
ids[0]=ad.getAdGroup().getId();

//Перебираем группы по найденным id

var adGroupIterator2 = AdWordsApp.adGroups()
.withIds(ids)
.get();

while (adGroupIterator2.hasNext()) {

var adGroup2 = adGroupIterator2.next();

//Создаем новые развернутые текстовые объявления

adGroup2.newAd().expandedTextAdBuilder()
.withHeadlinePart1(headlinePart1)
.withHeadlinePart2(c)
.withDescription(description)
.withPath1(d)
.withPath2(e)
.withFinalUrl(finalUrl)
.build();

var adGroupIterator3 = AdWordsApp.adGroups()
.withIds(ids)
.get();

while (adGroupIterator3.hasNext()) {
var adGroup3 = adGroupIterator3.next();
var adsIterator3 = adGroup3.ads()
.withCondition(‘Type=EXPANDED_TEXT_AD’)
.withCondition(«HeadlinePart1='»+headlinePart1+»‘»)
.withCondition(«HeadlinePart2='»+c+»‘»)
.withCondition(«Description='»+description+»‘»)
.withCondition(«Path1='»+d+»‘»)
.withCondition(«Path2='»+e+»‘»)
.get();

while (adsIterator3.hasNext()) {
var ad3 = adsIterator3.next().asType().expandedTextAd();
ad3.applyLabel(‘Создано скриптом’);
}}}}}}

else {Logger.log(«В выбранных группах уже есть объявления, созданные скриптом»);}

} else Logger.log(«Укоротите одну из строк»);}

getTextAdsInAdGroup(searchCreatedAD(campaignNameContains,groupNameContains,deb(headlinePart2,path1,path2)),campaignNameContains,groupNameContains,headlinePart2,path1,path2,deb(headlinePart2,path1,path2));
Logger.log(«Конец»);
}

Достаточное количество комментариев позволят работать с этим скриптом и редактировать его под свои нужды. Но всё же, что он делает?

Вы задаёте значение для второй строки развернутого объявления и двух путей url. Указываете, какие кампании или группы необходимо переработать. Далее скрипт перебирает все прежние текстовые объявления и для каждого из них создаёт в той же группе новое, развёрнутое.

Предварительно скрипт создаст два ярлыка, чтобы в дальнейшем можно было понимать, для каких текстовых объявлений был создан дубль развёрнутого, а какие развёрнутые были созданы скриптом.

Скрипт для перехода к развёрнутым текстовым объявлениям Гугл

Развёрнутые текстовые объявления Гугл Эдвордс

Особенности

Изначально возможность перебора по группам неактивна, чтобы её включить необходимо раскомментировать строки:
//.withCondition(«Name = ‘» + y + «‘») //Название группы содержит
//.withCondition(«Name = ‘» + y + «‘») //Название группы содержит
//.withCondition(«Name = ‘» + b + «‘») //Название группы содержит
Помните об ограничениях длины строк заголовка (30 символов) и путей url (15 символов).
Если в одной группе у вас уже есть и старое текстовое объявление и развёрнутое, созданное не этим скриптом, то скрипт создаст новое развёрнутое объявление на основе старого текстового.
Скрипт работает, так сказать, не спеша, но он работает, пока вы занимаетесь своими делами Веселый.
Если строки объявления не соответствуют редакционным требованиям Google AdWords, новые объявления не будут созданы.
Используя скрипт впервые, запустите предпросмотр.
Если у вас много однотипных кампаний, то с помощью скрипта можно быстро перейти к новому формату объявлений.

 

 

*Сообщение отредактировано Администратором Сообщества. Удалена пересылка на сторонний сайт/блог.


Утвержденные решения
Лучший ответ.
Решение
Утвердил автор темы Andrey P
сентября 2016

Re: Скрипт для перехода к развернутым текстовым объявлениям.

Админ сообщества

@Andrey P добрый день! Большое спасибо за скрипт! Надеюсь, нашим пользователям и участникам Сообщества он окажется полезным. На будущее - пожалуйста, не размещайте ссылки на сторонние блоги/сайты в начале поста (иначе, это будет расценено как самореклама, и мы будем вынуждены удалить сообщение). Ссылку на полную статью можно поставить в конце сообщения (с соответствующей подписью: типа "источник" или "более подробную информацию читайте тут". Но не в начале постаПодмигивающий Большое спасибо за понимание!

Просмотреть решение в исходном сообщении


Все ответы
Лучший ответ.
Решение
Утвердил автор темы Andrey P
сентября 2016

Re: Скрипт для перехода к развернутым текстовым объявлениям.

Админ сообщества

@Andrey P добрый день! Большое спасибо за скрипт! Надеюсь, нашим пользователям и участникам Сообщества он окажется полезным. На будущее - пожалуйста, не размещайте ссылки на сторонние блоги/сайты в начале поста (иначе, это будет расценено как самореклама, и мы будем вынуждены удалить сообщение). Ссылку на полную статью можно поставить в конце сообщения (с соответствующей подписью: типа "источник" или "более подробную информацию читайте тут". Но не в начале постаПодмигивающий Большое спасибо за понимание!

Re: Скрипт для перехода к развернутым текстовым объявлениям.

Студент ✭ ✭
Хорошо, понял!

Скрипт для перехода к развернутым текстовым объявлениям.

Студент ✭

Добрый день.

Скрипт отлично сработал один раз. На следующие заходы перестал, что-либо делать. Пишет "Изменений нет". Подскажите пожалуйста, как исправить и в чём затык.

 

Скрипт для перехода к развернутым текстовым объявлениям.

Студент ✭ ✭

Он по идее и не должен работать дважды, если ранее были созданы развернутые объявления, второй раз он уже их не создаст. Опишите, пожалуйста, подробнее ситуацию: какие объявления создавали, как, сколько, что потом было сделано скриптом, удаляли ли что-нибудь.