1. Pengantar
Yang akan Anda bangun
Dalam codelab ini, Anda akan mempelajari cara membuat gambar menggunakan Vertex AI dan mengirimkannya ke Google Ads sehingga aset dapat digunakan sebagai aset gambar dalam kampanye.
Yang akan Anda pelajari
- Cara membuat gambar dari GCP, Vertex AI
- Cara mengupload gambar ke Google Ads
- Cara menggunakannya di Google Ads
Yang Anda butuhkan
- Akun Google Ads
- Akun GCP
2. Mendapatkan kredensial Google Ads
Bagian ini diperlukan untuk mendapatkan aset gambar dari Google Ads. Untuk mengakses Google Ads dari Colab, Anda memerlukan kredensial yang tepat.
Create credentials -> Create 'OAuth client ID' -> Web Application
Untuk mendapatkan kredensial yang tepat untuk menghubungkan Google Ads, Anda perlu mengakses Kredensial cloud.
Jika Anda belum mengonfigurasi layar izin, siapkan layar izin terlebih dahulu.
- Jenis pengguna: Eksternal
- Status publikasi: Dalam produksi

Tambahkan URI berikut ke 'URI pengalihan yang sah'
Masukkan URI di bawah seperti screenshot di bawah.
https://developers.google.com/oauthplayground

Menyalin Client ID dan rahasia klien
Anda bisa mendapatkan client ID dan rahasia klien.

3. Buat Token Refresh
Akses ke OAuth Playground
Anda dapat dengan mudah menerbitkan token refresh sementara di OAuth Playground.
Buka setelan, lalu centang ‘Gunakan kredensial OAuth Anda sendiri'. Setelah mendapatkan client ID dan rahasia klien OAuth dari bab sebelumnya, Anda dapat memasukkannya ke dalam kotak teks yang sesuai. 

Tambahkan cakupan
Anda dapat menambahkan cakupan https://www.googleapis.com/auth/adwords ke area di bawah.

Klik Authorize APIs, dan Anda akan melihat layar berikutnya.
Membuat Token Refresh
Klik 'Exchange authorization code for tokens', dan Anda akan melihat token refresh.

4. Menyiapkan Colab untuk mengeksekusi kode
Colab adalah notebook kode praktis yang dilengkapi dengan Python. Opsi default menyediakan daya komputasi yang cukup besar. Anda juga dapat menggunakan platform apa pun untuk memanggil REST API Vertex AI Google Cloud.
Buka https://colab.research.google.com/ untuk menggunakannya.
Buka [File → Catatan baru] dan mulai tulis kode baru.

Jika Anda mengklik Notebook Baru, Anda akan melihat sheet baru yang siap digunakan.
5. Membuat Gambar melalui Vertex AI Google Cloud
Mengimpor library
!pip install requests google-ads
Pertama, Instal library untuk Google Ads, dan permintaan API. Anda perlu memulai ulang runtime setelah menginstal library.
Anda juga dapat memuat library penting.
import requests
import json
import base64
from google.ads import googleads
from google.colab import auth
from IPython.display import display, Image
Get Authentication
Anda akan diminta untuk mengizinkan Akun Google Anda.
auth.authenticate_user()
access_token = !gcloud auth print-access-token
access_token = access_token[0]
Setelah memberikan otorisasi, Anda siap memanggil Google Cloud API.
6. Membuat gambar dari Vertex AI
Menyiapkan perintah dan permintaan POST Anda
Pertama, Anda harus memiliki project ID Google Cloud. Anda bisa mendapatkannya dari Google Cloud. Anda memerlukan perintah teks, dan Anda juga dapat menetapkan jumlah gambar yang Anda butuhkan. Untuk opsi lainnya, lihat dokumentasi resmi.
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.
Anda dapat menulis apa pun di dalam perintah teks. Di sini, kita ingin membuat gambar yang menampilkan kucing dan komputer bersama-sama dalam satu gambar.
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
}
}
Meminta pembuatan gambar
Setelah siap untuk json, Anda kini dapat meminta pembuatan gambar. Berikut adalah permintaan http standar.
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)
Jika Anda menunggu beberapa detik, Anda akan mendapatkan hasilnya. Sangat mudah.

7. Terhubung ke Google Ads
Menghubungkan ke Akun Google Ads Anda
Anda memerlukan token developer dari Google Ads. Anda dapat mengajukan permohonan token dev dasar atau standar, tetapi untuk tujuan pengujian, token pengujian juga tersedia. Buka akun MCC Anda. Di tab alat dan setelan, Anda akan melihat pusat API. Di bagian API, Anda akan menemukan token Anda di sana.
Client ID, rahasia klien, dan token refresh harus siap di bab sebelumnya.
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
}
Setelah menyetel kredensial, Anda dapat memuat GoogleAdsService API. ID pelanggan biasanya dalam format xxx-xxxx-xxx, tetapi Anda harus menghapus '-'.
client = googleads.client.GoogleAdsClient.load_from_dict(credentials, version='v13')
googleads_service = client.get_service("GoogleAdsService")
customer_id = "1234567890"
Mengirim Kueri Akun Google Ads
Sekarang, Anda dapat melakukan pengujian dengan googleads_service. Mari kita kueri jenis aset yang kita miliki di akun 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)
Anda akan melihat daftar aset di akun Google Ads dalam format json. Jika Anda melihat sesuatu seperti
ad_group_ad {
`images { asset: "customers/1234567890/assets/09876543210" }`
}
8. Mengupload Aset Gambar ke Google Ads
Mengupload
Untuk langkah terakhir, kita akan mengupload aset yang dibuat ke 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])
Setelah beberapa detik, Anda akan dapat memeriksa aset yang diupload melalui Frontend Google Ads. Berikut contoh screenshot-nya.

9. Selamat
Selamat, Anda telah berhasil membuat aset gambar yang indah dari gambar yang ada.
Anda telah mempelajari
- Cara membuat aset gambar melalui AI generatif (Vertex AI)
- Cara mengupload gambar ke Google Ads dan menggunakannya sebagai aset gambar