Help us improve
Share bugs, ideas, or general feedback.
From hyper-marketing
Plans and creates Amazon Sponsored Products campaigns end-to-end via Hyper MCP. Manages keywords, bids, product targeting, negative keywords, budget rules, and performance reports.
npx claudepluginhub hyperfx-ai/marketing-skills --plugin hyper-marketingHow this skill is triggered — by the user, by Claude, or both
Slash command
/hyper-marketing:amazon-adsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Strategic guide for managing Amazon Ads Sponsored Products campaigns. Research first, validate products, optimize for ACoS targets.
Guide for using the Marketplace Ad Pros MCP server to manage and analyze Amazon Advertising accounts. Use when working with Amazon Ads campaigns, performance reports, bid/budget recommendations, keyword research, or product data through the MCP tools.
Analyzes Amazon Ads campaigns including Sponsored Products, Sponsored Brands, Sponsored Display, and basic DSP. Useful for PPC audits, ACOS/TACOS optimization, and retail media strategy.
Builds new Google Ads Search, Display, and Performance Max campaigns end-to-end via Hyper MCP. Handles setup, research, conversion tracking check, and blueprint-based creation.
Share bugs, ideas, or general feedback.
Strategic guide for managing Amazon Ads Sponsored Products campaigns. Research first, validate products, optimize for ACoS targets.
If amazon_ads_list_profiles is not in the tool list, stop and tell the user to enable Hyper MCP and connect Amazon Ads.
| Tool | Purpose |
|---|---|
amazon_ads_list_profiles, amazon_ads_run_health_check | Profile discovery + integration health. |
amazon_ads_list_campaigns, amazon_ads_create_campaign, amazon_ads_update_campaign | Campaign lifecycle. |
amazon_ads_create_ad_group, amazon_ads_create_product_ad | Ad group + product ad creation. |
amazon_ads_create_keyword, amazon_ads_create_negative_keyword, amazon_ads_create_campaign_negative_keyword | Keyword targeting. |
amazon_ads_create_product_target, amazon_ads_create_negative_product_target | Product (ASIN/category) targeting. |
amazon_ads_create_budget_rule, amazon_ads_list_budget_rules | Budget automation. |
amazon_ads_create_report, amazon_ads_get_report_status | Performance reporting. |
amazon_ads_get_bid_recommendations | Theme-based bid recommendations. |
CRITICAL: Keyword, negative keyword, product ad, and product target operations require BOTH
ad_group_idANDcampaign_id. Omittingcampaign_idcauses validation errors.
CRITICAL: Keywords and product targets cannot coexist in the same ad group. Choose one targeting type per ad group.
CRITICAL: AUTO campaigns only allow negative keywords and negative product targets. Positive keywords and product targets are rejected.
CRITICAL: Campaign dates use
YYYY-MM-DDformat. Budget rule dates useYYYYMMDDformat. Do not mix these up.
CRITICAL: Create campaigns with state
"PAUSED". Never launch live without user review.
CRITICAL: Negative product targets only support
ASIN_SAME_ASandASIN_BRAND_SAME_ASexpressions. Category exclusions are not supported.
CRITICAL: All enum values must be UPPERCASE:
PAUSED,ENABLED,BROAD,PHRASE,EXACT,NEGATIVE_EXACT,NEGATIVE_PHRASE,MANUAL,AUTO.
IMPORTANT: Portfolio operations return 404 for vendor accounts. Use campaign-level management instead.
IMPORTANT: Budget rule listing may return empty even after successful creation. Track rule IDs from creation responses.
IMPORTANT: All budgets are in dollars (not cents, not micros). $25 daily budget =
25.
Call amazon_ads_list_profiles() to list advertising profiles.
profileId — it's required for every subsequent API call.Health Check: Call amazon_ads_run_health_check() to verify OAuth tokens, profile access, and billing status.
amazon_ads_list_campaigns(profile_id=PROFILE_ID)
Review active campaigns, budgets, and targeting types (auto vs manual).
(ad spend / ad revenue) × 100.Ask about budget and goals:
LEGACY_FOR_SALES (default): Amazon lowers bids when less likely to convert.AUTO_FOR_SALES: Dynamic bids, up and down.MANUAL: Full control over bid amounts.Campaign (targeting type: MANUAL or AUTO)
└── Ad Group (default bid)
├── Product Ads (ASINs)
├── Keywords (MANUAL campaigns only)
└── Product Targets (MANUAL campaigns only, mutually exclusive with keywords)
AUTO Campaign:
→ Single campaign
→ Single ad group (broad matching)
→ Add product ads (ASINs)
→ Campaign-level negative keywords
→ Let Amazon optimize
MANUAL Campaign:
→ Separate ad groups by targeting theme
→ Each ad group: keywords OR product targets (not both)
→ Specific bids per keyword/target
→ Campaign and ad-group level negatives
Campaign Strategy for [Product/Brand]
Profile: [profileId] ([marketplace])
Account Type: [seller/vendor]
ASINs: [list]
Target ACoS: [X]%
Daily Budget: $[X]
Targeting: [AUTO/MANUAL/both]
Bidding Strategy: [strategy]
Keywords: [count] across [match types]
Negatives: [count] terms excluded
Approve to proceed?
Wait for explicit approval.
amazon_ads_create_campaign(
profile_id=PROFILE_ID,
name="SP - Manual - [Product]",
targeting_type="MANUAL",
daily_budget=25,
start_date="2026-03-01",
state="PAUSED",
bidding_strategy="legacy_for_sales"
)
Returns: campaignId.
amazon_ads_create_ad_group(
profile_id=PROFILE_ID,
campaign_id=CAMPAIGN_ID,
name="[Product] - Exact Keywords",
default_bid=0.75,
state="PAUSED"
)
Returns: adGroupId.
amazon_ads_create_product_ad(
profile_id=PROFILE_ID,
ad_group_id=AD_GROUP_ID,
campaign_id=CAMPAIGN_ID,
asin="B0XXXXXXXXX",
state="PAUSED"
)
amazon_ads_create_keyword(
profile_id=PROFILE_ID,
ad_group_id=AD_GROUP_ID,
campaign_id=CAMPAIGN_ID,
keyword_text="wireless earbuds",
match_type="EXACT",
bid=0.85
)
amazon_ads_create_campaign_negative_keyword(
profile_id=PROFILE_ID,
campaign_id=CAMPAIGN_ID,
keyword_text="cheap",
match_type="NEGATIVE_PHRASE"
)
amazon_ads_create_negative_keyword(
profile_id=PROFILE_ID,
ad_group_id=AD_GROUP_ID,
campaign_id=CAMPAIGN_ID,
keyword_text="refurbished",
match_type="NEGATIVE_EXACT"
)
amazon_ads_create_product_target(
profile_id=PROFILE_ID,
ad_group_id=AD_GROUP_ID,
campaign_id=CAMPAIGN_ID,
expression=[{"type": "ASIN_SAME_AS", "value": "B0COMPETITOR"}],
bid=0.60,
state="PAUSED"
)
Available expression types:
ASIN_SAME_AS: target a specific ASIN.ASIN_CATEGORY_SAME_AS: target an entire category.ASIN_BRAND_SAME_AS: target a brand (requires numeric brand ID).amazon_ads_create_negative_product_target(
profile_id=PROFILE_ID,
ad_group_id=AD_GROUP_ID,
campaign_id=CAMPAIGN_ID,
expression=[{"type": "ASIN_SAME_AS", "value": "B0EXCLUDE"}],
state="ENABLED"
)
Only ASIN_SAME_AS and ASIN_BRAND_SAME_AS are supported for negative targets.
Auto-increase budget on specific dates:
amazon_ads_create_budget_rule(
profile_id=PROFILE_ID,
campaign_id=CAMPAIGN_ID,
rule_type="SCHEDULE",
name="Holiday Boost",
budget_increase_percent=50,
start_date="20261201",
end_date="20261225"
)
Auto-increase budget when metrics are met:
amazon_ads_create_budget_rule(
profile_id=PROFILE_ID,
campaign_id=CAMPAIGN_ID,
rule_type="PERFORMANCE",
name="High ROAS Rule",
budget_increase_percent=25,
performance_metric="ROAS",
comparison_operator="GREATER_THAN_OR_EQUAL_TO",
threshold=5.0,
start_date="20260301"
)
Performance metrics: ACOS, CTR, CVR, ROAS.
CRITICAL: Budget rule dates use
YYYYMMDDformat (notYYYY-MM-DD).
amazon_ads_create_report(
profile_id=PROFILE_ID,
report_type="spCampaigns",
columns=["impressions", "clicks", "cost", "spend"],
start_date="2026-02-01",
end_date="2026-02-28",
group_by=["campaign"],
time_unit="SUMMARY"
)
amazon_ads_get_report_status(profile_id=PROFILE_ID, report_id=REPORT_ID)
Reports are async. Status transitions: PENDING → PROCESSING → COMPLETED.
| Type | Description |
|---|---|
spCampaigns | Campaign-level metrics. |
spAdGroups | Ad group-level metrics. |
spAdvertisedProduct | ASIN-level metrics. |
spTargeting | Keyword/target metrics. |
spSearchTerm | Search term report. |
group_by is required: campaign, adGroup, or campaignPlacement.impressions, clicks, cost, spend, sales7d, purchases7d, unitsSoldClicks7d, clickThroughRate, costPerClick.campaignId and campaignName are not allowed in the columns list.| Metric | Formula |
|---|---|
| ACoS | ad spend / ad revenue × 100 |
| ROAS | ad revenue / ad spend |
| TACoS | ad spend / total revenue × 100 |
| CTR | clicks / impressions × 100 |
| CPC | cost / clicks |
| CVR | orders / clicks × 100 |
Get theme-based bid recommendations for an existing ad group:
amazon_ads_get_bid_recommendations(
profile_id=PROFILE_ID,
campaign_id=CAMPAIGN_ID,
ad_group_id=AD_GROUP_ID,
targeting_expressions=[
{"type": "KEYWORD_BROAD_MATCH", "value": "wireless earbuds"},
{"type": "KEYWORD_EXACT_MATCH", "value": "bluetooth headphones"},
{"type": "CLOSE_MATCH"},
{"type": "LOOSE_MATCH"}
]
)
Available targeting expression types:
CLOSE_MATCH, LOOSE_MATCH, SUBSTITUTES, COMPLEMENTS (auto targeting).KEYWORD_BROAD_MATCH, KEYWORD_EXACT_MATCH, KEYWORD_PHRASE_MATCH (keyword targeting).Amazon Ads supports multiple profiles per integration:
Cross-Profile Strategy:
PAUSED: Created but not live (safe default).ENABLED: Running and spending budget.ARCHIVED: Deleted (cannot be restored).| Issue | Workaround |
|---|---|
| Portfolio operations return 404 (vendor) | Use campaign-level grouping + naming conventions. |
| Budget rule listing may return empty | Track rule IDs from creation responses. |
| Category recommendations may fail (500) | Use manual research or dashboard. |
Discovery → Research (products + keywords) → Strategy (auto vs manual) → Approve Summary → Create (PAUSED) → Add Keywords/Products → Add Negatives → Test (1–3 days) → Optimize → Activate.
Never:
campaign_id from keyword/product operations.