広告グループ
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
広告グループを追加する
function addAdGroup(campaignName, adGroupName, defaultCpc = 1.2) {
const campaignIterator = AdsApp.campaigns()
.withCondition(`campaign.name = "${campaignName}"`)
.get();
if (!campaignIterator.hasNext()) {
throw new Error(`No campaign with name "${campaignName} found`);
}
const campaign = campaignIterator.next();
return campaign.newAdGroupBuilder()
.withName(adGroupName)
.withCpc(defaultCpc)
.build();
}
すべての広告グループを取得
function getAllAdGroups() {
// AdsApp.adGroups() will return all ad groups that are not removed by
// default.
const adGroupIterator = AdsApp.adGroups().get();
console.log('Total adGroups found : ' + adGroupIterator.totalNumEntities());
return adGroupIterator;
}
名前から広告グループを取得
function getAdGroupByName(name) {
const adGroupIterator = AdsApp.adGroups()
.withCondition(`ad_group.name = "${name}"`)
.get();
if (!adGroupIterator.hasNext()) {
throw new Error(`No ad group with name "${name}" found`);
}
const adGroup = adGroupIterator.next();
if (adGroupIterator.totalNumEntities() > 1) {
console.warn(`Multiple ad groups named "${name}" found.
Using the one from campaign "${adGroup.getCampaign().getName()}".`);
}
return adGroup;
}
広告グループのデフォルトのクリック単価を更新
function setAdGroupCpc(name, cpc) {
const adGroupIterator = AdsApp.adGroups()
.withCondition(`ad_group.name = "${name}"`)
.get();
if (!adGroupIterator.hasNext()) {
throw new Error(`No ad group with name "${name}" found`);
}
const adGroup = adGroupIterator.next();
if (adGroupIterator.totalNumEntities() > 1) {
console.warn(`Multiple ad groups named "${name}" found.
Using the one from campaign "${adGroup.getCampaign().getName()}".`);
}
adGroup.bidding().setCpc(cpc);
}
広告グループの統計情報を取得
function getAdGroupStats(name, dateRange = 'LAST_MONTH') {
const adGroupIterator = AdsApp.adGroups()
.withCondition(`ad_group.name = "${name}"`)
.get();
if (!adGroupIterator.hasNext()) {
throw new Error(`No ad group with name "${name}" found`);
}
const adGroup = adGroupIterator.next();
if (adGroupIterator.totalNumEntities() > 1) {
console.warn(`Multiple ad groups named "${name}" found.
Using the one from campaign "${adGroup.getCampaign().getName()}".`);
}
// You can get stats for a custom date range, or, as in this example, a predefined date range.
// A list of valid predefined date ranges is available at
// https://developers.google.com/google-ads/api/docs/query/date-ranges#predefined_date_range
const stats = adGroup.getStatsFor(dateRange);
console.log(`${adGroup.getName()}, ${stats.getClicks()}, ${stats.getImpressions()}`);
return stats;
}
広告グループを一時停止
function pauseAdGroup(name) {
const adGroupIterator = AdsApp.adGroups()
.withCondition(`ad_group.name = "${name}"`)
.get();
if (!adGroupIterator.hasNext()) {
throw new Error(`No ad group with name "${name}" found`);
}
const adGroup = adGroupIterator.next();
if (adGroupIterator.totalNumEntities() > 1) {
console.warn(`Multiple ad groups named "${name}" found.
Using the one from campaign "${adGroup.getCampaign().getName()}".`);
}
adGroup.pause();
}
広告グループの端末別の入札単価調整比を取得
function getAdGroupBidModifiers(name) {
const adGroupIterator = AdsApp.adGroups()
.withCondition(`ad_group.name = "${name}"`)
.get();
if (!adGroupIterator.hasNext()) {
throw new Error(`No ad group with name "${name}" found`);
}
const adGroup = adGroupIterator.next();
if (adGroupIterator.totalNumEntities() > 1) {
console.warn(`Multiple ad groups named "${name}" found.
Using the one from campaign "${adGroup.getCampaign().getName()}".`);
}
return {
HighEndMobile: adGroup.devices().getMobileBidModifier(),
Tablet: adGroup.devices().getTabletBidModifier(),
Desktop: adGroup.devices().getDesktopBidModifier(),
};
}
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-08-21 UTC。
[null,null,["最終更新日 2025-08-21 UTC。"],[[["\u003cp\u003eThe code snippets provide functions to manage Google Ads ad groups, including creating, retrieving, updating, and pausing them.\u003c/p\u003e\n"],["\u003cp\u003eFunctions are included to get ad group statistics, such as clicks and impressions, for specific date ranges.\u003c/p\u003e\n"],["\u003cp\u003eYou can retrieve all ad groups or filter them by name using dedicated functions.\u003c/p\u003e\n"],["\u003cp\u003eThe provided examples demonstrate how to adjust an ad group's default CPC bid and access its device bid modifiers.\u003c/p\u003e\n"],["\u003cp\u003eError handling is implemented to inform users when a specified ad group or campaign is not found.\u003c/p\u003e\n"]]],[],null,["# Ad Groups\n\nAdd an ad group\n---------------\n\n```gdscript\nfunction addAdGroup(campaignName, adGroupName, defaultCpc = 1.2) {\n const campaignIterator = AdsApp.campaigns()\n .withCondition(`campaign.name = \"${campaignName}\"`)\n .get();\n if (!campaignIterator.hasNext()) {\n throw new Error(`No campaign with name \"${campaignName} found`);\n }\n\n const campaign = campaignIterator.next();\n return campaign.newAdGroupBuilder()\n .withName(adGroupName)\n .withCpc(defaultCpc)\n .build();\n}\n```\n\nGet all ad groups\n-----------------\n\n```gdscript\nfunction getAllAdGroups() {\n // AdsApp.adGroups() will return all ad groups that are not removed by\n // default.\n const adGroupIterator = AdsApp.adGroups().get();\n console.log('Total adGroups found : ' + adGroupIterator.totalNumEntities());\n return adGroupIterator;\n}\n```\n\nGet an ad group by name\n-----------------------\n\n```gdscript\nfunction getAdGroupByName(name) {\n const adGroupIterator = AdsApp.adGroups()\n .withCondition(`ad_group.name = \"${name}\"`)\n .get();\n\n if (!adGroupIterator.hasNext()) {\n throw new Error(`No ad group with name \"${name}\" found`);\n }\n\n const adGroup = adGroupIterator.next();\n if (adGroupIterator.totalNumEntities() \u003e 1) {\n console.warn(`Multiple ad groups named \"${name}\" found.\nUsing the one from campaign \"${adGroup.getCampaign().getName()}\".`);\n }\n\n return adGroup;\n}\n```\n\nUpdate an ad group's default CPC bid\n------------------------------------\n\n```gdscript\nfunction setAdGroupCpc(name, cpc) {\n const adGroupIterator = AdsApp.adGroups()\n .withCondition(`ad_group.name = \"${name}\"`)\n .get();\n\n if (!adGroupIterator.hasNext()) {\n throw new Error(`No ad group with name \"${name}\" found`);\n }\n\n const adGroup = adGroupIterator.next();\n if (adGroupIterator.totalNumEntities() \u003e 1) {\n console.warn(`Multiple ad groups named \"${name}\" found.\nUsing the one from campaign \"${adGroup.getCampaign().getName()}\".`);\n }\n\n adGroup.bidding().setCpc(cpc);\n}\n```\n\nGet an ad group's stats\n-----------------------\n\n```gdscript\nfunction getAdGroupStats(name, dateRange = 'LAST_MONTH') {\n const adGroupIterator = AdsApp.adGroups()\n .withCondition(`ad_group.name = \"${name}\"`)\n .get();\n\n if (!adGroupIterator.hasNext()) {\n throw new Error(`No ad group with name \"${name}\" found`);\n }\n\n const adGroup = adGroupIterator.next();\n if (adGroupIterator.totalNumEntities() \u003e 1) {\n console.warn(`Multiple ad groups named \"${name}\" found.\nUsing the one from campaign \"${adGroup.getCampaign().getName()}\".`);\n }\n\n // You can get stats for a custom date range, or, as in this example, a predefined date range.\n // A list of valid predefined date ranges is available at\n // https://developers.google.com/google-ads/api/docs/query/date-ranges#predefined_date_range\n const stats = adGroup.getStatsFor(dateRange);\n console.log(`${adGroup.getName()}, ${stats.getClicks()}, ${stats.getImpressions()}`);\n return stats;\n}\n```\n\nPause an ad group\n-----------------\n\n```gdscript\nfunction pauseAdGroup(name) {\n const adGroupIterator = AdsApp.adGroups()\n .withCondition(`ad_group.name = \"${name}\"`)\n .get();\n\n if (!adGroupIterator.hasNext()) {\n throw new Error(`No ad group with name \"${name}\" found`);\n }\n\n const adGroup = adGroupIterator.next();\n if (adGroupIterator.totalNumEntities() \u003e 1) {\n console.warn(`Multiple ad groups named \"${name}\" found.\nUsing the one from campaign \"${adGroup.getCampaign().getName()}\".`);\n }\n\n adGroup.pause();\n}\n```\n\nGet an ad group's device bid modifiers\n--------------------------------------\n\n```gdscript\nfunction getAdGroupBidModifiers(name) {\n const adGroupIterator = AdsApp.adGroups()\n .withCondition(`ad_group.name = \"${name}\"`)\n .get();\n\n if (!adGroupIterator.hasNext()) {\n throw new Error(`No ad group with name \"${name}\" found`);\n }\n\n const adGroup = adGroupIterator.next();\n if (adGroupIterator.totalNumEntities() \u003e 1) {\n console.warn(`Multiple ad groups named \"${name}\" found.\nUsing the one from campaign \"${adGroup.getCampaign().getName()}\".`);\n }\n\n return {\n HighEndMobile: adGroup.devices().getMobileBidModifier(),\n Tablet: adGroup.devices().getTabletBidModifier(),\n Desktop: adGroup.devices().getDesktopBidModifier(),\n };\n}\n```"]]