Yahoo! JAPAN Ads Script | Developer Center
日本語Ad group
・Add an ad group・Pause an ad group
・Set ad group bid
・Get all ad group
・Get all ad group by id
Add an ad group
function addAdGroup() {
const accountId = AdsUtilities.getCurrentAccountId();
const adGroupArray = [
{
accountId: accountId,
adGroupName: 'adGroupAAA',
campaignId: 11111111,
device: ['DESKTOP'],
userStatus: 'ACTIVE',
},
{
accountId: accountId,
adGroupName: 'adGroupBBB',
campaignId: 22222222,
device: ['SMARTPHONE', 'TABLET'],
deviceApp: ['APP'],
deviceOs: ['NONE'],
userStatus: 'ACTIVE',
},
{
accountId: accountId,
adGroupName: 'adGroupCCC',
campaignId: 33333333,
device: ['NONE'],
deviceApp: ['NONE'],
deviceOs: ['NONE'],
userStatus: 'ACTIVE',
}
];//Multiple selections are possible
const adGroups = Display.AdGroupService.add({
accountId: accountId,
operand: adGroupArray,
}).rval;
for (let i = 0; i < adGroups.values.length; i++){
if (adGroups.values[i].operationSucceeded) {
let adGroup = adGroups.values[i].adGroup;
Logger.log('adGroupId-> ' + adGroup.adGroupId + ', adGroupName-> ' + adGroup.adGroupName
+ ' have been added as device-> ' + adGroup.device.join(', ') + ' to campaignId-> ' + adGroup.campaignId
+ ' campaignName-> ' + adGroup.campaignName);
} else {
let errorList = adGroups.values[i].errors;
errorList.forEach(function (element) {
if (element.code == 'I0001' && element.details[0].requestKey.includes('campaignId')) {
Logger.log('campaignId-> ' + element.details[0].requestValue + ' does not exsit.');
} else if (element.code == 'D0001' && element.details[0].requestKey.includes('adGroupName')) {
Logger.log('adGroupName-> ' + element.details[0].requestValue + ' is duplicate.');
} else {
Logger.log('adGroupName-> ' + adGroupArray[i].adGroupName
+ ' could not to be added to campaignId-> ' + adGroupArray[i].campaignId);
}
});
}
}
}
Pause an ad group
function pauseAdGroup() {
const accountId = AdsUtilities.getCurrentAccountId();
const adGroupIds = [111111111, 222222222, 333333333];//Empty when not specified
const adGroupsGet = Display.AdGroupService.get({
accountId: accountId,
adGroupIds: adGroupIds,
}).rval;
if (adGroupsGet.totalNumEntries == 0) {
Logger.log('Target ID does not exist.');
return;
}
let adGroupsArray = [];
for (let i = 0; i < adGroupsGet.values.length; i++) {
let adGroup = adGroupsGet.values[i].adGroup;
//Create new operand to set
let setAdGroup = {
accountId: accountId,
adGroupId: adGroup.adGroupId,
campaignId: adGroup.campaignId,
userStatus: 'PAUSED'
};
adGroupsArray.push(setAdGroup);
}
const adGroupsSet = Display.AdGroupService.set({
accountId: accountId,
operand: adGroupsArray,
}).rval;
for (let i = 0; i < adGroupsSet.values.length; i++) {
if (adGroupsSet.values[i].operationSucceeded) {
let adGroup = adGroupsSet.values[i].adGroup;
Logger.log('adGroupId-> ' + adGroup.adGroupId + ', adGroupName-> ' + adGroup.adGroupName + ' have paused.');
} else {
Logger.log('adGroupId-> ' + adGroupsArray[i].adGroupId + ' could not to be paused.');
}
}
}
Set ad group bid
function setAdGroupBid() {
const accountId = AdsUtilities.getCurrentAccountId();
const adGroupIds = [111111111, 222222222, 333333333];//Empty when not specified
const bid = 3000;
const adGroupsGet = Display.AdGroupService.get({
accountId: accountId,
adGroupIds: adGroupIds,
}).rval;
if (adGroupsGet.totalNumEntries == 0) {
Logger.log('Target ID does not exist.');
return;
}
let adGroupsArray = [];
for (let i = 0; i < adGroupsGet.values.length; i++) {
let adGroup = adGroupsGet.values[i].adGroup;
let type = adGroup.biddingStrategyConfiguration.biddingScheme.campaignBiddingStrategyType;
let bidScheme;
switch (type) {
case 'VCPM':
bidScheme = {
vcpmBiddingScheme: {
vcpm: bid
}
};
break;
case 'CPC':
bidScheme = {
cpcBiddingScheme: {
cpc: bid,
enhancedCpcEnabled: 'FALSE'
}
};
break;
case 'CPV':
bidScheme = {
cpvBiddingScheme: {
cpv: bid
}
};
break;
case 'MAXIMIZE_CONVERSIONS':
bidScheme = {
maximizeConversionsBiddingScheme: {
targetCpa: bid
}
};
break;
default:
continue;
}
bidScheme.campaignBiddingStrategyType = type;
//Create new operand to set
let setAdGroup = {
accountId: accountId,
campaignId: adGroup.campaignId,
adGroupId: adGroup.adGroupId,
biddingStrategyConfiguration: {
biddingScheme: bidScheme
}
};
adGroupsArray.push(setAdGroup);
}
if (adGroupsArray.length == 0) {
Logger.log('Target ID does not exist.');
return;
}
const adGroupsSet = Display.AdGroupService.set({
accountId: accountId,
operand: adGroupsArray,
}).rval;
for (let i = 0; i < adGroupsSet.values.length; i++) {
if (adGroupsSet.values[i].operationSucceeded) {
let adGroup = adGroupsSet.values[i].adGroup;
let type = adGroup.biddingStrategyConfiguration.biddingScheme.campaignBiddingStrategyType;
let bidValue;
switch (type) {
case 'VCPM':
bidValue = adGroup.biddingStrategyConfiguration.biddingScheme.vcpmBiddingScheme.vcpm;
break;
case 'CPC':
bidValue = adGroup.biddingStrategyConfiguration.biddingScheme.cpcBiddingScheme.cpc;
break;
case 'CPV':
bidValue = adGroup.biddingStrategyConfiguration.biddingScheme.cpvBiddingScheme.cpv;
break;
case 'MAXIMIZE_CONVERSIONS':
bidValue = adGroup.biddingStrategyConfiguration.biddingScheme.maximizeConversionsBiddingScheme.targetCpa;
break;
default:
break;
}
Logger.log('adGroupId-> ' + adGroup.adGroupId + ', adGroupName-> ' + adGroup.adGroupName
+ ' set as campaignBiddingStrategyType-> ' + type + ' to bid-> ' + bidValue);
} else {
Logger.log('adGroupId-> ' + adGroupsArray[i].adGroupId + ' could not to be set to bid-> ' + bid);
}
}
}
Get all ad group
function getAllAdGroup() {
const accountId = AdsUtilities.getCurrentAccountId();
const adGroups = Display.AdGroupService.get({
accountId: accountId,
}).rval;
if (adGroups.totalNumEntries == 0) {
Logger.log('Target ID does not exist.');
return;
}
for (let i = 0; i < adGroups.values.length; i++){
let adGroup = adGroups.values[i].adGroup;
Logger.log('adGroupId-> ' + adGroup.adGroupId + ', adGroupName-> ' + adGroup.adGroupName
+ ', campaignId-> ' + adGroup.campaignId + ', campaignName-> ' + adGroup.campaignName);
}
}
Get all ad group by id
function getAllAdGroupById() {
const accountId = AdsUtilities.getCurrentAccountId();
const adGroupIds = [111111111, 222222222, 333333333];//Multiple selections are possible
const adGroups = Display.AdGroupService.get({
accountId: accountId,
adGroupIds: adGroupIds,
}).rval;
if (adGroups.totalNumEntries == 0) {
Logger.log('Target ID does not exist.');
return;
}
for (let i = 0; i < adGroups.values.length; i++){
let adGroup = adGroups.values[i].adGroup;
Logger.log('adGroupId-> ' + adGroup.adGroupId + ', adGroupName-> ' + adGroup.adGroupName
+ ', campaignId-> ' + adGroup.campaignId + ', campaignName-> ' + adGroup.campaignName);
}
}