1. Introduzione
Cosa creerai
In questo codelab, imparerai a generare immagini utilizzando Vertex AI e inviarle a Google Ads in modo che gli asset possano essere utilizzati come asset immagine nelle campagne.
Cosa imparerai a fare
- Come generare immagini da Google Cloud, Vertex AI
- Come caricare immagini su Google Ads
- Come utilizzarlo in Google Ads
Che cosa ti serve
- Account Google Ads
- Account Google Cloud
2. Ottieni le credenziali Google Ads
Questa parte è necessaria per ottenere asset immagine da Google Ads. Per accedere a Google Ads da Colab, devi disporre delle credenziali corrette.
Crea le credenziali -> Crea un "ID client OAuth" -> Applicazione web
Per ottenere le credenziali appropriate per connettere Google Ads, devi accedere alle credenziali Cloud.
Se non hai configurato la schermata per il consenso, configurala prima.
- Tipo di utente: esterno
- Stato pubblicazione: in produzione
Aggiungi il seguente URI a "URI di reindirizzamento autorizzati"
Inserisci l'URI sotto come mostrato nello screenshot sotto.
https://developers.google.com/oauthplayground
Copia ID client e client secret
Puoi ottenere l'ID client e il client secret.
3. Genera token di aggiornamento
Accesso a OAuth Playground
Puoi inviare facilmente un token di aggiornamento temporaneo in OAuth Playground.
Vai alle impostazioni e seleziona "Utilizza le tue credenziali OAuth". Dopo aver acquisito l'ID client OAuth e il client secret nel capitolo precedente, puoi inserirli nelle caselle di testo corrispondenti.
Aggiungere l'ambito
Puoi aggiungere l'ambito https://www.googleapis.com/auth/adwords nell'area di seguito.
Fai clic su Autorizza API. Verrà visualizzata la schermata successiva.
Genera token di aggiornamento
Fai clic su "Exchange Authorization code for tokens" (Scambia codice di autorizzazione per i token) per visualizzare il token di aggiornamento.
4. Prepara Colab per l'esecuzione del codice
Colab è il pratico blocco note del codice fornito con Python. L'opzione predefinita offre una potenza di calcolo piuttosto generosa. Puoi anche utilizzare qualsiasi piattaforma per chiamare l'API REST di Vertex AI di Google Cloud.
Vai all'indirizzo https://colab.research.google.com/ per utilizzarla.
Vai a [File → Nuova nota] e inizia a scrivere nuovi codici.
Se fai clic su Nuovo blocco note, il nuovo foglio sarà pronto.
5. Genera immagine tramite Vertex AI di Google Cloud
Importa librerie
!pip install requests google-ads
Innanzitutto, installa le librerie per le richieste API e di Google Ads. Dopo aver installato le librerie, devi riavviare il runtime.
Puoi anche caricare librerie essenziali.
import requests
import json
import base64
from google.ads import googleads
from google.colab import auth
from IPython.display import display, Image
Ottenere autenticazione
Ti verrà chiesto di autorizzare il tuo Account Google.
auth.authenticate_user()
access_token = !gcloud auth print-access-token
access_token = access_token[0]
Dopo aver ottenuto l'autorizzazione, puoi chiamare le API Google Cloud.
6. Genera immagine da Vertex AI
Preparare il prompt e la richiesta POST
Innanzitutto, dovresti avere l'ID progetto Google Cloud. Puoi scaricarla da Google Cloud. Hai bisogno di un prompt di testo e puoi anche impostare il numero di immagini di cui hai bisogno. Per ulteriori opzioni, consulta la documentazione ufficiale.
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.
All'interno del prompt di testo puoi scrivere qualsiasi cosa. Qui vogliamo generare le immagini che contengono gatto e computer in un'unica immagine.
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
}
}
Richiedi la generazione di immagini
Quando è tutto pronto per il file JSON, puoi richiedere la generazione dell'immagine. Di seguito è riportata la tipica richiesta http.
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)
Se attendi diversi secondi, otterrai il risultato. Molto semplice.
7. Entra in contatto con Google Ads
Collegati all'account Google Ads
Devi disporre di un token sviluppatore di Google Ads. Puoi richiedere il token dev di base o standard, ma a scopo di test è disponibile anche un token di test. Accedi all'account Centro clienti. Nella scheda Strumenti e impostazioni è presente il Centro API. Il token si trova nella sezione API.
L'ID client, il client secret e i token di aggiornamento dovrebbero essere pronti nel capitolo precedente.
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
}
Dopo aver impostato le credenziali, puoi caricare l'API GoogleAdsService. In genere l'ID cliente ha il formato xxx-xxxx-xxx, ma devi rimuovere "-".
client = googleads.client.GoogleAdsClient.load_from_dict(credentials, version='v13')
googleads_service = client.get_service("GoogleAdsService")
customer_id = "1234567890"
Esecuzione di query sull'account Google Ads
Ora puoi eseguire il test con googleads_service. Eseguiamo una query sul tipo di asset presente nell'account Google Ads.
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)
Verrà visualizzato l'elenco degli asset nell'account Google Ads in formato JSON. Se vedi qualcosa del tipo
ad_group_ad {
`images { asset: "customers/1234567890/assets/09876543210" }`
}
8. Carica asset immagine in Google Ads
Carica
Nell'ultimo passaggio, caricheremo gli asset generati in Google Ads.
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])
Dopo alcuni secondi, potrai controllare l'asset caricato tramite Google Ads Frontend. Ecco lo screenshot di esempio.
9. Complimenti
Congratulazioni, hai generato correttamente asset immagine dall'immagine esistente.
Hai appreso
- Come generare asset immagine tramite l'IA generativa (Vertex AI)
- Come caricare immagini su Google Ads e utilizzarle come asset immagine