API-Struktur

Video: Sehen Sie sich das Gespräch zu Diensten und Ressourcen vom Workshop 2019 an

In diesem Leitfaden werden die Hauptkomponenten der Google Ads API vorgestellt. Die Die Google Ads API besteht aus Ressourcen und Diensten. Eine Ressource stellt eine Google Ads- Entität, während Google Ads-Entitäten mithilfe von Diensten abgerufen und bearbeitet werden.

Objekthierarchie

Ein Google Ads-Konto kann als Hierarchie von Objekten betrachtet werden.

Kampagnenmodell

  • Die oberste Ressource eines Kontos ist der Kunde sein.

  • Jeder Kunde enthält mindestens einen aktiven Kampagnen.

  • Jede Kampagne enthält eine oder mehrere Anzeigengruppen. um Ihre Anzeigen in logischen Sammlungen zu gruppieren.

  • Eine Anzeige in einer Anzeigengruppe ist eine Anzeige, die Sie ausgeführt wird. Außer bei App-Kampagnen, die nur eine Anzeigengruppe pro Anzeige enthalten können enthält, enthält jede Anzeigengruppe mindestens eine Anzeigengruppe.

Sie können ein oder mehrere AdGroupCriterion anhängen oder CampaignCriterion auf eine Anzeigengruppe oder Kampagne. Diese stellen Kriterien dar, die festlegen, wie Anzeigen ausgelöst werden.

Es gibt viele Kriteriumstypen. etwa Keywords, Altersgruppen und Standorte. In der Kampagne definierte Kriterien auf alle anderen Ressourcen in der Kampagne. Sie können auch angeben, kampagnenweite Budgets und Termine.

Schließlich können Sie am Ende der Seite Erweiterungen Konto-, Kampagnen- oder Anzeigengruppenebene. Mit Erweiterungen können Sie Informationen zu Ihren Anzeigen hinzufügen, wie Telefonnummer, Adresse oder Werbung.

Ressourcen

Ressourcen repräsentieren die Entitäten in Ihrem Google Ads-Konto. Campaign und AdGroup sind zwei Beispiele. von Ressourcen.

Objekt-IDs

Jedes Objekt in Google Ads wird durch eine eigene ID identifiziert. Einige dieser IDs sind weltweit eindeutig über alle Google Ads-Konten hinweg, während andere nur innerhalb in einen begrenzten Umfang.

Objekt-ID Umfang der Eindeutigkeit Global einzigartig?
Budget-ID Global Ja
Kampagnen-ID Global Ja
Anzeigengruppen-ID Global Ja
Anzeigen-ID Anzeigengruppe Nein, aber das (AdGroupId, AdId)-Paar ist global eindeutig
ID des Anzeigengruppenkriteriums Anzeigengruppe Nein, aber das (AdGroupId, CriterionId)-Paar ist global eindeutig
ID des Kampagnenkriteriums Kampagne Nein, aber das (CampaignId, CriterionId)-Paar ist global eindeutig
Anzeigenerweiterungen Kampagne Nein, aber das (CampaignId, AdExtensionId)-Paar ist global eindeutig
Feed-ID Global Ja
ID des Feedelements Global Ja
Feed-Attribut-ID Feed Nein
Feed-Mapping-ID Global Ja
Label-ID Global Ja
Nutzerlisten-ID Global Ja

Diese ID-Regeln können hilfreich sein, wenn Sie den lokalen Speicher für Ihre Google Ads-Kampagnen entwerfen. Objekte.

Einige Objekte können für mehrere Entitätstypen verwendet werden. In solchen Fällen wird das Objekt enthält ein type-Feld, das den Inhalt beschreibt. Beispiel: AdGroupAd kann auf ein Objekt wie eine Textanzeige verweisen, Hotelanzeige oder lokale Anzeige. Auf diesen Wert kann über die AdGroupAd.ad.type und gibt einen Wert im Feld AdType-Enum.

Ressourcennamen

Jede Ressource wird eindeutig durch einen resource_name-String identifiziert, der verkettet die Ressource und ihre übergeordneten Elemente zu einem Pfad. Beispiel: Kampagne Ressourcennamen haben das folgende Format:

customers/customer_id/campaigns/campaign_id

Für eine Kampagne mit der ID 987654 im Google Ads-Konto mit der Kundennummer 1234567 wäre der resource_name:

customers/1234567/campaigns/987654

Dienste

Mit Diensten können Sie Ihre Google Ads-Entitäten abrufen und ändern. Es gibt drei Arten von von Diensten: Änderung, Objekt- und Statistikabruf sowie Metadatenabruf. .

Objekte ändern (mutate)

Diese Dienste ändern Instanzen eines verknüpften Ressourcentyps mithilfe einer mutate Sie liefern außerdem eine get-Anfrage, mit der eine einzelne Ressource abgerufen wird -Instanz, die bei der Untersuchung der Struktur einer Ressource nützlich sein kann.

