Необходимые компоненты поиска

Для создания новой поисковой кампании с нуля необходимо как минимум создать следующее:

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

Убедитесь, что вы знакомы со стратегией мутации , поскольку в этом руководстве будут представлены только объекты 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);