1. Introduzione
Cosa creerai
In questo codelab imparerai a generare immagini utilizzando Vertex AI e a 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 utilizzarle in Google Ads
Che cosa ti serve
- Account Google Ads
- Account Google Cloud
2. Ottieni le credenziali di Google Ads
Questa parte è necessaria per ottenere gli asset immagine da Google Ads. Per accedere a Google Ads da Colab, devi disporre delle credenziali corrette.
Crea credenziali -> Crea "ID client OAuth" -> Applicazione web
Per ottenere le credenziali corrette per connettere Google Ads, devi accedere alle credenziali Cloud.
Se non hai configurato la schermata per il consenso, configura prima la schermata per il consenso.
- Tipo di utente: esterno
- Stato di pubblicazione: in produzione

Aggiungi il seguente URI a "URI di reindirizzamento autorizzati"
Inserisci l'URI riportato di seguito come nello screenshot.
https://developers.google.com/oauthplayground

Copia l'ID client e il client secret
Puoi ottenere l'ID client e il client secret.

3. Genera il token di aggiornamento
Accedi a OAuth Playground
Puoi emettere 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. 

Aggiungi l'ambito
Puoi aggiungere l'ambito https://www.googleapis.com/auth/adwords nell'area sottostante.

Fai clic su Autorizza API e vedrai la schermata successiva.
Genera il token di aggiornamento
Fai clic su "Scambia codice di autorizzazione per i token" e vedrai il token di aggiornamento.

4. Prepara Colab per l'esecuzione del codice
Colab è il pratico notebook di codice fornito con Python. L'opzione predefinita offre una quantità di potenza di calcolo piuttosto generosa. Puoi anche utilizzare qualsiasi piattaforma per chiamare l'API REST di Google Cloud Vertex AI.
Visita il sito https://colab.research.google.com/ per utilizzarlo.
Vai a [File → Nuovo notebook] e inizia a scrivere nuovi codici.

Se fai clic su Nuovo notebook, vedrai il nuovo foglio pronto per l'uso.
5. Genera immagini tramite Google Cloud Vertex AI
Importa le librerie
!pip install requests google-ads
Innanzitutto, installa le librerie per Google Ads e le richieste API. Dopo aver installato le librerie, devi riavviare il runtime.
Puoi anche caricare le librerie essenziali.
import requests
import json
import base64
from google.ads import googleads
from google.colab import auth
from IPython.display import display, Image
Ottieni l'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 eseguito l'autorizzazione, puoi chiamare le API Cloud di Google.
6. Genera immagini da Vertex AI
Prepara il prompt e la richiesta POST
Innanzitutto, devi disporre dell'ID progetto cloud Google. Puoi ottenerlo da Google Cloud. Ti serve 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.
Puoi scrivere qualsiasi cosa all'interno del prompt di testo. In questo caso, vogliamo generare le immagini che mostrano un gatto e un computer insieme 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 il file JSON è pronto, puoi richiedere la generazione di immagini. Di seguito è riportata la richiesta HTTP tipica.
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 aspetti qualche secondo, riceverai il risultato. È molto semplice.

7. Connettiti a Google Ads
Connettiti al tuo account Google Ads
Ti serve un token sviluppatore di Google Ads. Puoi richiedere un token sviluppatore di base o standard, ma a scopo di test è disponibile anche un token di test. Vai al tuo account amministratore. Nella scheda Strumenti e impostazioni, vedrai il Centro API. Nella sezione API troverai il tuo token.
L'ID client, il client secret e i token di aggiornamento devono 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. L'ID cliente è in genere nel 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"
Esegui query sull'account Google Ads
Ora puoi eseguire test con googleads_service. Eseguiamo una query per scoprire quali tipi di asset sono presenti 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)
Vedrai l'elenco degli asset nell'account Google Ads in formato JSON. Se vedi qualcosa di simile a
ad_group_ad {
`images { asset: "customers/1234567890/assets/09876543210" }`
}
8. Carica l'asset immagine su Google Ads
Carica
Nell'ultimo passaggio, caricheremo gli asset generati su 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 qualche secondo, potrai controllare l'asset caricato tramite il frontend di Google Ads. Ecco uno screenshot di esempio.

9. Complimenti
Complimenti, hai generato correttamente asset immagine di alta qualità dall'immagine esistente.
Cosa hai imparato
- Come generare asset immagine tramite l'AI generativa (Vertex AI)
- Come caricare immagini su Google Ads e utilizzarle come asset immagine