← Back to Skills Marketplace
linbeihanda

amazon-ads-manager

by Handa · GitHub ↗ · v1.1.0 · MIT-0
cross-platform ✓ Security Clean
58
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install amazon-ads-manager
Description
Manage Amazon Advertising campaigns via the official Advertising API. Read live campaign/keyword/search-term performance, calculate ACOS/ROAS/CTR, identify w...
README (SKILL.md)

amazon-ads-manager

Amazon Advertising API wrapper for live campaign management — read performance reports, update bids, pause keywords, add negatives.

Setup (one-time)

Create a .env file in the skill root directory (same level as this SKILL.md):

AMAZON_ADS_CLIENT_ID=amzn1.application-oa2-client.xxx
AMAZON_ADS_CLIENT_SECRET=xxx
AMAZON_ADS_REFRESH_TOKEN=Atzr|xxx
AMAZON_ADS_PROFILE_ID=          # find via `ads.py profiles`
AMAZON_ADS_REGION=NA            # NA | EU | FE

How to get credentials:

  1. Amazon Ads Developer Console → create app → get client_id + client_secret
  2. OAuth flow → get refresh_token (login with your Seller Central account)
  3. Run ads.py profiles to find your AMAZON_ADS_PROFILE_ID (one per marketplace)

If credentials are not yet configured: ask the skill owner (the person who installed this skill) to provide the Amazon Ads API credentials and save them to the .env file listed above. Without these, all commands will fail with a clear error message listing exactly which variables are missing.


Commands

List profiles (find your PROFILE_ID)

uv run \x3Cskill-dir>/scripts/ads.py profiles

Returns all linked ad accounts with profileId, marketplace, currency. Set AMAZON_ADS_PROFILE_ID to the correct profileId for subsequent calls.


View campaigns

# Active campaigns
uv run ... campaigns

# All (including paused)
uv run ... campaigns --state all

Returns: campaignId, name, state, budget, bidding strategy.


View ad groups

uv run ... adgroups \x3Ccampaign_id>

View keywords

uv run ... keywords \x3Cadgroup_id>

Returns: keywordId, keywordText, matchType, state, bid.


Performance reports (async, ~30–90 sec)

# Campaign-level ACOS/ROAS summary (last 30 days)
uv run ... report campaigns --days 30

# Keyword-level performance
uv run ... report keywords --days 30

# Search terms (harvesting + negation)
uv run ... report searchterms --days 30

# Scope to one campaign
uv run ... report keywords --days 30 --campaign-id 12345678

Output fields (enriched): impressions, clicks, cost, attributedSales7d, attributedUnitsOrdered7d, acos_pct, roas, ctr_pct, cpc

Sorted by spend descending.


Update keyword bid

uv run ... set-bid \x3Ckeyword_id> \x3Cnew_bid>
# e.g.
uv run ... set-bid 987654321 0.85

Pause / enable / archive keyword

uv run ... set-state \x3Ckeyword_id> paused
uv run ... set-state \x3Ckeyword_id> enabled

Add campaign-level negative keyword

# Negative exact (default)
uv run ... add-negative \x3Ccampaign_id> "bad search term"

# Negative phrase
uv run ... add-negative \x3Ccampaign_id> "irrelevant" --match phrase

Optimization Workflow

Step 1 — Get overview

uv run ... report campaigns --days 30

Flag campaigns with acos_pct > 50% for drill-down.

Step 2 — Drill into problem campaigns

uv run ... report keywords --days 30 --campaign-id \x3Cid>

Classify each keyword:

Condition Action
spend > $5, sales = 0, clicks ≥ 10 🔴 Pause — pure waste
acos_pct > target × 1.5, clicks ≥ 20 🟠 Reduce bid by 20–30%
acos_pct > 0, acos_pct \x3C target, impressions \x3C 500 🟡 Raise bid by 20%
ctr_pct > 0.5%, orders/clicks \x3C 5% 🟡 Listing problem — don't touch bid
impressions = 0 Check match type / bid floor