Beispiele für Dienste:

Jede mutate-Anfrage muss entsprechende operation-Objekte enthalten. Für Beispiel: Die Methode CampaignService.MutateCampaigns erwartet mindestens Instanzen von CampaignOperation. Weitere Informationen finden Sie unter Objekte ändern und prüfen ausführlicher über Operationen.

Gleichzeitige Änderungen

Ein Google Ads-Objekt kann nicht gleichzeitig von mehr als einer Quelle geändert werden. Dieses Es können Fehler auftreten, wenn mehrere Nutzer dasselbe Objekt mit Ihrer App verknüpfen oder wenn Sie Google Ads-Objekte parallel mithilfe mehrerer Threads. Dazu gehört auch das Aktualisieren des Objekts von mehreren Threads im selben oder aus verschiedenen Anwendungen (z. B. Ihrer App und einem gleichzeitig durchgeführte Sitzung auf der Google Ads-Benutzeroberfläche.

Die API bietet keine Möglichkeit, ein Objekt vor der Aktualisierung zu sperren. wenn zwei Quellen gleichzeitig versuchen, ein Objekt zu ändern, löst die API den Fehler DatabaseError.CONCURRENT_MODIFICATION_ERROR

Asynchrone und synchrone „mutate“-Vorgänge

Die mutate-Methoden der Google Ads API sind synchron. API-Aufrufe geben nur eine Antwort zurück nach dem Ändern der Objekte, sodass Sie für jedes Objekt auf eine Antwort warten müssen. Dieser Ansatz lässt sich zwar relativ einfach programmieren, sich negativ auf das Load-Balancing und die Ressourcenverschwendung auswirken, wenn Prozesse gezwungen werden, auf den Abschluss der Anrufe warten.

Alternativ können Sie Objekte asynchron mit BatchJobService, die Batches von Vorgänge für mehrere Dienste ausführen, ohne auf deren Abschluss warten zu müssen. Sobald ein gesendet wird, führen Google Ads API-Server Vorgänge asynchron aus und Prozesse für andere Vorgänge freigegeben. Sie können regelmäßig prüfen, für den Abschluss des Jobs angezeigt.

Im Leitfaden zur Batch-Verarbeitung finden Sie weitere Informationen: asynchrone Verarbeitung.

mutate-Validierung

Die meisten mutate-Anfragen können validiert werden, ohne den Aufruf tatsächlich auszuführen mit echten Daten vergleichen. Sie können die Anfrage auf fehlende Parameter und falsche ohne den Vorgang auszuführen.

Wenn Sie diese Funktion verwenden möchten, setzen Sie das optionale boolesche Feld validate_only der Anfrage auf true. Die Anfrage wird dann vollständig validiert, als ob sie aber die endgültige Ausführung wird übersprungen. Wenn keine Fehler gefunden werden, ist ein leeres -Antwort zurückgegeben. Wenn die Validierung fehlschlägt, die Fehlerquellen anzeigen.

validate_only ist besonders hilfreich beim Testen von Anzeigen im Hinblick auf eine gemeinsame Richtlinie. Verstöße. Anzeigen werden automatisch abgelehnt, wenn sie gegen folgende Richtlinien verstoßen: Bestimmte Wörter, Satzzeichen, Großschreibung oder Länge Eine einzelne unzulässige Anzeige kann dazu führen, dass ein gesamter Batch fehlschlägt. Neue Anzeige in einem validate_only testen solche Verstöße aufdecken können. Weitere Informationen finden Sie im Codebeispiel für die Verarbeitung von Fehler aufgrund von Richtlinienverstößen, um zu sehen, in Aktion sehen.

Objekte und Leistungsstatistiken abrufen

GoogleAdsService ist die einzelne, einheitliche Dienst zum Abrufen von Objekten und Leistungsstatistiken

Alle Search- und SearchStream-Anfragen für GoogleAdsService erfordern eine Abfrage, die die Ressource angibt, die die Ressourcenattribute und Leistungsmesswerte, die abgerufen werden sollen, Prädikate zum Filtern der Anfrage und die Segmente, mit denen weitere Aufschlüsselung der Leistungsstatistiken. Weitere Informationen zum Abfrageformat finden Sie im Leitfaden zur Google Ads Query Language.

Metadaten abrufen

GoogleAdsFieldService Abrufe zu Ressourcen in der Google Ads API, wie z. B. die verfügbaren Attribute für eine Ressource und ihrem Datentyp.

Dieser Dienst stellt Informationen bereit, die zum Erstellen einer Abfrage für GoogleAdsService Der Einfachheit halber enthält der Informationen zurückgegeben, die von GoogleAdsFieldService ist auch verfügbar in der Referenzdokumentation zu Feldern.