Maksimum Performans'ın isteğe bağlı bileşenleri

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. Bunları güncelleyerek Maksimum Performans kampanyalarınızın her biri için özel olarak ö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. Ancak kodunuzu birden fazla Maksimum Performans kampanyası arasında geçiş yapacak ş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ına yönelik bir güncelleme işlemi oluşturabilirsiniz. Bu bölümün ilerleyen kısımlarında gösterilen kod örneği, tüm hedefleri teklif verilebilir olarak ayarlar. Ancak mantığın bu kısmı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ı gerekir. Bu kodu, kampanyayı ilk oluşturduğunuz işlemde çalıştırmak istiyorsanız tüm işlem grubunu kısmi hata devre dışı bırakılacak şekilde ayarlamanız gerekir. Bu örnek kod, bu işlemin ayrı bir işlemde nasıl gerçekleştirileceğini 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'ta kampanya hedefleme için izin verilen ölçüt türlerinin tam listesini API kılavuzunda bulabilirsiniz.

Maksimum Performans kampanyası oluşturmak için ek ölçüt gerekmez ancak bu ölçütler, kullanım alanınıza göre hedeflemeyi kısıtlamanıza yardımcı olabilir. Aşağıdaki 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 belgelerindeki öğ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 kitlenin kaynak adıyla searchTheme alanı yerine audience alanını belirtin.

operations.push({
  "assetGroupSignalOperation": {
    "create": {
      "assetGroup": assetGroupOperation.assetGroupOperation.create.resourceName,
      "searchTheme": {
        "text": "mars cruise"
      }
    }
  }
});