Skip to content

πŸš€ Adios: One-stop solution for Google Ads image assets management

License

Apache-2.0 and 2 other licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
license-config.json
Unknown
license-header.txt
Notifications You must be signed in to change notification settings

google-marketing-solutions/adios

adios logo

Adios: One-stop solution for Google Ads image assets management

GitHub last commit GitHub Release Code Style: Google GitHub License Contributors

adios_pitch_for_github.mp4

Overview

Adios is an open-source solution that can generate and/or upload image assets for your Ad Groups. If you already have images Adios will be able to upload them to the Google Ads asset library and link to the corresponding ad groups in bulk. If you don't, then Adios will use AI to generate personalized images based on the specified ad group context (e.g. based on the ad group name).

To generate images Adios uses the recent Imagen model on Google Cloud's Vertex AI platform.

Case Study

You can find Adios case study in German (or you can try Google Translate version, just select your preferred language in the top menu).

The Challenge

Many Google Ads customers have a very granular ads account structure with thousands (sometimes millions) of ad groups (each ad group has a very specific/niche topic). Their marketing teams might have hard times when they want to upload personalized image extensions to all those ad groups. More specifically the challenges are to:

  • Get high quality relevant image assets for each ad group topic
  • Ads UI does not provide an easy way to upload and manage image assets on this large scale

The Approach

Our team in a close collaboration with several advertisers developed a custom solution Adios.

The Solution

Here are some of the main features of Adios:

  • generate thousands/millions of images with the help of Generative AI on Google Cloud (please note that with small code changes almost any Gen AI API can be used for this purpose)
  • automatically upload and manage image assets on Google Ads. If you already have the assets, this part can be used separately (without generating images)
  • manually validate generated images (this is optional, in case you want to double check the quality of the generated assets before uploading them to your ads)
  • create Google Ads experiments. For each selected campaign Adios can automatically create an A/B test to check if your new assets perform better compared to the previous setup (in terms of click-through rate)

Releases & features

Adios v1.1

adios_v1.1_whats_new.mp4

Features:

  • Automatic, AI (Gemini) based image policy validation. Now you can write your brand, company, you name it ads policies as a text and the generated image will be validated against those policies.
  • Ad Group names translations. Now you can translate your ad group names (or parts of them) e.g. into better text-to-image prompts.
  • Keyword based image generation. Previously you could generate images only based on the ad group names.

Adios v1.0

Features:

  • Generate image assets (ad group level) based on the ad group names
  • Image validation UI (validate manually generated images before uploading to Google Ads).
  • Upload generated assets to the Google Ads assets library.
  • Link uploaded assets to the respective ad groups.
  • One click creation of the Google Ads experiments to test performance of the uploaded assets.

Note: these features can be used separately, e.g. you can just upload images to the assets library (if you don't want to generate images, but only to sync your existing assets with your Google Ads account).

Installation Guide

adios_how_to_install.mp4
  1. Make a copy of the template Spreadsheet: Adios v1.1 (in the main menu File > Make a copy). Earlier version: Adios 1.0.

  2. Create or use an existing Google Cloud Platform (GCP) project

  3. On the copied Spreadsheet, open Extensions > Apps Script

  4. Go to Project Settings and change the GCP project. Learn how to determine the project number

  5. Fill in the required configuration in the Spreadsheet, as instructed in the comments

  6. Now you can run or schedule the Adios services using the Adios menu

Assets generation

Notes:

  • this step is not required if you already have the assets.
  • starting from Adios v1.1 you can generate assets based on ad group keywords (check this video).
adios_how_to_generate.mp4

Assets upload and linking to Add Groups

adios_how_to_upload_and_link.mp4

Testing performance of the generated assets

Many advertisers want to measure the impact of adding generated assets. This can be properly done only with an A/B test where the traffic is split between:

  • Variant A: generated assets are added on the ad group level
  • Variant B: previous ads configuration (most probably one of the following: no image assets at all or image assets added on campaign/account level)

Adios can create such tests for you in the form of Google Ads Experiments with a click of a button.

How to implement the experiments

adios_how_to_experiments.mp4
  • Step 1: Generate new image assets, upload them to the assets library and link them to the ad groups (please check the main menu "Adios > Run > ...")
  • Step 2: Create experiments (one for each campaign configured in the Campaign IDs of "Config" sheet) by running "Adios > Run > Create experiments"

As a result you will be able to see newly created experiments in the Experiments section of your Google Ads account.

Keep in mind

  1. Please consider the limitations of Google Ads experiments, especially remember that you can run only one experiment per campaign simultaneously. So if you already have running experiments for the selected campaigns, you won't be able to run a new one for those campaigns. You can check running experiments here.

  2. If you make changes to your original campaign, those changes won’t be reflected on your experiment. Making changes to either your original campaign or experiment while your experiment is running may make it harder to interpret your results.

Using the Validation UI

Adios provides an optional UI for users to check the generated images and approve/reject them before uploading them to the Google Ads account.

adios_how_to_validate.mp4

You can use it as follows:

  1. Ensure that there is a set Validated DIR in the configuration Spreadsheet (e.g. VALIDATED)

    This is the name for the directory in the GCS bucket, where approved images will be saved. Disapproved images will be saved to the directory specified in Disapproved DIR.

  2. In the Spreadsheet, open Extensions > Apps Script

  3. Click Deploy > Test deployments

  4. Open the URL under Web App

You can click the images pending validation (the ones with the yellow status icon) and approve or reject them using the buttons on the top-right.

Development Guide

If you'd like to make your own changes to the solution or contribute to it, you can run the code as follows:

  1. Follow the steps outlined in our Contributing Guide

  2. Clone this repository

    git clone https://github.com/google-marketing-solutions/adios.git
    
  3. Go to the newly created folder

    cd adios
    
  4. Install dependencies

    npm install
    
  5. Make a copy of the template Spreadsheet

  6. On the copied Spreadsheet, open Extensions > Apps Script

  7. Copy the Apps Script ID. For example:

    script.google.com/[...]/projects/<SCRIPT_ID>/edit

  8. Enable the Google Apps Script API (if you haven't done it before) https://script.google.com/home/usersettings

  9. Initialize ASIDE

    npx @google/aside init && rm test/example-module.test.ts
    
    • Don't replace or overwrite any of the files if asked to

    • When prompted for the Script ID, enter the ID you copied in the previous step

    • (optional) If you would like to have a different environment for development and for production, make another copy of the template Spreadsheet and enter the Apps Script ID when prompted for a Script ID for production environment

  10. Build the code

    npm run build
    
  11. (optional) Run the UI locally

    It is possible to run the Angular validation UI locally.

    However, the functions which are supposed to run on the Apps Script back-end (google.script.run) cannot run locally, so there is a mock service for API calls (api-calls.mock.service.ts) which mocks API responses (e.g. from Google Ads API) to test locally.

    Start the UI locally by running:

    npm run serve-ui
    
  12. Deploy to Apps Script

    To deploy to the development environment run

    npm run deploy
    

    (optional) To deploy to the production environment run

    npm run deploy:prod
    

Disclaimer

This is not an official Google product.