Wie in der Anleitung zur API-Struktur beschrieben, hat jede Ressource der obersten Ebene in der Google Ads API einen entsprechenden dienstspezifischen Ressourcentyp, der das Ändern von Instanzen der Ressource unterstützt.
In diesem Leitfaden wird CampaignService
verwendet, um die Änderung von Campaign
-Objekten zu demonstrieren. Die gleichen Konzepte gelten jedoch für alle anderen ressourcentypspezifischen Dienste.
Objekte ändern
Jeder dienstspezifische Dienst für Ressourcentypen hat eine mutate-Methode, die eine Mutationsanfrage akzeptiert. Diese Anfrage besteht aus:
- Ein
customerId
- Eine Sammlung von Vorgängen
- Eine Einstellung für den Antwort-Content-Type, die bestimmt, ob nach der Änderung die veränderliche Ressource oder nur der Ressourcenname zurückgegeben werden soll.
Die Methode MutateCampaigns
von CampaignService
akzeptiert beispielsweise ein MutateCampaignsRequest
, das aus Folgendem besteht:
- Ein
customerId
- Eine Sammlung von
CampaignOperation
-Objekten - Das Feld
response_content_type
gibt den bevorzugten Antworttyp an.
Vorgänge
Mit einem Vorgangsobjekt wie CampaignOperation
können Sie die Aktion angeben, die Sie für eine einzelne Ressource ausführen möchten, indem Sie das Feld operation
festlegen. Dieses Feld ist ein Oneof-Feld, das aus den folgenden Attributen besteht, deren Typ der Ressourcentyp ist:
create
- Erstellt eine neue Instanz der Ressource.
update
- Aktualisiert die Ressource, sodass sie den Attributen der
update
-Ressource entspricht. Wenn dieses Feld festgelegt ist, müssen Sie auch dasupdate_mask
des Vorgangs festlegen. Dadurch wird der Google Ads API mitgeteilt, welche Attribute während des Aktualisierungsvorgangs geändert werden sollen. Jede Clientbibliothek enthält eine Hilfsmethode, mit der dieupdate_mask
generiert wird. Beispiele finden Sie in unseren Clientbibliotheken. remove
- Entfernt die Ressource.
Da das Feld operation
ein oneof
-Feld ist, können Sie nicht mehrere Objekte mit einem einzigen Vorgang ändern. Wenn Sie beispielsweise eine Kampagne erstellen und eine andere entfernen möchten, fügen Sie Ihrer Anfrage zwei Instanzen von CampaignOperation
hinzu: eine mit create
und eine mit remove
.
Batchvorgänge
Mit einem einzelnen Vorgang kann nur eine einzelne Ressource erstellt, aktualisiert oder entfernt werden. Eine einzelne Mutate-Anfrage kann jedoch mehrere Vorgänge enthalten. Sie sollten Ihre Vorgänge in einer einzigen Mutate-Anfrage kombinieren, anstatt mehrere Mutate-Anfragen zu senden, die jeweils einen einzelnen Vorgang enthalten.
Wenn Sie beispielsweise zehn Kampagnen erstellen möchten, sollten Sie eine einzelne MutateCampaignsRequest
mit zehn CampaignOperation
-Objekten senden.
Antworten ändern
Was in der Antwort zurückgegeben wird, hängt davon ab, was im response_content_type
der Mutate-Anfrage gesendet wurde. Wenn beispielsweise MUTABLE_RESOURCE
angegeben wurde, enthält die Antwort nur die veränderbaren Felder in der Kampagne. Anschließend können Sie Folgeänderungen an diesem Ressourcenobjekt vornehmen, ohne es neu erstellen zu müssen.
Fehler bei Mutationen
Die Vorgänge in einer bestimmten Mutate-Anfrage werden nur dann auf Ihr Google Ads-Konto angewendet, wenn jeder Vorgang in der Anfrage erfolgreich ist. Im Leitfaden zu häufigen Fehlern finden Sie eine Liste häufiger Fehler und Informationen dazu, wie Sie diese beheben können.