Ad Rank Booster helps win the search auction thanks to quality score improvement opposed to bidding levers. Improving such components as landing page experience, ad relevance and expected CTR significantly uplifts their performance and serves a foundation to grow search investment.
Looker Studio dashboard with recommendations on improving performance of search campaigns.
Important
Join arba-readers-external Google group to get access to the dashboard template.
- Credentials for Google Ads API access which stored in
google-ads.yaml. See details here. - A Google Cloud project with billing account attached.
- Vertex AI API enabled.
- Environmental variables specified:
-
Gemini API key to access to access Google Gemini.
export GEMINI_API_KEY=<YOUR_API_KEY_HERE>
-
GOOGLE_CLOUD_PROJECT- points the Google Cloud project with Vertex AI API enabled.export GOOGLE_CLOUD_PROJECT=<YOUR_PROJECT_HERE>
Important
Search keywords and ads processing via Gemini enabled by default.
You can disable it by setting environmental variable export TAGGING_ENABLED=1.
- Install dependencies
pip install -r requirements.txt
- Provide default values in
workflow-config.yaml
bq_project- name of Google Cloud Project.google_ads_account- ID(s) of Google Ads accounts .
Optionally you can provide other parameters:
bq_dataset- name of BigQuery dataset where the AdRank Booster data to be stored (by defaultarba).google_ads_config- path togoogle-ads.yamlfile (by default expected in your home directory).
- Run the following command to start generating data:
garf -w workflow-config.yaml
- Map local files, provide environmental variables and run
docker run \
-v /path/to/google-ads.yaml:/app/google-ads.yaml \
-v /path/to/application_default_credentials.json:/app/service_account.json \
-e GEMINI_API_KEY=$GEMINI_API_KEY \
-e GOOGLE_CLOUD_PROJECT=$GOOGLE_CLOUD_PROJECT \
ghcr.io/google-marketing-solutions/arba:latest \
-a <GOOGLE_ADS_ACCOUNT> -c /app/google-ads.yaml
where:
-a- Google Ads account(s) or MCC(s)-c- Path to google-ads.yaml
You can provide the following ENV variables to customize arba execution.
START_DATE- First date of performance; can be either date (i.e. '2026-01-01') or lookback (:YYYYMMDD-N, where N - number of lookback days).END_DATE- Last date of performance in the same format asSTART_DATE.MIN_COST_SHARE- Share of text ads needs to be processed by Gemini. From 0 to 100.GEMINI_API_KEY- Gemini API key.TAGGING_ENABLED=0- Disable processing of texts ads via Gemini.
- Clone repo in Cloud Shell or on your local machine (we assume Linux with
gcloudCLI installed):
git clone https://github.com/google-marketing-solutions/arba.git-
Go to the repo folder:
cd arba/ -
Put your
google-ads.yamlthere. -
Deploy
./deploy.sharba is deploy as a Cloud Run job with name arba.
You can customize the following options of the job.
In Google Cloud go to Cloud Run -> Jobs -> arba, click on View & edit job configuration,
scroll to Containers, Connection, Security, select Variables & Secrets and
adjust one of the following ENV variables:
BQ_DATASET- BigQuery dataset where data are saved.ACCOUNT- Google Ads account(s) or MCC(s).ADS_CONFIG- Path to google-ads.yaml on Google Cloud Storage.START_DATE- First date of performance; can be either date (i.e. '2026-01-01') or lookback (:YYYYMMDD-N, where N - number of lookback days).END_DATE- Last date of performance in the same format asSTART_DATE.MIN_COST_SHARE- Share of text ads needs to be processed by Gemini. From 0 to 100.GEMINI_API_KEY- Gemini API key.TAGGING_ENABLED=0- Disable processing of texts ads via Gemini.
By default arba is scheduled to run on midnight UTC.
You can change the schedule in Cloud Scheduler. Locate arba-scheduler and define your own schedule.
Upgrade make new queries and dependencies available.
./upgrade.shUninstall removes Arba Cloud Storage bucker, docker image, Cloud Run Job and Cloud Scheduler only. You need to remove BigQuery dataset manually.
./uninstall.shProvide BigQuery project and dataset names where arba data are located.
./scripts/create_dashboard.sh -p $GOOGLE_CLOUD_PROJECT -d arba
This is not an officially supported Google product. This project is not eligible for the Google Open Source Software Vulnerability Rewards Program.