検索キャンペーンをゼロから作成するには、少なくとも次のものを作成する必要があります。
キャンペーンと予算はあらゆるタイプのキャンペーンの作成に役立ちますが、広告グループ内の広告の一部の設定は、特に検索キャンペーンの作成に役立ちます。スクリプトを使用してアセットを作成する方法については、アセットの検索ガイドをご覧ください。
このガイドでは、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);