Google Ads komut dosyaları, Maksimum Performans kampanyalarınızın bir şekilde yönetilmesini sağlar. Maksimum Performans kampanyalarını almak, öğe gruplarını yönetmek ve rapor çalıştırmak için komut dosyaları kullanabilirsiniz. Ancak Maksimum Performans kampanyaları oluşturmak için komut dosyalarını kullanamazsınız.
Maksimum Performans kampanyalarını alma
Maksimum Performans kampanyalarına bir AdsApp
nesnesinin performanceMaxCampaigns
koleksiyonu ile erişilebilir. 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 görebileceğiniz reklam grupları veya reklam nesneleri bulunmaz. Diğer kampanyalara yönelik bu kavramlarla ilgili her şey, belirlediğiniz öğe gruplarına göre sizin için otomatik olarak işlenir.
Öğeler ve öğe grupları
Maksimum Performans kampanyalarındaki reklamlarda, sizin tarafınızdan sağlanan veya otomatik olarak oluşturulan video, resim, başlık ve açıklama gibi öğeler yayınlanır. Ne tür öğelerin gerekli olduğuna dair tam bir genel bakış için Google Ads API Maksimum Performans öğe kılavuzunu inceleyin.
Maksimum Performans kampanyalarındaki öğeler bir öğe grubunda toplanır ve her Maksimum Performans kampanyasında en az bir öğe grubu olmalıdır. Bu öğe gruplarını doğrudan komut dosyalarında oluşturamazsınız ancak mevcut bir öğe grubuna öğe ekleyip gruptan öğe kaldırabilirsiniz.
Öğeyi öğe grubuna ekle
İ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. Öğe türlerinin eksiksiz bir listesini Google Ads API belgelerinde bulabilirsiniz.
Mevcut bir öğeyi kullanmak için önce bir öğe seçici oluşturun:
const assetSelector = AdsApp.adAssets().assets();
Ardından, üzerinde çalışmak istediğiniz öğeleri daraltmak için bir withCondition
filtresi kullanın. Filtre seçeneklerinin tam listesi için AssetSelector
referans belgelerine bakın.
Son olarak, yineleyiciyi 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. Bu yüzden öğeyi önceden hazırlamanız gerekmez. Öğe yerine metni belirtirsiniz. Sistem, öğeyi sizin için otomatik olarak oluşturur. Metin, mevcut bir metin öğesinin tam kopyasıysa mevcut öğe yeniden kullanılır.
Örneğin, bir başlık öğesinin nasıl oluşturulacağı aşağıda açıklanmıştır:
assetGroup.addAsset('asset text here', 'HEADLINE');
Öğeyi öğe grubundan kaldır
Bir öğe grubundan da öğeyi kaldırabilirsiniz. Ancak, kampanyanın geçerli olması için belirli öğe türlerinden en az sayıda olması gerektiğini unutmayın.
Önceki örnekte eklenen öğenin nasıl kaldırılacağı aşağıda açıklanmıştır:
assetGroup.removeAsset(imageAsset, 'MARKETING_IMAGE');
search
işleviyle, belirli bir öğe grubundaki öğelerin listesini de alabilirsiniz:
// 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. Sonuçları daha da hassaslaştırmak için asset.type
veya asset.text_asset.text
gibi başka alanlar da seçebilirsiniz. Kendi sorgunuzu oluşturmak için bu rapor türü için sorgu oluşturucuyu kullanın.
Hedef öğeyi elde ettikten sonra, öğeyi öğe grubundan kaldırmak için öğe grubunda remove
yöntemini çağı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);
Raporlar
Maksimum Performans kampanyaları, diğer kampanya türleriyle birlikte campaign
kaynağında raporlanır. Başlamak için aşağıdaki gibi bir uzantı kullanabilirsiniz:
SELECT
campaign.id,
campaign.url_expansion_opt_out,
campaign.status,
campaign.bidding_strategy_type,
metrics.clicks,
metrics.cost_micros,
metrics.impressions,
metrics.conversions,
metrics.all_conversions
FROM campaign
WHERE campaign.advertising_channel_type = 'PERFORMANCE_MAX'
AND metrics.clicks > 0
Maksimum Performans kampanyalarında reklam grubu olmadığından herhangi bir ad_group
alanı seçmeyin ve bu nedenle hiçbir alan döndürülmez. Ayrıca, asset_group
segmentlere ayrılamaz.
Raporlama hakkında daha fazla bilgiyi raporlarımızdan edinebilirsiniz.
Doğrudan öğe grupları hakkında da rapor oluşturabilirsiniz. Bunu nasıl yapacağınız hakkında daha fazla bilgi için konudaki Google Ads API kılavuzuna bakın.
Burada gördüğünüz herhangi bir sorguyu alıp Google Ads komut dosyalarında AdsApp.search
yöntemini kullanarak çalıştırıp aynı sonuçları alabilirsiniz.