Dönüşüm hedefleri
Maksimum Performans kampanyası oluşturduğunuzda, hesaptaki CustomerConversionGoal
ile eşleşen bir dizi dönüşüm hedefi otomatik olarak oluşturulur. Bu ayarları güncelleyerek her bir Maksimum Performans kampanyanız için ayrı ayrı özelleştirebilirsiniz.
Bunu yapmak için öncelikle Maksimum Performans kampanyalarınızın kampanya kimliğini ve tüm müşteri dönüşümü hedeflerinin listesini getirmeniz gerekir. Aşağıda, bir kampanyanın hedeflerini değiştirme örneği verilmiştir. Bununla birlikte, kodunuzu birden fazla Maksimum Performans kampanyasında döngü oluşturacak şekilde de ayarlayabilirsiniz.
// Query for a campaign by name. Update this logic to pull the campaigns you'd
// like to edit
const campaignName = "My PMax campaign";
let campaignId = "";
const search = AdsApp.search(`SELECT campaign.id FROM campaign WHERE campaign.name = "${campaignName}"`);
if (search.hasNext()) {
campaignId = search.next().campaign.id;
console.log(`Updating conversion goals for ${campaignName}: ${campaignId}`);
}
else
{
console.log(`No campaign named "${campaignName}" found`);
// Perform further error handling here
}
// Query for a list of customer conversion goals
const searchResults = AdsApp.search(
`SELECT
customer_conversion_goal.category,
customer_conversion_goal.origin
FROM customer_conversion_goal`
);
Ardından, aldığınız tüm dönüşüm hedeflerini yineleyebilir ve her hedefin hedeflemesini özelleştirmek için mevcut Maksimum Performans kampanyasıyla ilgili bir güncelleme işlemi oluşturabilirsiniz. Bu bölümün ilerleyen kısımlarında gösterilen kod örneğinde tüm hedefler teklif verilebilir olarak ayarlanır. Ancak mantığın bu bölümünü, kampanyanızdan elde etmek istediğiniz sonuçlara uyacak şekilde özelleştirmeniz gerekir.
Dönüşüm hedeflerini, kampanya oluşturma sürecinin geri kalanından ayrı bir işlemde ayarlamanızı öneririz.
CampaignConversionGoalOperation
isteği için partialFailure
değerinin false
olarak ayarlanmasını gerektirir. Bu kodu kampanyayı ilk oluşturduğunuz işlemde çalıştırmak istiyorsanız tüm işlemlerin kısmi hata devre dışı bırakılmış şekilde ayarlanması gerekir. Bu örnek kod, bu işlemin ayrı bir işlemde nasıl yapılacağını gösterir.
operations = [];
while (searchResults.hasNext()) {
const row = searchResults.next();
const conversionGoal = row.customerConversionGoal;
operations.push({
"campaignConversionGoalOperation": {
"update": {
"resourceName": `customers/${customerId}/campaignConversionGoals/${campaignId}~${conversionGoal.category}~${conversionGoal.origin}`,
// Insert your logic here to determine whether you want this particular
// campaign conversion goal to be biddable or not.
// This code will just default everything to being biddable, but that
// is not necessarily best for your use case.
"biddable": true
},
"updateMask": "biddable"
}
});
}
AdsApp.mutateAll(operations, {partialFailure: false});
Kampanya hedeflemesi
Maksimum Performans'taki kampanya hedefleme için izin verilen ölçüt türlerinin tam listesini görmek üzere API kılavuzunu inceleyin.
Maksimum Performans kampanyası oluşturmak için ek ölçütler gerekmez ancak bu ölçütler, kullanım alanınıza göre hedeflemeyi kısıtlamanıza yardımcı olabilir. Bir sonraki kod örneğinde, coğrafi konum hedefinin nasıl ayarlanacağı gösterilmektedir. Diğer ölçüt türlerinin biçimi için CampaignCriterion
dokümanına başvurabilirsiniz.
Bu ölçütleri, kampanyanın kendisiyle birlikte mutateAll
için aynı çağrının parçası olarak oluşturabilirsiniz. Bu kod örneğinde, kodunuzu bu şekilde yapılandırdığınız varsayılmaktadır.
operations.push({
"campaignCriterionOperation": {
"create": {
"campaign": campaignOperation.campaignOperation.create.resourceName,
"negative": false,
"location": {
// 1023191 represents New York City
"geoTargetConstant": "geoTargetConstants/1023191"
}
}
}
});
Öğe grubu sinyalleri
Başlamadan önce API dokümanındaki öğe grubu sinyalleri hakkında bilgi edinin. Bunlar, bir öğe grubunu mevcut bir AudienceInfo
veya SearchThemeInfo
ölçütüne bağlayarak oluşturulur. Bunun yerine bir kitle kullanmak istiyorsanız searchTheme
alanı yerine audience
alanını kitlenin kaynak adıyla belirtin.
operations.push({
"assetGroupSignalOperation": {
"create": {
"assetGroup": assetGroupOperation.assetGroupOperation.create.resourceName,
"searchTheme": {
"text": "mars cruise"
}
}
}
});