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);