Чтобы создать новую поисковую кампанию с нуля, необходимо создать как минимум следующее:
- Бюджет
- Сама кампания.
- Группа объявлений
- Ключевые слова
- Объявление из группы объявлений, содержащее объявление.
Кампания и бюджет подходят для создания кампаний любого типа, а некоторые настройки в объявлениях группы объявлений будут особенно полезны для создания поисковых кампаний. О том, как создавать объекты с помощью скриптов, рассказывается в руководстве по объектам в поисковых кампаниях.
Ознакомьтесь со стратегией изменения, поскольку в этом руководстве будут представлены только объекты JavaScript, которые будут использоваться в изменениях.
Бюджет
Бюджет не должен быть общим и должен иметь уникальное название в аккаунте. Используйте CampaignBudgetOperation, чтобы составить бюджет.
const budgetOperation = {
"campaignBudgetOperation": {
"create": {
"resourceName": `customers/${customerId}/campaignBudgets/${getNextTempId()}`,
"name": "Search campaign budget",
"amountMicros": "10000000",
"deliveryMethod": "STANDARD",
"explicitlyShared": false
}
}
}
operations.push(budgetOperation);
Кампания
Кампания должна ссылаться на бюджет, поэтому вам понадобится точное название ресурса бюджета, созданного на предыдущем шаге, чтобы идентифицировать и использовать этот конкретный объект бюджета. Используйте CampaignOperation. В этом примере мы также задаем поле AiMaxSetting, чтобы включить AI Max для Поиска, и поле NetworkSettings.
const campaignOperation = {
"campaignOperation": {
"create": {
"resourceName": `customers/${customerId}/campaigns/${getNextTempId()}`,
"name": "Search campaign",
"status": "PAUSED",
"advertisingChannelType": "SEARCH",
"campaignBudget": budgetOperation.campaignBudgetOperation.create.resourceName,
"biddingStrategyType": "MANUAL_CPC",
"startDate": "20240314",
"endDate": "20250313",
"manualCpc": {
"enhancedCpcEnabled": true
},
"aiMaxSetting": {
"enableAiMax": true
},
"networkSettings": {
"targetGoogleSearch": true,
"targetSearchNetwork": true
},
"containsEuPoliticalAdvertising": "DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING"
}
}
}
operations.push(campaignOperation);
Группа объявлений
Группа объявлений должна ссылаться на ранее созданную кампанию, поэтому вам потребуется точное название ресурса, которое вы задали на предыдущем шаге, чтобы идентифицировать кампанию, ранее созданную в этом запросе. Вам также понадобится временный идентификатор для самой группы объявлений. Его лучше сохранить в качестве новой переменной, чтобы использовать при создании ключевых слов и объявлений в группе. Используйте AdGroupOperation.
const adGroupId = getNextTempId();
const adGroupOperation = {
"adGroupOperation": {
"create": {
"resourceName": `customers/${customerId}/adGroups/${adGroupId}`,
"name": "Search ad group",
"status": "PAUSED",
"campaign": campaignOperation.campaignOperation.create.resourceName,
"type": "SEARCH_STANDARD"
}
}
}
operations.push(adGroupOperation);
Ключевые слова
Ключевые слова необходимы, чтобы ваши объявления показывались в результатах поиска. Они добавляются в группу объявлений в качестве критериев с помощью метода AdGroupCriterionOperation. Вам нужно сослаться на группу объявлений, созданную на предыдущем шаге.
const keywordOperation = {
"adGroupCriterionOperation": {
"create": {
"adGroup": adGroupOperation.adGroupOperation.create.resourceName,
"status": "ENABLED",
"keyword": {
"text": "flowers",
"matchType": "BROAD"
}
}
}
}
operations.push(keywordOperation);
Объявление из группы объявлений с объявлением
На этом шаге создается объявление группы объявлений, которое объединяет группу объявлений с объявлением. Объявление должно ссылаться на группу объявлений, поэтому вам понадобится точное название ресурса, заданное на предыдущем шаге. Вы можете создать объявление в рамках той же операции и использовать ранее созданные текстовые объекты или создать их в рамках той же операции. В примере ниже создается адаптивное поисковое объявление с помощью ResponsiveSearchAdInfo. Для этого необходимо создать текстовые объекты для заголовков и описаний, как показано в руководстве Объекты.
Чтобы создать объявление в группе, используйте AdGroupAdOperation.
const adGroupAdOperation = {
"adGroupAdOperation": {
"create": {
"resourceName": `customers/${customerId}/adGroupAds/${adGroupId}~${getNextTempId()}`,
"adGroup": adGroupOperation.adGroupOperation.create.resourceName,
"status": "PAUSED",
"ad": {
"name": "Search RSA ad",
"finalUrls": [
"http://www.example.com"
],
"responsiveSearchAd": {
"headlines": [
{
"text": textAsset.assetOperation.create.resourceName
},
{
"text": "Headline 2"
},
{
"text": "Headline 3"
}
],
"descriptions": [
{
"text": "Description 1"
},
{
"text": "Description 2"
}
]
}
}
}
}
}
operations.push(adGroupAdOperation);