Breadcrumbs

Alli Solutions - SQR Automation

Overview

This workflow automates the process of Search Query Reporting (SQR) by connecting Google Ads and Google Sheets. It allows SEM teams to automatically fetch query data, analyze performance, and push approved keyword changes back into Google Ads — eliminating manual report management and data transfers.

You can then:

  • Review search queries your ads are serving on directly in Google Sheets

  • Add positive or negative keywords based on performance back into Google Ads

  • Get Slack alerts and detailed error logs when something fails


SQR Automation → Slack Notifications


Variables

Name

Reference

Type

Required

Default

Options

Description

account_ids

ACCOUNT_IDS

Alphanumeric

-

-

-

Comma-separated list of Google Ads account IDs.

parent_account_id

PARENT_ACCOUNT_ID

Alphanumeric

-

-

Parent (MCC) account ID used for Google Ads authentication.

sheet_id

SHEET_ID

Alphanumeric

-

-

The Google Sheet ID used to read and write SQR data.

fetch

FETCH

Boolean

FALSE

TRUE / FALSE

Fetches SQR data from the chosen data source.

update

UPDATE

Boolean

FALSE

TRUE / FALSE

Sends keyword updates back to Google Ads.

datasource

DATASOURCE

Select

-

Google Ads / Alli Data Library

The data source used to pull SQR data.

date_range

DATE_RANGE

Select

LAST_30_DAYS

-

The date range for aggregating performance metrics.

metrics_to_pull

METRICS_TO_PULL

String

Clicks, Impressions, CTR

-

Metrics to fetch from the data source.

error_file_name

ERROR_FILE_NAME

Alphanumeric

-

Must end in .txt

Name of the error file generated when updates fail.

error_folder_name

ERROR_FOLDER_NAME

Alphanumeric

-

""

-

Optional folder name to store the error file.


YAML

Below is the YAML template

source:
  template: Alli Solutions - SQR Automation
  inputs:
    ACCOUNT_IDS:
    PARENT_ACCOUNT_ID:
    SHEET_ID:
    FETCH:
    UPDATE:
    DATASOURCE:
    DATE_RANGE:
    METRICS_TO_PULL:
    ERROR_FILE_NAME:
    ERROR_FOLDER_NAME:
    SLACK_CHANNEL:
  type: TEMPLATE
guardrails:
  retry_count: 1
  retry_wait: 0h0m0s
  runtime_cutoff: 1h0m0s
  exclude_exit_code_ranges:
    - 101