リソースの専用サービスを使用することは、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 フィールドは繰り返されるため、単一のリクエストに、そのリソースタイプの複数のオペレーション(リクエストあたり最大 10,000 件のオペレーション)を含めることができます。デフォルトでは、partial_failure を true に設定しない限り、リクエスト内のすべてのオペレーションがアトミックに実行されます。
ただし、個々のリソース サービスには次の 2 つの重要な制限があります。
- 単一のリソースタイプ: リソース サービスへのリクエストは、その特定のサービスによって管理されるリソースのみを変更できます。
- 一時リソース ID や相互参照がない: リソース固有の mutate 呼び出しのオペレーションは個別に処理されます。一時的な負の ID(
customers/CUSTOMER_ID/campaigns/-1など)を割り当てたり、同じリクエスト内の他のオペレーションから新しく作成されたエンティティを参照したりすることはできません。
1 つのリクエストで複数のリソースタイプを変更する必要がある場合や、依存オペレーション間で一時リソース名を参照する必要がある場合は、代わりに GoogleAdsService.Mutate を使用します。
バージョン固有の違い
リソースを変更する場合は、サポートされている Google Ads API バージョン間の次の違いに注意してください。
- ライフサイクル目標サービス: v25 以降では、新規顧客の獲得(
new_customer_acquisition_goal_settings)、顧客維持(retention_goal_settings)、ロイヤリティ維持(loyalty_retention_goal_settings)を含むすべてのライフサイクル目標が、標準の繰り返しoperationsフィールドを使用してGoalService.MutateGoalsとCampaignGoalConfigService.MutateCampaignGoalConfigsを介して変更されます。これは、CustomerLifecycleGoalService.ConfigureCustomerLifecycleGoalsとCampaignLifecycleGoalService.ConfigureCampaignLifecycleGoals(v24 以前の新規顧客の獲得で使用され、単一のoperationフィールドを受け入れる)に代わるものです。 - キャンペーンの日付と時刻のフィールド:
Campaignを作成または更新する場合、v23 以降ではstart_date_timeとend_date_time(yyyy-MM-dd HH:mm:ss)が使用されます。これにより、v22 で使用されていた日付のみのstart_dateフィールドとend_dateフィールドが置き換えられます。 - 合成コンテンツの構成証明の可変性:
Asset.synthetic_content_infoとAd.synthetic_content_infoは v22 以降のスキーマに表示されますが、synthetic_content_info.advertiser_attestation.statusフィールドとsynthetic_content_info.advertiser_attestation.sourceフィールドは v23 以降でのみ変更可能です(system_attestationは常にOUTPUT_ONLYです)。v22 でadvertiser_attestationサブフィールドを変更しようとすると、変更不可フィールド エラー("The field attempted to be mutated is immutable"または"Field cannot be set")が返されます。