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.
If the credential has access to multiple Google Ads accounts, the agent could read or later act on the wrong account.
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.
client = GoogleAdsClient.load_from_storage() ... accessible_customers = customer_service.list_accessible_customers() ... resource_name = accessible_customers.resource_names[0]
Require an explicit customer ID/login customer for every operation, display the selected account before use, and avoid defaulting to the first accessible account.
Anyone who can use the filled credential file may be able to access Google Ads data and permitted campaign operations.
The setup template shows the skill expects sensitive Google Ads API and OAuth credentials. This is purpose-aligned, but it is privileged account access.
'developer_token': 'INSERT_DEVELOPER_TOKEN_HERE', 'client_id': 'INSERT_CLIENT_ID_HERE', 'client_secret': 'INSERT_CLIENT_SECRET_HERE', 'refresh_token': 'INSERT_REFRESH_TOKEN_HERE'
Use a dedicated least-privilege Google Ads credential, protect the config file, and revoke the refresh token if the skill is no longer trusted.
A mistaken or insufficiently reviewed command could affect ad spend or pause campaigns if mutation support is implemented and credentials allow it.
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.
Изменение бюджета: `python3 scripts/google_ads_tool.py update-budget --id <ID> --amount <VALUE>` ... Остановка кампании: `python3 scripts/google_ads_tool.py update-status --id <ID> --status PAUSED` ... Всегда подтверждайте критические изменения
Require explicit confirmation for every budget/status change, include customer ID and campaign name in the confirmation, and add dry-run or rollback guidance.
Users may need to install dependencies manually, which can lead to inconsistent or unreviewed package choices.
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.
No install spec — this is an instruction-only skill.
Publish a minimal, pinned dependency list and declare required binaries/configuration in metadata.
