Aracılığıyla paylaş


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, isPausedve 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();
    }
}