検索の必須コンポーネント

検索キャンペーンをゼロから作成するには、少なくとも次のものを作成する必要があります。

キャンペーンと予算はあらゆるタイプのキャンペーンの作成に役立ちますが、広告グループ内の広告の一部の設定は、特に検索キャンペーンの作成に役立ちます。スクリプトを使用してアセットを作成する方法については、アセットの検索ガイドをご覧ください。

このガイドでは、mutate で使用する JavaScript オブジェクトのみを提供するため、mutate 戦略をよく理解しておいてください。

予算

予算は共有されておらず、アカウント内で一意の名前が付けられている必要があります。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 最大化設定を有効にし、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);

広告グループ

広告グループは、以前に作成したキャンペーンを参照する必要があります。そのため、このリクエストで以前に作成したキャンペーンを特定するには、前の手順で設定した正確なリソース名が必要です。広告グループ自体の一時 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);