function main() {
var campaign = getCampaign();
if (!campaign){
Logger.log('Campaign not found...stoping script');
return;
}
Logger.log('Campaign found');
var data_for_new_ad = getNewAdData();
Logger.log('New Ad data loaded');
adGroup = createAdGroup(data_for_new_ad.ad_group_name,campaign);
if (adGroup){
Logger.log('Ad group was found');
if (createKeyWords(data_for_new_ad.keywords,adGroup)){
Logger.log('Keywords created.');
data_for_new_ad.text_ads.forEach(
function(obj_ad){
Logger.log('Going to create ad now....');
createAd(obj_ad, adGroup);
}
);
} else {
Logger.log('Keywords failed to create.');
}
} else {
Logger.log('Ad group was not found or could not be created');
}
}
function getCampaign(){
var list = AdsApp.campaigns().withCondition('Name CONTAINS "(SEARCH AUTOMATED)"').get();
while(list.hasNext()){
return list.next();
}
return null;
}
function getNewAdData(){
return {
"stock_no": "MC1908200030",
"ad_group_name": "MC1908200030 - MERCEDES BENZ A CLASS",
"text_ads": [
{
"head_line1": "Bank Repossessed Mercedes Benz",
"head_line2": "Online Auction",
"url_part_1": "mercedes_benz",
"url_part_2": "a_class",
"description_1": "Bank Repossessed 2015 Mercedes Benz A Class In Online Auction",
"description_2": "Bids starts at R213,000",
"final_url": "https://www.mycars.co.za/MC1908200030",
"ad_style": "style_1"
}
],
"keywords": [
"mercedes benz a class",
"mercedes benz a class auctions",
"mercedes benz auctions",
"mercedes benz a class a200 be a/t",
"bank repossessed mercedes benz a class",
"online auction mercedes benz a class"
],
};
}
function createAdGroup(name,campaign){
var adGroup = getAdGroup(name);
if (adGroup){
adGroup.enable();
return adGroup;
} else {
var adGroupOperation = campaign.newAdGroupBuilder()
.withName(name)
.build();
if (adGroupOperation.isSuccessful()){
adGroup = adGroupOperation.getResult();
return adGroup;
} else {
Logger.log(' Failed to create group with error :'+adGroupOperation.getErrors());
}
}
}
function getAdGroup(name){
var list = AdsApp.adGroups().withCondition('Name = "'+name+'"').get();
while(list.hasNext()){
return list.next();
}
return null;
}
function createKeyWords(keywords, adGroup){
var keywordBuilder = adGroup.newKeywordBuilder();
keywords.forEach(
function(keyword_text){
keywordBuilder = keywordBuilder.withText(keyword_text);
}
);
var keywordOperation = keywordBuilder.build();
if (keywordOperation.isSuccessful()){
return true;
} else {
Logger.log(' Failed to create keywords for ad group with error :'+keywordOperation.getErrors());
return false;
}
}
function createAd(obj,adGroup){
var adOperation = adGroup.newAd().expandedTextAdBuilder()
.withHeadlinePart1(obj.head_line1)
.withHeadlinePart2(obj.head_line2)
.withDescription1(obj.description_1)
.withDescription2(obj.description_2)
.withPath1(obj.url_part_1)
.withPath2(obj.url_part_2)
.withFinalUrl(obj.final_url)
.build();
if (adOperation.isSuccessful()){
Logger.log(' Created Ad ('+obj.ad_style+')!');
} else {
Logger.log(' Failed to create Ad ('+obj.ad_style+') with error :'+adOperation.getErrors());
}
}
--
-- You received this message because you are subscribed to the Google Groups AdWords Scripts Forum group. Please do not reply to this email. To post to this group or unsubscribe please visit https://developers.google.com/adwords/scripts/community.
---
You received this message because you are subscribed to a topic in the Google Groups "Google Ads Scripts Forum" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/adwords-scripts/ZApJtCajUs4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to adwords-scrip...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/adwords-scripts/gYJtU000000000000000000000000000000000000000000000Q02T9D00p0-qZEDVQ9-8R7Bkwa3ahg%40sfdc.net.