Google ads for OpenClaw

ReviewAudited by ClawScan on May 10, 2026.

Overview

The skill is mostly aligned with Google Ads management, but it uses powerful local Ads credentials and automatically selects an accessible account, so users should review scope carefully before use.

Use this only if you are comfortable giving the skill access to Google Ads credentials. Prefer a dedicated least-privilege credential, verify the exact customer account before running commands, and manually confirm any budget or campaign-status change.

Findings (4)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

If the credential has access to multiple Google Ads accounts, the agent could read or later act on the wrong account.

Why it was flagged

The script loads local Google Ads credentials and then automatically uses the first reachable customer account, without requiring the user or agent to specify which account should be used.

Skill content
client = GoogleAdsClient.load_from_storage() ... accessible_customers = customer_service.list_accessible_customers() ... resource_name = accessible_customers.resource_names[0]
Recommendation

Require an explicit customer ID/login customer for every operation, display the selected account before use, and avoid defaulting to the first accessible account.

What this means

Anyone who can use the filled credential file may be able to access Google Ads data and permitted campaign operations.

Why it was flagged

The setup template shows the skill expects sensitive Google Ads API and OAuth credentials. This is purpose-aligned, but it is privileged account access.

Skill content
'developer_token': 'INSERT_DEVELOPER_TOKEN_HERE', 'client_id': 'INSERT_CLIENT_ID_HERE', 'client_secret': 'INSERT_CLIENT_SECRET_HERE', 'refresh_token': 'INSERT_REFRESH_TOKEN_HERE'
Recommendation

Use a dedicated least-privilege Google Ads credential, protect the config file, and revoke the refresh token if the skill is no longer trusted.

What this means

A mistaken or insufficiently reviewed command could affect ad spend or pause campaigns if mutation support is implemented and credentials allow it.

Why it was flagged

The documented workflow includes budget and campaign-status changes, which are high-impact business actions. The SKILL does instruct confirmation, but the guardrails are minimal.

Skill content
Изменение бюджета: `python3 scripts/google_ads_tool.py update-budget --id <ID> --amount <VALUE>` ... Остановка кампании: `python3 scripts/google_ads_tool.py update-status --id <ID> --status PAUSED` ... Всегда подтверждайте критические изменения
Recommendation

Require explicit confirmation for every budget/status change, include customer ID and campaign name in the confirmation, and add dry-run or rollback guidance.

What this means

Users may need to install dependencies manually, which can lead to inconsistent or unreviewed package choices.

Why it was flagged

The package includes Python scripts that require external libraries, but there is no pinned or declared dependency installation path. This is not malicious by itself, but it leaves setup provenance unclear.

Skill content
No install spec — this is an instruction-only skill.
Recommendation

Publish a minimal, pinned dependency list and declare required binaries/configuration in metadata.