Iklan
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Menambahkan iklan penelusuran responsif
function addResponsiveSearchAd(adGroupName, campaignName) {
const campaignIterator = AdsApp.campaigns()
.withCondition(`campaign.name = "${campaignName}"`)
.get();
if (!campaignIterator.hasNext()){
throw new Error(`No campaign found with name: "${campaignName}"`);
}
const adGroupIterator = AdsApp.adGroups()
.withCondition(`ad_group.name = "${adGroupName}"`)
.get();
if (!adGroupIterator.hasNext()){
throw new Error(`No ad group found with name: "${adGroupName}"`);
}
const adGroup = adGroupIterator.next();
adGroup.newAd().responsiveSearchAdBuilder()
.withHeadlines([
'First headline',
'Second headline',
'Third headline'
])
.withDescriptions([
'First description',
'Second description'
])
.withFinalUrl('http://www.example.com')
.build();
// ResponsiveSearchAdBuilder has additional options.
// For more details, see
// https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_responsivesearchadbuilder
}
Tambahkan iklan gambar
function addImageAd(adGroupName,imageUrl,imageName) {
const imageBlob = UrlFetchApp.fetch(imageUrl).getBlob();
const mediaOperation = AdsApp.adMedia().newImageBuilder()
.withName(`${imageName}`)
.withData(imageBlob)
.build();
const image = mediaOperation.getResult();
if (!image.isSuccessful()) {
throw new Error(`Media could not be created from url: "${imageUrl}"`)
}
const adGroupIterator = AdsApp.adGroups()
.withCondition(`ad_group.name = "${adGroupName}"`)
.get();
if (!adGroupIterator.hasNext()) {
throw new Error(`No ad group found with name: "${adGroupName}"`);
}
const adGroup = adGroupIterator.next();
if (adGroupIterator.totalNumEntities() > 1) {
console.warn(`Multiple ad groups named "${adGroupName}" found. Using the one
from campaign "${adGroup.getCampaign().getName()}".`);
}
const mediaIterator = AdsApp.adMedia().media()
.withCondition(`media_file.name = "${imageName}"`)
.get();
if (!mediaIterator.hasNext()) {
throw new Error(`No media found with name: "${imageName}"`);
}
const image2 = mediaIterator.next();
adGroup.newAd().imageAdBuilder()
.withName('Ad name')
.withImage(image2)
.withDisplayUrl('http://www.example.com')
.withFinalUrl('http://www.example.com')
.build();
// ImageAdBuilder has additional options.
// For more details, see
// https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_imageadbuilder
}
Menambahkan iklan Display responsif
// You create responsive display ads in two steps:
// 1. Create or retrieve assets (marketing images, square marketing images,
// optional logos, optional landscape logos, and optional YouTube videos)
// 2. Create the ad.
//
// The following function assumes you have not already created named assets.
function addResponsiveDisplayAd(campaignName,adGroupName) {
// If you have multiple adGroups with the same name, this snippet will
// pick an arbitrary matching ad group each time. In such cases, just
// filter on the campaign name as well:
//
// AdsApp.adGroups()
// .withCondition(`ad_group.name = "${adGroupName}"`)
// .withCondition(`campaign.name = "${campaignName}"`)
const adGroupIterator = AdsApp.adGroups()
.withCondition(`ad_group.name = "${adGroupName}"`)
.get();
if (!adGroupIterator.hasNext()) {
throw new Error(`No ad group found with name: ${adGroupName}`);
}
// If you have already created named image assets, select them like this:
//
// const marketingImages = [];
// const marketingImageIterator = AdsApp.adAssets()
// .assets()
// .withCondition(`ad_group_ad.ad.name IN ("INSERT_FIRST_ASSET_NAME_HERE",
// "INSERT_SECOND_ASSET_NAME_HERE")`)
// .get();
// while (marketingImageIterator.hasNext()) {
// marketingImages.push(marketingImageIterator.next());
// }
const adGroup = adGroupIterator.next();
const adGroupBuilder = adGroup.newAd()
.responsiveDisplayAdBuilder()
.withBusinessName('Your business name')
.withFinalUrl('http://www.example.com')
.withHeadlines(['First headline', 'Second headline'])
.withLongHeadline('Long Headline')
.withDescriptions(
['First description', 'Second description', 'Third description']);
// If you selected assets with a snippet as shown above, then provide those
// assets here like this:
//
// adGroupBuilder = adGroupBuilder.withMarketingImages(marketingImages);
adGroupBuilder
.addMarketingImage(
buildImageAsset("rectangular image asset", "https://goo.gl/3b9Wfh"))
.addSquareMarketingImage(
buildImageAsset("square image asset", "https://goo.gl/mtt54n"))
.build();
// ResponsiveDisplayAdBuilder has additional options.
// For more details, see
// https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_responsivedisplayadbuilder
}
function buildImageAsset(assetName, imageUrl) {
const imageBlob = UrlFetchApp.fetch(imageUrl).getBlob();
return AdsApp.adAssets().newImageAssetBuilder()
.withData(imageBlob)
.withName(assetName)
.build()
.getResult();
}
Menjeda iklan di grup iklan
function pauseAdInAdGroup(adGroupName) {
const adGroupIterator = AdsApp.adGroups()
.withCondition(`ad_group.name = "${adGroupName}"`)
.get();
if (!adGroupIterator.hasNext()) {
throw new Error(`No ad group found with name: "${adGroupName}"`);
}
const adGroup = adGroupIterator.next();
const adsIterator = adGroup.ads().get();
if (!adsIterator.hasNext()) {
throw new Error(`No ads found in ad group: "${adGroupName}"`);
}
const ad = adsIterator.next();
ad.pause();
}
Mendapatkan iterator iklan penelusuran responsif dalam grup iklan
function getResponsiveSearchAdsIteratorInAdGroup(adGroupName) {
const adGroupIterator = AdsApp.adGroups()
.withCondition(`ad_group.name = "${adGroupName}"`)
.get();
if (!adGroupIterator.hasNext()) {
throw new Error(`No ad group found with name: "${adGroupName}"`);
}
const adGroup = adGroupIterator.next();
// You can filter for ads of a particular type, using the AdType selector.
// See https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_ad#getType_0
// for possible values.
const responsiveSearchAdsIterator = adGroup.ads()
.withCondition(`ad_group_ad.ad.type = "RESPONSIVE_SEARCH_AD"`)
.get();
if (!responsiveSearchAdsIterator.hasNext()) {
throw new Error(`No responsive search ads found in ad group: "${adGroupName}"`);
}
return responsiveSearchAdsIterator;
}
Dapatkan statistik untuk iklan dalam grup iklan
function getAdGroupAdStats(adGroupName) {
const adGroupIterator = AdsApp.adGroups()
.withCondition(`ad_group.name = "${adGroupName}"`)
.get();
if (!adGroupIterator.hasNext()) {
throw new Error(`No ad group found with name: "${adGroupName}"`);
}
const adGroup = adGroupIterator.next();
// If you want to restrict your search to some ads only, then you could
// apply a label and retrieve ads as
//
// const label = AdsApp.labels()
// .withCondition(`ad_group_ad_label.name ="INSERT_LABEL_NAME_HERE"`)
// .get()
// .next();
// const adsIterator = label.ads().get();
const adsIterator = adGroup.ads().get();
if (!adsIterator.hasNext()) {
throw new Error(`No ads found in ad group: "${adGroupName}"`);
}
const ad = adsIterator.next();
// You can also request reports for pre-defined date ranges. See
// https://developers.google.com/google-ads/api/docs/query/date-ranges
// DateRangeLiteral section for possible values.
const stats = ad.getStatsFor('LAST_MONTH');
console.log(`${adGroup.getName()},
${stats.getClicks()},
${stats.getImpressions()}`);
}
Mendapatkan iklan Display responsif dalam grup iklan
function getResponsiveDisplayAdIteratorInAdGroup(adGroupName) {
const adGroupIterator = AdsApp.adGroups()
.withCondition(`ad_group.name = "${adGroupName}"`)
.get();
if (!adGroupIterator.hasNext()) {
throw new Error(`No ad group found with name: ${adGroupName}`);
}
const adGroup = adGroupIterator.next();
const responsiveDisplayAdsIterator = adGroup.ads()
.withCondition(`ad_group_ad.ad.type IN ("RESPONSIVE_DISPLAY_AD",
"LEGACY_RESPONSIVE_DISPLAY_AD")`)
.get();
if (!responsiveDisplayAdsIterator.hasNext()) {
throw new Error(`No Responsive Display ads found in ad group:
"${adGroupName}"`);
}
return responsiveDisplayAdsIterator;
}
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2026-04-15 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2026-04-15 UTC."],[],[]]