1. Einführung
Inhalt
In diesem Codelab erfahren Sie, wie Sie mit Vertex AI Bilder generieren und an Google Ads senden, damit sie als Bild-Assets in den Kampagnen verwendet werden können.
Aufgaben in diesem Lab
- Bilder aus der GCP und Vertex AI generieren
- Bilder in Google Ads hochladen
- Verwendung in Google Ads
Voraussetzungen
- Google Ads-Konto
- GCP-Konto
2. Anmeldedaten für Google Ads abrufen
Dieser Teil ist erforderlich, um Bild-Assets aus Google Ads abzurufen. Für den Zugriff auf Google Ads über Colab benötigen Sie die richtigen Anmeldedaten.
Anmeldedaten erstellen -> OAuth-Client-ID erstellen -> Webanwendung
Damit Sie die richtigen Anmeldedaten zum Verbinden mit Google Ads erhalten, müssen Sie auf Cloud-Anmeldedaten zugreifen.
Wenn Sie den Zustimmungsbildschirm noch nicht konfiguriert haben, richten Sie ihn zuerst ein.
- Nutzertyp: extern
- Veröffentlichungsstatus: In Produktion
Fügen Sie den folgenden URI zu „Autorisierte Weiterleitungs-URIs“ hinzu.
Tragen Sie den URI wie im Screenshot unten ein.
https://developers.google.com/oauthplayground
Client-ID und Clientschlüssel kopieren
Sie können die Client-ID und den Clientschlüssel abrufen.
3. Aktualisierungstoken generieren
Zugriff auf OAuth Playground
Im OAuth Playground können Sie ganz einfach ein temporäres Aktualisierungstoken ausgeben.
Rufen Sie die Einstellungen auf und aktivieren Sie die Option „Eigene OAuth-Anmeldedaten verwenden“. Nachdem Sie die OAuth-Client-ID und den Clientschlüssel aus dem vorherigen Kapitel erworben haben, können Sie diese in die entsprechenden Textfelder einfügen.
Bereich hinzufügen
Sie können den Bereich https://www.googleapis.com/auth/adwords in den Bereich unten hinzufügen.
Klicken Sie auf „Authorize APIs“ (APIs autorisieren), um den nächsten Bildschirm zu sehen.
Aktualisierungstoken generieren
Klicken Sie auf „Autorisierungscode gegen Tokens austauschen“, um das Aktualisierungstoken anzuzeigen.
4. Colab für die Codeausführung vorbereiten
Colab ist das praktische Codenotebook in Python. Die Standardoption bietet eine relativ großzügige Rechenleistung. Sie können auch eine beliebige Plattform verwenden, um die REST API von Google Cloud Vertex AI aufzurufen.
Rufen Sie https://colab.research.google.com/ auf, um sie zu verwenden.
Gehen Sie zu [Datei → Neue Notiz] und beginnen Sie mit dem Schreiben neuer Codes.
Wenn Sie auf Neues Notizbuch klicken, wird das neue Tabellenblatt angezeigt.
5. Bild mit Vertex AI von Google Cloud generieren
Bibliotheken importieren
!pip install requests google-ads
Installieren Sie zuerst Bibliotheken für Google Ads und API-Anfragen. Sie müssen die Laufzeit nach der Installation der Bibliotheken neu starten.
Sie können auch wichtige Bibliotheken laden.
import requests
import json
import base64
from google.ads import googleads
from google.colab import auth
from IPython.display import display, Image
Authentifizierung erhalten
Sie werden aufgefordert, Ihr Google-Konto zu autorisieren.
auth.authenticate_user()
access_token = !gcloud auth print-access-token
access_token = access_token[0]
Nach der Autorisierung können Sie Google Cloud APIs aufrufen.
6. Bild aus Vertex AI generieren
Prompt und POST-Anfrage vorbereiten
Zuerst sollten Sie Ihre Google Cloud-Projekt-ID zur Hand haben. Sie können sie von Google Cloud abrufen. Sie benötigen einen Text-Prompt und können festlegen, wie viele Bilder Sie benötigen. Weitere Optionen finden Sie in der offiziellen Dokumentation.
PROJECT_ID = 'abcdefg' # Your GCP project ID
TEXT_PROMPT = 'cat computer' # Your prompt goes here.
IMAGE_COUNT = 4 # You will get 4 images as a result.
In den Text-Prompt kannst du einen beliebigen Text eingeben. Hier wollen wir die Bilder generieren, auf denen Katze und Computer in einem einzigen Bild zu sehen sind.
url = f"https://us-central1-aiplatform.googleapis.com/v1/projects/{PROJECT_ID}/locations/us-central1/publishers/google/models/imagegeneration:predict"
headers = {
"Authorization": f"Bearer {access_token}",
"Content-Type": "application/json; charset=utf-8"
}
data = {
"instances": [
{
"prompt": TEXT_PROMPT
}
],
"parameters": {
"sampleCount": IMAGE_COUNT
}
}
Bildgenerierung anfordern
Sobald Sie für die JSON-Datei bereit sind, können Sie die Bildgenerierung anfordern. Unten sehen Sie eine typische HTTP-Anfrage.
response = requests.post(url, headers=headers, data=json.dumps(data))
if response.status_code == 200:
response_data = response.json()
for prediction in response_data.get('predictions', []):
image_data = base64.b64decode(prediction['bytesBase64Encoded'])
display(Image(data=image_data))
else:
print("Request failed:", response.status_code, response.text)
Wenn Sie einige Sekunden warten, erhalten Sie das Ergebnis. Sehr einfach!
7. Google Ads optimal nutzen
Verknüpfung mit Ihrem Google Ads-Konto herstellen
Sie benötigen ein Entwickler-Token von Google Ads. Sie können ein einfaches oder ein Standard-Entwicklertoken beantragen, aber für Testzwecke ist auch ein Testtoken verfügbar. Rufen Sie Ihr Kundencenterkonto auf. Auf dem Tab „Tools und Einstellungen“ finden Sie das API-Center. Im API-Bereich finden Sie dort Ihr Token.
Client-ID, Clientschlüssel und Aktualisierungstoken sollten aus dem vorherigen Kapitel stammen.
credentials = {
"developer_token": "ABCDEFG",
"client_id": "123456789012-abcd1234.apps.googleusercontent.com",
"client_secret": "GOCSPX-abcd1234-abcd1234-abcd1234",
"refresh_token": "1//abcdefghijklmnopqrstuvwxyz",
"use_proto_plus": True
}
Nachdem Sie die Anmeldedaten festgelegt haben, können Sie die GoogleAdsService API laden. Die Kundennummer hat normalerweise das Format xxx-xxxx-xxx. Sie sollten „-“ jedoch weglassen.
client = googleads.client.GoogleAdsClient.load_from_dict(credentials, version='v13')
googleads_service = client.get_service("GoogleAdsService")
customer_id = "1234567890"
Google Ads-Konto wird abgefragt
Jetzt können Sie es mit „googleads_service“ testen. Sehen wir uns an, welche Art von Assets das Google Ads-Konto enthält.
query = (
'''
SELECT
ad_group_ad.ad.id,
ad_group_ad.ad.app_ad.headlines,
ad_group_ad.ad.app_ad.descriptions,
ad_group_ad.ad.app_ad.images
FROM ad_group_ad
''')
response = googleads_service.search(customer_id=customer_id, query=query)
for googleads_row in response:
print(googleads_row)
Die Liste der Assets wird im Google Ads-Konto im JSON-Format angezeigt. Wenn Sie eine Meldung wie
ad_group_ad {
`images { asset: "customers/1234567890/assets/09876543210" }`
}
8. Bild-Asset in Google Ads hochladen
Hochladen
Im letzten Schritt laden wir die generierten Assets in Google Ads hoch.
for prediction in response_data.get('predictions', []):
image_base64 = prediction['bytesBase64Encoded']
image_bytes = base64.b64decode(image_base64)
asset_service = client.get_service('AssetService')
asset_operation = client.get_type('AssetOperation')
asset = asset_operation.create
asset.type_ = client.enums.AssetTypeEnum.IMAGE
asset.image_asset.data = image_bytes
asset.name = "cats"
asset_service.mutate_assets(customer_id=customer_id, operations=[asset_operation])
Nach wenigen Sekunden können Sie das hochgeladene Asset im Google Ads-Frontend überprüfen. Hier ist der Beispiel-Screenshot.
9. Glückwunsch
Sie haben mit dem vorhandenen Bild erfolgreich ansprechende Bild-Assets erstellt.
Sie haben gelernt,
- Bild-Assets mit generativer KI (Vertex AI) generieren
- Bilder in Google Ads hochladen und als Bild-Assets verwenden