搜索的必需组件

如需从头开始生成新的搜索广告系列,您至少必须创建以下内容:

广告系列和预算可用于制作各种类型的广告系列,而广告组广告中的某些设置则特别适合制作搜索广告系列。请访问搜索资产指南,了解如何使用脚本创建资产。

请务必熟悉变异策略,因为本指南仅提供要在变异中使用的 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);

Google Ads 广告组

广告组必须引用之前创建的广告系列,因此您需要使用在上一步中设置的确切资源名称来标识此请求中之前创建的广告系列。您还需要为广告组本身提供临时 ID,最好将其存储为新变量,以便在制作关键字和广告组广告时使用。使用 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);