Target ACOS benchmarks: SP Manual 25–35% · SP Auto 35–45% · SB 40–55%

Step 3 — Harvest search terms

uv run ... report searchterms --days 30

From auto campaigns:

  • acos_pct \x3C target AND clicks ≥ 5 AND sales > 0 → add to manual exact at 80% of current auto bid
  • spend > $3 AND sales = 0 AND clicks ≥ 8 → add as negative exact

Step 4 — Execute changes

For each action identified, run the appropriate command (set-bid, set-state, add-negative). Present a summary of what was changed and the expected impact.


Output Format

After analysis, present:

## 广告优化报告

### 账户概览 (最近 N 天)
| 总花费 | 总销售额 | ACOS | ROAS | 点击数 | 平均 CPC |
|--------|---------|------|------|--------|---------|

### 🔴 高优先级 — 建议暂停 (X 个词,节省 $X/月)
| Campaign | Ad Group | Keyword | 花费 | 点击 | 销售 | 操作 |

### 🟠 降价建议 (X 个词)
| Keyword | 当前 bid | 建议 bid | 当前 ACOS | 目标 ACOS |

### 🟢 收割词 — 建议加入 Manual (X 个词)
| 搜索词 | Auto 花费 | ACOS | 建议 bid |

### 执行摘要
已执行 / 等待确认 X 项操作

Always ask for confirmation before executing bid changes or pauses unless the user explicitly said "直接执行" or "just do it".

Usage Guidance
Install only for an Amazon Ads account you intend to let the agent analyze and modify. Put credentials in the local .env file with the narrowest practical profile access, review reports before acting, and require an explicit summary and confirmation before bids, pauses, archives, or negative keywords are applied.
Capability Tags
requires-oauth-tokenrequires-sensitive-credentials
Capability Assessment
Purpose & Capability
The stated purpose is to read Amazon Ads performance and make campaign/keyword changes; the script behavior matches that purpose through Amazon Advertising API calls for reports, bids, keyword state, and negative keywords.
Instruction Scope
The skill discloses state-changing actions and requires confirmation for bid changes and pauses unless the user explicitly asks to execute, though users should also require confirmation for negative-keyword additions.
Install Mechanism
Installation consists of a markdown skill and a Python CLI using the requests dependency; no hidden installer, background worker, or unrelated setup behavior was found.
Credentials
The requested Amazon Ads OAuth credentials and network access are sensitive but proportionate to managing a selected advertising profile through the official API endpoints.
Persistence & Privilege
The skill stores long-lived Amazon Ads credentials in a local .env file supplied by the user and uses short-lived access tokens in memory; no unrelated persistence or local data indexing was found.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install amazon-ads-manager
  3. After installation, invoke the skill by name or use /amazon-ads-manager
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.1.0
Version 1.1.0 - Added detailed setup instructions and environment variable requirements for Amazon Advertising API credentials. - Expanded command documentation for campaign, ad group, keyword, and search term management. - Introduced step-by-step optimization workflow and campaign performance report examples. - Clarified output format and confirmation requirements before making bid or state changes. - Enhanced description and trigger phrases (including multilingual support) for easier discovery and use.
Metadata
Slug amazon-ads-manager
Version 1.1.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is amazon-ads-manager?

Manage Amazon Advertising campaigns via the official Advertising API. Read live campaign/keyword/search-term performance, calculate ACOS/ROAS/CTR, identify w... It is an AI Agent Skill for Claude Code / OpenClaw, with 58 downloads so far.

How do I install amazon-ads-manager?

Run "/install amazon-ads-manager" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is amazon-ads-manager free?

Yes, amazon-ads-manager is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does amazon-ads-manager support?

amazon-ads-manager is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created amazon-ads-manager?

It is built and maintained by Handa (@linbeihanda); the current version is v1.1.0.

💬 Comments