Die Google Ads API bietet je nach Anwendungsfall mehrere Möglichkeiten, Ressourcen zu ändern:
- Änderungen am Ressourcendienst: Jede änderbare Ressource hat einen dedizierten Dienst, der Vorgänge für diesen bestimmten Ressourcentyp ausführt. Die Ressource
Campaignverwendet beispielsweise den EndpunktCampaignService.MutateCampaigns, um Kampagnen zu erstellen, zu aktualisieren oder zu entfernen. - Bulk-Mutates: Der Endpunkt
GoogleAdsService.Mutatefasst eine Sequenz von Mutate-Vorgängen für mehrere Ressourcentypen (und unterstützte Aktionsvorgänge wie das Buchen oder Erstellen von Angeboten für Kampagnen) in einer einzigen synchronen Anfrage zusammen. - Asynchrone Batchjobs: Für umfangreiche Mutationen oder lang laufende Arbeitslasten führt
BatchJobServiceVorgänge asynchron aus, ohne dass Zeitüberschreitungen bei synchronen Anfragen auftreten. Im Gegensatz zuGoogleAdsService.MutatewirdBatchJobServiceimmer mit Semantik für Teilausfälle ausgeführt und unterstützt weder denvalidate_only-Modus noch Aktionsvorgänge (book_campaigns_operation,quote_campaigns_operation). Da Teilausfälle immer aktiv sind, lehntBatchJobServiceRessourcenvorgänge, deren zugrunde liegende Dienste keine Teilausfälle unterstützen (z. B.CustomerOperation,CampaignConversionGoalOperation,ConversionGoalCampaignConfigOperation,CustomConversionGoalOperationundCustomerConversionGoalOperation), mitMutateError.OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILUREab.
Vorteile von Bulk-Mutates
Die Verwendung von GoogleAdsService.Mutate bietet die folgenden Vorteile (siehe Best Practices für Mutate für Implementierungshinweise):
- Gruppierte Aktionen für verschiedene Ressourcendienste: Während einzelne Ressourcendienstaufrufe nur Vorgänge für einen einzelnen Ressourcentyp akzeptieren, können Sie mit
GoogleAdsService.Mutatemehrere Ressourcentypen in einem Aufruf ändern. - Temporäre Ressourcennamen: Sie können neu erstellten übergeordneten Entitäten negative Ganzzahl-IDs (z. B.
customers/CUSTOMER_ID/campaigns/-1) zuweisen und diese temporären IDs in untergeordneten Vorgängen innerhalb derselben Anfrage referenzieren.
Mit diesen Funktionen können Sie mit GoogleAdsService.Mutate eine gesamte Kampagnenhierarchie unteilbar erstellen, sodass alle Vorgänge entweder erfolgreich sind oder fehlschlagen. Alternativ können Sie partial_failure auf true festlegen, um gültige Vorgänge unabhängig voneinander zu bestätigen.