搜尋目標對象
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
在廣告群組中加入搜尋目標對象
function addSearchAudienceToAdGroup(adGroupName, audienceId, bidModifier = 1.5) {
// Retrieve the ad group.
const adGroups = AdsApp.adGroups()
.withCondition(`ad_group.name = "${adGroupName}"`)
.get();
if (!adGroups.hasNext()) {
throw new Error(`Cannot find ad group with name "${adGroupName}"`);
}
const adGroup = adGroups.next();
if (adGroups.totalNumEntities() > 1) {
console.warn(`More than one ad group with name "${adGroupName}" was ` +
`found. Using the ad group in campaign ` +
`"${adGroup.getCampaign().getName()}"`);
}
// Create the search audience.
const operation = adGroup.targeting()
.newUserListBuilder()
.withAudienceId(audienceId)
.withBidModifier(bidModifier)
.build();
if (!operation.isSuccessful()) {
console.warn(`Failed to attach search audience. ` +
`Errors: ${operation.getErrors().join(', ')}'`);
}
const searchAudience = operation.getResult();
// Display the results.
console.log(`Search audience with name ${searchAudience.getName()} and ` +
`ID = ${searchAudience.getId().toFixed(0)} was added to ` +
`ad group "${adGroupName}".`);
}
按名稱取得廣告群組搜尋目標對象
function getAdGroupSearchAudienceByName(campaignName, adGroupName, audienceName) {
// Retrieve the search audience.
const searchAudiences = AdsApp.adGroupTargeting().audiences()
.withCondition(`campaign.name = "${campaignName}"`)
.withCondition(`ad_group.name = "${adGroupName}"`)
.get();
for (const audience of searchAudiences) {
if (audience.getName() == audienceName) {
return audience;
}
}
// Display the results.
console.warn(`Cannot find an audience "${audienceName}" in the ad group
"${adGroupName}" belonging to the campaign "${campaignName}".`);
}
按統計資料篩選廣告群組搜尋目標對象
function filterAdGroupAudienceByStats() {
// Retrieve top performing search audiences.
const topPerformingAudiences = AdsApp.adGrouptargeting().audiences()
.withCondition(`campaign.name = "Campaign #1"`)
.withCondition(`ad_group.name = "Ad Group #1"`)
.withCondition("metrics.clicks > 34")
.forDateRange("LAST_MONTH")
.get();
for (const audience of topPerformingAudiences) {
const stats = audience.getStatsFor("LAST_MONTH");
console.log(`Search audience with ID = ${audience.getId().toFixed(0)}, ` +
`name = "${audience.getName()}" and audience list ID = ` +
`${audience.getAudienceId()} had ${stats.getClicks()} clicks last ` +
`month.`);
}
}
從廣告活動中排除搜尋目標對象
function addExcludedAudienceToCampaign(campaignName, audienceId) {
// Retrieve the campaign.
const campaigns = AdsApp.campaigns()
.withCondition(`campaign.name = "${campaignName}"`)
.get();
if (!campaigns.hasNext()) {
throw new Error(`Cannot find campaign with name "${campaignName}"`);
}
const campaign = campaigns.next();
// Create the excluded audience.
const operation = campaign.targeting()
.newUserListBuilder()
.withAudienceId(`${audienceId}``)
.exclude();
if (!operation.isSuccessful()) {
console.warn(`Failed to exclude audience ${audienceId}. Errors: ${operation.getErrors().join(', ')}`);
}
const audience = operation.getResult();
console.log(`Excluded audience "${audience.getName()}" from campaign ` +
``"${campaignName}".`);
}
取得廣告活動的排除搜尋目標對象
function getExcludedAudiencesForCampaign(campaignName) {
// Retrieve the campaign.
const campaign = AdsApp.campaigns()
.withCondition(`campaign.name = "${campaignName}"`)
.get();
if (!campaigns.hasNext()) {
throw new Error(`Cannot find campaign with name "${campaignName}"`);
}
const campaign = campaigns.next();
return campaign.targeting().excludedAudiences().get();
}
選擇廣告群組指定目標設定
function setAdGroupTargetSetting(campaignName, adGroupName, group = "USER_INTEREST_AND_ALL", setting = "TARGET_ALL_TRUE") {
// Retrieve the ad group.
const adGroups = AdsApp.adGroups()
.withCondition(`campaign.name = "${campaignName}"`)
.withCondition(`ad_group.name = "${adGroupName}"`)
.get();
if (!adGroups.hasNext()) {
throw new Error(`Cannot find ad group with name "${adGroupName}" in ` +
`campaign "${campaignName}"`);
}
// Change the target setting.
adGroup.targeting().setTargetingSetting(group, setting);
}
更新目標對象出價調節係數
function updateAudienceBidModifer(campaignName, adGroupName, audienceName, bidModifier = 1.5) {
// Create the search audience.
const audiences = AdsApp.adGrouptargeting().audiences()
.withCondition(`campaign.name = "${campaignName}"`)
.withCondition(`ad_group.name = "${adGroupName}"`)
.get();
for (const audience of audiences) {
if (audience.getName() == audienceName) {
audience.bidding().setBidModifier(bidModifier);
}
}
}
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-08-21 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-08-21 (世界標準時間)。"],[[["\u003cp\u003eThese Google Ads scripts provide functions to manage search audiences and targeting settings within ad groups and campaigns.\u003c/p\u003e\n"],["\u003cp\u003eYou can add, retrieve, filter, and exclude search audiences, as well as adjust bid modifiers.\u003c/p\u003e\n"],["\u003cp\u003eScripts enable you to target or exclude specific user lists based on criteria such as audience ID or name.\u003c/p\u003e\n"],["\u003cp\u003eCampaign-level targeting settings can be controlled, including the ability to add excluded audiences to an entire campaign.\u003c/p\u003e\n"],["\u003cp\u003eAutomated audience management is streamlined by using conditional statements, loops, and specific Google Ads API functions.\u003c/p\u003e\n"]]],[],null,["# Search Audiences\n\nAdd search audience to an ad group\n----------------------------------\n\n```gdscript\nfunction addSearchAudienceToAdGroup(adGroupName, audienceId, bidModifier = 1.5) {\n\n // Retrieve the ad group.\n const adGroups = AdsApp.adGroups()\n .withCondition(`ad_group.name = \"${adGroupName}\"`)\n .get();\n\n if (!adGroups.hasNext()) {\n throw new Error(`Cannot find ad group with name \"${adGroupName}\"`);\n }\n const adGroup = adGroups.next();\n if (adGroups.totalNumEntities() \u003e 1) {\n console.warn(`More than one ad group with name \"${adGroupName}\" was ` +\n `found. Using the ad group in campaign ` +\n `\"${adGroup.getCampaign().getName()}\"`);\n }\n\n // Create the search audience.\n const operation = adGroup.targeting()\n .newUserListBuilder()\n .withAudienceId(audienceId)\n .withBidModifier(bidModifier)\n .build();\n\n if (!operation.isSuccessful()) {\n console.warn(`Failed to attach search audience. ` +\n `Errors: ${operation.getErrors().join(', ')}'`);\n }\n\n const searchAudience = operation.getResult();\n\n // Display the results.\n console.log(`Search audience with name ${searchAudience.getName()} and ` +\n `ID = ${searchAudience.getId().toFixed(0)} was added to ` +\n `ad group \"${adGroupName}\".`);\n}\n```\n\nGet ad group search audience by name\n------------------------------------\n\n```gdscript\nfunction getAdGroupSearchAudienceByName(campaignName, adGroupName, audienceName) {\n\n // Retrieve the search audience.\n const searchAudiences = AdsApp.adGroupTargeting().audiences()\n .withCondition(`campaign.name = \"${campaignName}\"`)\n .withCondition(`ad_group.name = \"${adGroupName}\"`)\n .get();\n\n for (const audience of searchAudiences) {\n if (audience.getName() == audienceName) {\n return audience;\n }\n }\n\n // Display the results.\n console.warn(`Cannot find an audience \"${audienceName}\" in the ad group\n \"${adGroupName}\" belonging to the campaign \"${campaignName}\".`);\n}\n```\n\nFilter ad group search audience by stats\n----------------------------------------\n\n```gdscript\nfunction filterAdGroupAudienceByStats() {\n // Retrieve top performing search audiences.\n const topPerformingAudiences = AdsApp.adGrouptargeting().audiences()\n .withCondition(`campaign.name = \"Campaign #1\"`)\n .withCondition(`ad_group.name = \"Ad Group #1\"`)\n .withCondition(\"metrics.clicks \u003e 34\")\n .forDateRange(\"LAST_MONTH\")\n .get();\n\n for (const audience of topPerformingAudiences) {\n const stats = audience.getStatsFor(\"LAST_MONTH\");\n console.log(`Search audience with ID = ${audience.getId().toFixed(0)}, ` +\n `name = \"${audience.getName()}\" and audience list ID = ` +\n `${audience.getAudienceId()} had ${stats.getClicks()} clicks last ` +\n `month.`);\n }\n}\n```\n\nExclude search audience from a campaign\n---------------------------------------\n\n```gdscript\nfunction addExcludedAudienceToCampaign(campaignName, audienceId) {\n\n // Retrieve the campaign.\n const campaigns = AdsApp.campaigns()\n .withCondition(`campaign.name = \"${campaignName}\"`)\n .get();\n\n if (!campaigns.hasNext()) {\n throw new Error(`Cannot find campaign with name \"${campaignName}\"`);\n }\n\n const campaign = campaigns.next();\n\n // Create the excluded audience.\n const operation = campaign.targeting()\n .newUserListBuilder()\n .withAudienceId(`${audienceId}``)\n .exclude();\n\n if (!operation.isSuccessful()) {\n console.warn(`Failed to exclude audience ${audienceId}. Errors: ${operation.getErrors().join(', ')}`);\n }\n const audience = operation.getResult();\n console.log(`Excluded audience \"${audience.getName()}\" from campaign ` +\n ``\"${campaignName}\".`);\n}\n```\n\nGet excluded search audiences for a campaign\n--------------------------------------------\n\n```gdscript\nfunction getExcludedAudiencesForCampaign(campaignName) {\n // Retrieve the campaign.\n const campaign = AdsApp.campaigns()\n .withCondition(`campaign.name = \"${campaignName}\"`)\n .get();\n\n if (!campaigns.hasNext()) {\n throw new Error(`Cannot find campaign with name \"${campaignName}\"`);\n }\n\n const campaign = campaigns.next();\n return campaign.targeting().excludedAudiences().get();\n}\n```\n\nSet AdGroup targeting setting\n-----------------------------\n\n```gdscript\nfunction setAdGroupTargetSetting(campaignName, adGroupName, group = \"USER_INTEREST_AND_ALL\", setting = \"TARGET_ALL_TRUE\") {\n // Retrieve the ad group.\n const adGroups = AdsApp.adGroups()\n .withCondition(`campaign.name = \"${campaignName}\"`)\n .withCondition(`ad_group.name = \"${adGroupName}\"`)\n .get();\n\n if (!adGroups.hasNext()) {\n throw new Error(`Cannot find ad group with name \"${adGroupName}\" in ` +\n `campaign \"${campaignName}\"`);\n }\n\n // Change the target setting.\n adGroup.targeting().setTargetingSetting(group, setting);\n}\n```\n\nUpdate audience bid modifier\n----------------------------\n\n```gdscript\nfunction updateAudienceBidModifer(campaignName, adGroupName, audienceName, bidModifier = 1.5) {\n // Create the search audience.\n const audiences = AdsApp.adGrouptargeting().audiences()\n .withCondition(`campaign.name = \"${campaignName}\"`)\n .withCondition(`ad_group.name = \"${adGroupName}\"`)\n .get();\n\n for (const audience of audiences) {\n if (audience.getName() == audienceName) {\n audience.bidding().setBidModifier(bidModifier);\n }\n }\n}\n```"]]