リソースの専用サービスを使用することは、Google Ads API で単一のリソースタイプのエンティティを作成、更新、削除する最も直接的な方法です。
変更エンドポイント
変更可能な各リソースには、対応するサービスとオペレーション タイプがあります。専用のサービスを使用してリソースを変更するには、オペレーションで次のいずれかのフィールドに入力し、サービスの変更エンドポイントに送信します。
- 作成(
create): 作成する新しいリソース オブジェクト。 - 更新(
update): 変更されたフィールドを指定するupdate_maskとともに、変更されたリソース オブジェクト。 - 削除(
remove): 削除するターゲット リソースのresource_name文字列。
たとえば、新しい Campaign を作成するには、次の手順を完了します。
- 選択した属性を使用して
Campaignオブジェクトを構築します。 CampaignOperationのcreateフィールドに割り当てます。MutateCampaignsRequestでオペレーションをCampaignService.MutateCampaignsに送信します。
この同じパターンは、Google Ads API のすべてのリソース固有のサービスに適用されます。
AdGroup:AdGroupOperationをAdGroupService.MutateAdGroupsに渡します。CampaignCriterion:CampaignCriterionOperationをCampaignCriterionService.MutateCampaignCriteriaに渡します。
次の REST JSON ペイロードは、CampaignService.MutateCampaigns へのリクエストを示しています。
{
"customerId": "CUSTOMER_ID",
"operations": [
{
"create": {
"name": "Interplanetary Cruise #1",
"advertisingChannelType": "SEARCH",
"status": "PAUSED",
"manualCpc": {},
"campaignBudget": "customers/CUSTOMER_ID/campaignBudgets/BUDGET_ID",
"containsEuPoliticalAdvertising": "DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING"
}
}
],
"partialFailure": false,
"validateOnly": false
}
複数のオペレーションと制限事項
ほとんどのリソース固有の変更リクエストは、繰り返し operations フィールドを受け入れるため、1 つのリクエストにそのリソース タイプの複数のオペレーションを含めることができます(リクエストあたり最大 10,000 件のオペレーション、AdGroupCriterionService.MutateAdGroupCriteria の場合は 20,000 件。CustomerService.MutateCustomer は単一の operation フィールドを受け入れます)。デフォルトでは、サービスが partial_failure をサポートし、true に設定されていない限り、リクエスト内のすべてのオペレーションはアトミックに実行されます。
ただし、個々のリソース サービスには次の 2 つの重要な制限があります。
- 単一のリソースタイプ: リソース サービスへのリクエストは、その特定のサービスによって管理されるリソースのみを変更できます。
- リソース間の一時 ID は使用できません: リソース固有の mutate 呼び出しでは単一のリソースタイプのみが受け入れられるため、親リソース(
customers/CUSTOMER_ID/campaigns/-1など)に一時的な負の ID を割り当てて、同じリクエストで異なるタイプの子リソース(AdGroupなど)から参照することはできません。(同じリソース タイプ内の自己参照一時 ID は、AdGroupCriterionリスティング グループやAssetGroupListingGroupFilterノードなどの階層ツリーでサポートされています)。
単一のリクエストで複数のリソースタイプを変更する必要がある場合や、異なるリソースタイプ間で一時リソース名を参照する場合は、代わりに GoogleAdsService.Mutate を使用します。
バージョン固有の違い
リソースを変更する場合は、サポートされている Google Ads API バージョン間の次の違いに注意してください。
- ライフサイクル目標サービス: 顧客維持目標は、標準の繰り返し
operationsフィールドを使用して、GoalService.MutateGoals(retention_goal_settings)とCampaignGoalConfigService.MutateCampaignGoalConfigs(campaign_retention_settings)を介して、サポートされているすべてのバージョンで変更されます。v25 以降では、新規顧客の獲得(new_customer_acquisition_goal_settings/campaign_new_customer_acquisition_settings)とロイヤルティの維持(loyalty_retention_goal_settings/campaign_loyalty_retention_settings)もGoalService.MutateGoalsとCampaignGoalConfigService.MutateCampaignGoalConfigsを介して変更されます。これは、v23 と v24 の新規顧客の獲得で使用され、単一のoperationフィールドを受け入れるCustomerLifecycleGoalService.ConfigureCustomerLifecycleGoalsとCampaignLifecycleGoalService.ConfigureCampaignLifecycleGoalsを置き換えるものです。