Reklam gruplarını yönetmek için betik örnekleri
Aşağıdaki bölümlerde, reklam gruplarına karşı çeşitli eylemler gerçekleştiren betik örnekleri gösterilir.
Reklam grupları ekleme
Bir reklam grubu eklemek için önce reklam grubunu ekleyeceğiniz kampanyayı alın. Kampanyayı seçmek için CampaignSelector nesnesini kullanın. yönteminin withIds
kullanılması, kampanyanın adını withCondition
yöntemine geçirmekten daha iyi performans sağlar.
Ardından, reklam grubunun özelliklerini belirtmek için kullandığınız bir oluşturucuyu almak için kampanyanın newAdGroupBuilder yöntemini çağırın. Tek gerekli özellik, kampanya içinde benzersiz olması gereken reklam grubunun adıdır (yöntemine bakın withName
). Bir TBM değeri belirtmezseniz, varsayılan olarak hesabınızın para birimi için minimum teklif tutarına ayarlanır. Dili yalnızca kampanya belirtmiyorsa belirtmeniz gerekir; aksi takdirde kampanyanın dil değerini devralır. Varsayılan olarak, reklam grubunun durumu duraklatılır.
Oluşturucunun build
yöntemini çağırmak, reklam grubunu zaman uyumsuz olarak oluşturur; Betikler, betik sonlandırilmeden önce veya derleme işleminin yöntemlerinden birini çağırırsanız reklam grubunu bir noktada ekler. Bu işlem hakkında bilgi için bkz. Oluşturucu nedir?
function main() {
// The ID of the campaign to add the ad groups to.
// IDs in Scripts are string integers.
var campaignId = 'CAMPAIGN ID GOES HERE';
var campaign = getCampaign(campaignId);
// Ad groups to add.
var adGroups = [];
adGroups.push({
name : 'AD GROUP NAME GOES HERE',
cpc : 2.25,
language : 'English' // Required if the campaign doesn't specify a language
});
adGroups.push({
name : 'AD GROUP NAME GOES HERE',
cpc : 1.25,
language : 'English' // Required if the campaign doesn't specify a language
});
var operations = [];
if (campaign != null)
{
for (var adGroup of adGroups) {
var operation = addAdGroup(
campaign,
adGroup.name,
adGroup.cpc,
adGroup.language);
operations.push(operation);
}
}
else {
Logger.log("Unable to retrieve campaign, " + campaignId);
}
checkBuildStatus(operations, adGroups);
}
// Get the campaign using its ID.
function getCampaign(id) {
var iterator = AdsApp.campaigns()
.withIds([id])
.get();
// Return the campaign if it exists; otherwise, null.
if (iterator.hasNext()) {
return iterator.next();
}
else {
return null;
}
}
// Add the ad group to the specified campaign.
// Returns the builder's operation object, which you use to
// check the status of the add operation.
function addAdGroup(campaign, name, cpc, language) {
return campaign.newAdGroupBuilder()
.withName(name)
.withCpc(cpc)
.withLanguage(language)
.build();
}
// Check the ad group's build status.
function checkBuildStatus(operations, adGroups) {
for (var i = 0; i < operations.length; i++) {
if (!operations[i].isSuccessful()) {
for (var error of operations[i].getErrors()) {
Logger.log(`Failed to add, ${adGroups[i].name}. Error: ${error}`);
}
}
}
}
Tüm reklam gruplarını alma
Bir hesaptaki tüm reklam gruplarını almak için önce AdsApp nesnesinin adGroups
yöntemini çağırarak seçiciyi alın. Ardından, reklam grupları listesinde yineleme yapmak için kullandığınız bir yineleyici almak için seçicinin get
yöntemini çağırın. Örnek herhangi bir filtre belirtmediğinden, seçici hesaptaki tüm reklam gruplarını döndürür. Yineleyicideki reklam gruplarının sayısını belirlemek için yineleyicinin yöntemini çağırın totalNumEntities
.
function main() {
// Gets all ad groups in the account.
var iterator = AdsApp.adGroups().get();
// Iterates through the list of ad groups and logs
// each ad group's name.
while (iterator.hasNext()) {
var adGroup = iterator.next();
}
}
Ada göre bir reklam grubu alma
Adlarına göre bir reklam grubu almak için önce AdsApp nesnesinin adGroups
yöntemini çağırarak seçiciyi alın. Seçici, reklam gruplarının listesini filtrelemek için kullandığınız bir dizi filtre yöntemini içerir. withCondition
Belirli bir reklam grubu adı için reklam gruplarını filtrelemek için yöntemini kullanın. İşlenenlerin ve işleçlerin büyük/küçük harfe duyarlı olduğunu unutmayın.
Ardından yineleyiciyi almak için seçicinin get
yöntemini çağırın. Bir kampanyadaki reklam grubu adları benzersizdir, ancak birden çok kampanyanın aynı ada sahip reklam grupları olması mümkündür. Bu nedenle, yalnızca ada göre filtreleme yaparsanız, yineleyici birden fazla reklam grubu içerebilir.
Belirli bir kampanyadan ada göre bir reklam grubu almak istiyorsanız, kampanyanın adını (CampaignName = '<campaignnamegoeshere>'
) belirten bir withCondition
yöntem ekleyin.
function main() {
// The name of the ad group to get.
var adGroupName = 'AD GROUP NAME GOES HERE';
// Get the ad groups with the specified name.
var iterator = AdsApp.adGroups()
.withCondition(`Name = '${adGroupName}'`)
.get();
// Need a loop because multiple campaigns can have
// an ad group with the same name.
while (iterator.hasNext()) {
var adGroup = iterator.next();
}
}
Kimliğine göre reklam grubu alma
Reklam grubunun kimliğine erişiminiz varsa bunu kullanın. Varlıkları almak için kimlikleri kullanmak daha iyi performans sağlar. Filtre yöntemini kullanmak withCondition
yerine yöntemini kullanın withIds
. Örneğin, withIds(['12345'])
.
function main() {
var adGroupId = '12345';
var iterator = AdsApp.adGroups()
.withIds([adGroupId])
.get();
if (iterator.hasNext()) {
var adGroup = iterator.next();
}
}
Belirli bir kampanyadan ada göre reklam grubu alma
function main() {
var adGroupName = 'AD GROUP NAME GOES HERE';
var campaignName = "CAMPAIGN NAME GOES HERE";
var iterator = AdsApp.adGroups()
.withCondition(`Name = '${adGroupName}'`)
.withCondition(`CampaignName = '${campaignName}'`)
.get();
if (iterator.hasNext()) {
var adGroup = iterator.next();
}
}
Bir reklam grubunun performans verilerini alma
Bir reklam grubunun performans ölçümlerini almak için reklam grubunun getStats yöntemini çağırın. Reklam grubunu aldığınızda, istediğiniz ölçüm verilerinin tarih aralığını belirtmeniz gerekir. Tarih aralığını LAST_MONTH veya BUGÜN gibi önceden tanımlanmış bir değişmez değer veya başlangıç ve bitiş tarihi kullanarak belirtebilirsiniz. Tarih aralığını belirtmek için, reklam grubunu seçerken yöntemlerden birini forDateRange
kullanın (bkz. AdGroupSelector).
Erişebileceğiniz ölçümlerin listesi için İstatistikler nesnesine bakın.
function main() {
var campaignName = 'CAMPAIGN NAME GOES HERE';
var adGroupName = 'AD GROUP NAME GOES HERE';
// Get the ad group. You need to specify the date range of the
// performance data you want to get.
var iterator = AdsApp.adGroups()
.forDateRange('LAST_WEEK')
.withCondition(`Name = '${adGroupName}'`)
.withCondition(`CampaignName = '${campaignName}'`)
.get();
// If the ad group is found, log some metrics.
if (iterator.hasNext()) {
var adGroup = iterator.next();
var metrics = adGroup.getStats(); // Gets the performance metrics.
}
}
Reklam grubunu duraklatma
Bir reklam grubu eklediğinizde, bu grubun durumu varsayılan olarak Duraklatıldı'dır. Reklam grubunu etkinleştirmek için reklam grubunun yöntemini çağırın enable
. Reklam grubunun durumunu Duraklatıldı olarak değiştirmek için reklam grubunun yöntemini çağırın pause
. Reklam grubunun durumunu belirlemek için, reklam grubunun isEnabled
, isPaused
ve isRemoved
yöntemlerini çağırın.
function main() {
var campaignName = 'CAMPAIGN NAME GOES HERE';
var adGroupName = 'AD GROUP NAME GOES HERE';
// Get the ad group.
var iterator = AdsApp.adGroups()
.withCondition(`Name = '${adGroupName}'`)
.withCondition(`CampaignName = '${campaignName}'`)
.get();
if (iterator.hasNext()) {
var adGroup = iterator.next();
adGroup.pause();
}
}