Maksimum performans kampanyaları

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.