Обязательные компоненты кампаний с максимальной эффективностью

Чтобы создать кампанию с максимальной эффективностью с нуля, вам нужно как минимум:

Кампания и бюджет используются для создания кампаний всех типов, а операции, связанные с объектами, особенно полезны для создания кампаний с максимальной эффективностью. О том, как создавать объекты с помощью скриптов, читайте в руководстве по объектам кампаний с максимальной эффективностью.

Ознакомьтесь со стратегией изменения, поскольку в этом руководстве будут представлены только объекты JavaScript, которые будут использоваться в изменениях.

Бюджет

Бюджет не должен быть общим и должен иметь уникальное название в вашем аккаунте. Используйте CampaignBudgetOperation.

const budgetOperation = {
  "campaignBudgetOperation": {
    "create": {
      "resourceName": `customers/${customerId}/campaignBudgets/${getNextTempId()}`,
      "name": "Performance Max campaign budget",
      "amountMicros": "50000000",
      "deliveryMethod": "STANDARD",
      "explicitlyShared": false
    }
  }
}
operations.push(budgetOperation);

Кампания

Кампания должна ссылаться на бюджет, поэтому вам понадобится точное название ресурса бюджета, созданного на предыдущем шаге, чтобы идентифицировать и использовать этот конкретный объект бюджета. Используйте CampaignOperation.

const campaignOperation = {
  "campaignOperation": {
    "create": {
      "resourceName": `customers/${customerId}/campaigns/${getNextTempId()}`,
      "name": "Performance Max campaign",
      "status": "PAUSED",
      "advertisingChannelType": "PERFORMANCE_MAX",
      "campaignBudget": budgetOperation.campaignBudgetOperation.create.resourceName,
      "biddingStrategyType": "MAXIMIZE_CONVERSION_VALUE",
      "startDate": "20240314",
      "endDate": "20250313",
      "urlExpansionOptOut": false,
      "maximizeConversionValue": {
        "targetRoas": 3.5
      },
      "containsEuPoliticalAdvertising": "DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING"
    }
  }
}
operations.push(campaignOperation);

Группа объектов

Группа объектов для этой кампании должна содержать ссылку на кампанию. Позже, когда вы будете связывать объекты с этой группой, вам нужно будет указать ссылку на нее. Используйте AssetGroupOperation.

const assetGroupOperation = {
  "assetGroupOperation": {
    "create": {
      "resourceName": `customers/${customerId}/assetGroups/${getNextTempId()}`,
      "campaign": campaignOperation.campaignOperation.create.resourceName,
      "name": "Performance Max asset group",
      "finalUrls": [
        "http://www.example.com"
      ],
      "finalMobileUrls": [
        "http://www.example.com"
      ],
      "status": "PAUSED"
    }
  }
}
operations.push(assetGroupOperation);

Теперь, когда у вас есть группы объектов и объекты (из предыдущего шага), вам нужно связать их вместе, чтобы кампания с максимальной эффективностью знала, какие объекты вы хотите использовать. Это необходимо сделать в том же запросе, в котором вы создаете группу объектов. Для этого используйте AssetGroupAssetOperation.

Вам нужно будет указать правильное название ресурса объекта, а также изменить fieldType на подходящее значение для связываемого объекта. Ознакомьтесь с полным списком допустимых типов полей.

Чтобы выполнить минимальные требования для кампании с максимальной эффективностью, вам потребуется несколько таких операций.

operations.push({
  "assetGroupAssetOperation": {
    "create": {
      "assetGroup": assetGroupOperation.assetGroupOperation.create.resourceName,
      // assetResourceName here is a placeholder; you will need to determine
      // the correct resource name to use depending on which asset you want
      // to add to the asset group.
      "asset": assetResourceName,
      "fieldType": "HEADLINE"
    }
  }
});