AdsApp'in kullanıldığı Maksimum Performans kampanyaları

Google Ads komut dosyaları, Maksimum Performans kampanyanızın bir kısmını yönetmenizi sağlar. kampanyaları hakkında daha fazla bilgi edinin. Tekliflerinizi otomatikleştirmek ve optimize etmek için komut dosyalarını kullanarak Maksimum Performans kampanyaları alabilir, öğe gruplarını yönetebilir ve raporlar; ancak komut dosyalarını Maksimum Performans kampanyaları oluşturmak için kullanamazsınız. Alıcı: diğer işlemler için daha ileri düzey işlemler yapmanız gerekiyorsa bu kılavuzun mutate kullanarak daha genel bir yaklaşım sergiliyor.

Maksimum Performans kampanyalarının alınması

Maksimum Performans kampanyaları, performanceMaxCampaigns AdsApp koleksiyonu nesnesini tanımlayın. Bu adresleri her zamanki gibi alabilirsiniz:

const campaignName = "My Performance Max campaign";

const campaignIterator = AdsApp.performanceMaxCampaigns()
    .withCondition(`campaign.name = "${campaignName}"`)
    .get();

for (const campaign of campaignIterator) {
  ...
}

Diğer bazı kampanya türlerinin aksine Maksimum Performans kampanyalarında reklam yoktur. görebileceğiniz gruplar veya reklam nesneleri bu kavramlarla ilgili her şey diğer kampanyalar, oluşturduğunuz öğe gruplarına göre sizin için otomatik olarak işlenir ayarlandı.

Öğeler ve öğe grupları

Maksimum Performans kampanyalarındaki reklamların yayınlanma süresi: öğeler (ör. videolar, tarafınızdan sağlanan resimler, başlıklar ve açıklamalar otomatik olarak oluşturulur. Ne tür öğe türlerine genel bir bakış için Google Ads API Maksimum Performans öğesine bakın rehberini inceleyin.

Maksimum Performans kampanyalarının öğeleri, bir öğe grubunda toplanır. Ayrıca her Maksimum Performans kampanyasında en az bir öğe grubu olmalıdır. Siz bu öğe gruplarını doğrudan komut dosyalarında oluşturamaz, ancak Mevcut bir öğe grubundaki öğeleri kaldırmalıdır.

Öğe grubuna öğe ekleyin

İlk olarak öğeyi oluşturun:

const imageUrl = "http://www.example.com/example.png";
const imageBlob = UrlFetchApp.fetch(imageUrl).getBlob();
const assetOperation = AdsApp.adAssets().newImageAssetBuilder()
   .withName("new asset name")
   .withData(imageBlob)
   .build();
const imageAsset = assetOperation.getResult();

Ardından, oluşturduğunuz öğeyi kullanarak mevcut bir öğe grubuna ekleyin:

// First, fetch the Performance Max campaign we want to operate on.
const campaignIterator = AdsApp.performanceMaxCampaigns()
   .withCondition(`campaign.name = '${campaignName}'`)
   .get();
let campaign;
if (campaignIterator.hasNext()) {
   campaign = campaignIterator.next();
} else {
   throw `No campaign found with name ${campaignName}.`
}

// Then, get that campaign's asset groups.
const assetGroupIterator = campaign.assetGroups().get();

// The campaign must have at least one asset group, so we can just assume so here.
const assetGroup = assetGroupIterator.next();

// Add the asset from the previous step.
assetGroup.addAsset(imageAsset, 'MARKETING_IMAGE');

Son adımda öğe türünü nasıl belirtmeniz gerektiğini unutmayın. Daha fazla Google Ads API'deki öğe türlerinin tam listesi belgeleri

Mevcut bir öğeyi kullanmak için önce bir öğe seçici oluşturun:

const assetSelector = AdsApp.adAssets().assets();

Daraltmak istediğiniz öğeleri görmek için bir withCondition filtresi kullanın. işleyeceğiz. Bkz. AssetSelector tam listesi için referans belgelerine bakın.

Son olarak, yinelemeyi getirin ve diğer varlıklarda olduğu gibi yineleyin:

const assetIterator = assetSelector.get();

for (const asset of assetIterator) {
   ...
}

Metin öğeleri

Metin öğeleri biraz farklı çalışır. Çünkü, istediğiniz öğeyi oluşturmanız gerekmez. önceden kontrol edin. Bir öğe yerine metni belirttiğinizde sistem sizin için otomatik olarak oluşturacaktır. Metin, mevcut metin öğesi yerine yeniden kullanılır.

Örneğin, başlık öğesi şu şekilde oluşturulur:

assetGroup.addAsset('asset text here', 'HEADLINE');

Öğeyi, öğe grubundan kaldır

Bir öğeyi öğe grubundan da kaldırabilirsiniz: Ancak unutmayın ki en az sayıda belirli türde öğeler .

Önceki örnekte eklenen öğeyi nasıl kaldıracağınız aşağıda açıklanmıştır:

assetGroup.removeAsset(imageAsset, 'MARKETING_IMAGE');

Ayrıca, search ile belirli bir öğe grubundaki öğelerin listesini alabilirsiniz işlev:

// The resource name is a unique identifier for this asset group.
const assetGroupName = assetGroup.getResourceName();
results = AdsApp.search(
   `SELECT asset.resource_name, asset_group_asset.field_type
    FROM asset_group_asset
    WHERE asset_group.resource_name = '${assetGroupName}'`
);

Bu işlem, öğenin kaynak adını benzersiz tanımlayıcısı olarak seçer. Yapabilecekleriniz diğer alanları da seçin. Örneğin, asset.type veya asset.text_asset.text sonuçları daha da hassaslaştırabilirsiniz. Bu rapor için sorgu oluşturucuyu kullanın zanaat belirlemek için ekleyebilirsiniz.

Hedef öğeyi belirledikten sonra, kaldırmak istediğiniz öğe grubunda remove öğesini çağırın. şu öğe grubundan kaldırın:

// Let's assume at least one asset is returned. We'll just remove the first
// asset, whatever it is. In your code, customize this to choose the right asset.
const row_info = results.next().asset;
assetGroup.remove(row_info.asset.resource_name, row_info.asset_group_asset.field_type);