Чтобы создать кампанию с максимальной эффективностью с нуля, вам нужно как минимум:
- Сама кампания.
- Бюджет
- Объекты на уровне аккаунта
- Группа объектов
- Связи между объектами в вашем аккаунте и группой объектов, которую вы будете использовать в этой кампании.
Кампания и бюджет используются для создания кампаний всех типов, а операции, связанные с объектами, особенно полезны для создания кампаний с максимальной эффективностью. О том, как создавать объекты с помощью скриптов, читайте в руководстве по объектам кампаний с максимальной эффективностью.
Ознакомьтесь со стратегией изменения, поскольку в этом руководстве будут представлены только объекты 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"
}
}
});