Adjust bids
Bid adjustment is the biggest lever for moving ACoS toward your target. This category covers 7 patterns: lowering and raising bids at the keyword level, weighted adjustments across keywords / ASINs / auto targets, following Amazon’s suggested bid, and placement multipliers.
When to use this category
Section titled “When to use this category”- “I want to lower bids on keywords with high ACoS”
- “I want to adjust bids across keywords, ASINs, and auto campaigns together”
- “I want to follow Amazon’s suggested bid”
- “I want to raise bids where IS% has headroom”
- “I want to optimize placement multipliers by CVR per placement”
Prompt 1: ACoS-based bid reduction (keywords)
Section titled “Prompt 1: ACoS-based bid reduction (keywords)”🎯 Purpose
Section titled “🎯 Purpose”Safely lower bids on keywords where ACoS is above target, with clear justification.
📋 When to use
Section titled “📋 When to use”- You want to lower bids on keywords running above target ACoS
- You want a list of keywords that have room to be lowered against your target ACoS
- You want to trim wasted ad spend
📝 Prompt
Section titled “📝 Prompt”Against an ACoS target of {{TARGET_ACOS}}, recent ACoS is trending at {{RECENT_ACOS}}.Using the most recent finalized week, with min_clicks 10 and excluding zero-sales keywords,list keywords with room to lower the bid, including Suggested bids.Placeholders:
| Placeholder | Description | Default source |
|---|---|---|
{{TARGET_ACOS}} | Target ACoS (e.g., 15%) | Auto-referenced from Monthly KPI targets |
{{RECENT_ACOS}} | Recent actual ACoS (e.g., 18%) | Auto-referenced from dashboard KPI |
⚙️ What the AI does
Section titled “⚙️ What the AI does”- Filter target keywords — Finalized-week data × min_clicks 10 or more × exclude zero-sales
- Why finalized week: Trend judgments on unfinalized weeks are unstable because data isn’t complete
- Why min_clicks 10: Keywords with few clicks have low judgment accuracy and high risk of misclassification from insufficient data
- Why exclude zero-sales: To avoid divide-by-zero accidents when
sales = 0(negative-candidate handling is covered in a separate prompt)
- Compute the Suggested bid — Current bid × (target ACoS ÷ actual ACoS)
- Floor at 1 JPY — Clamp results below 1 JPY to 1 JPY (prevents invalid bids)
- Return an approval table — 4 columns: count, current bid, Suggested bid, expected ACoS
📊 Example output
Section titled “📊 Example output”Recommended bid changes: 12 items
Keyword Current bid Suggested bid Expected ACoS amino acid shampoo ¥95 ¥78 14.2% refill shampoo ¥110 ¥88 14.8% …(10 more)… Estimated monthly ad-spend reduction of ~¥48,000 across all 12 items. Reply “execute” to apply. To approve only certain items, say e.g. “execute item 1 only”.
🔒 Safety guards
Section titled “🔒 Safety guards”- Change magnitude is auto-clamped at a -30% floor (prevents abrupt swings)
- Nothing is applied unless you explicitly say “execute” (no changes until approved)
- The Suggested bid floor is 1 JPY (prevents invalid values)
- Each suggestion has a 1-hour validity window; after that you’ll need to regenerate
- Rollback can be restored from bid history (contact support)
🚦 Execution mode
Section titled “🚦 Execution mode”| Phase | Status | Conditions |
|---|---|---|
| Phase 1 (current) | One-shot | Available with just Picaro connection |
| Phase 2 (Q3 2026) | Daily execution | Monthly KPI target registered + saved-prompt enabled |
| Phase 3 (Q4 2026) | Auto-execute (approval-flow) | Slack 1-click approval, weekly, up to 100 items/week |
| Phase 4 (2027) | Fully automated | ML confidence ≥ 0.85, within guardrails |
👉 Next steps
Section titled “👉 Next steps”- Set monthly KPI targets — Skip having to write
{{TARGET_ACOS}}each time - Add negative keywords — Handle zero-sales keywords separately
- Why ACoS alone isn’t enough — How to combine with TACoS and ROAS
Q: How are zero-sales keywords handled? A: They are excluded by this prompt. To pause or negative them, use Prompt 3.
Q: Can I execute only part of the list? A: Yes. Specify by number, e.g. “execute only items 1 and 3”.
Prompt 2: Unified optimization across all targets (keywords + ASINs + auto, weighted)
Section titled “Prompt 2: Unified optimization across all targets (keywords + ASINs + auto, weighted)”🎯 Purpose
Section titled “🎯 Purpose”Review keywords, ASINs, and auto targets together, returning Suggested bids weighted by the confidence of each match type.
📋 When to use
Section titled “📋 When to use”- You want to adjust bids across keywords, ASINs, and auto campaigns together
- You want to push Exact match harder while easing back on Broad
- You want to optimize bids with different weights per match type
📝 Prompt
Section titled “📝 Prompt”Using the most recent finalized week, against a target ACoS of {{TARGET_ACOS}},review bids across all targets (keywords, ASIN targets, and auto targets).With min_clicks 10 and min_orders 1 or more, weight Exact match at {{EXACT_WEIGHT}}xand Broad match at {{BROAD_WEIGHT}}x and return Suggested bids.Placeholders:
| Placeholder | Description | Default source |
|---|---|---|
{{TARGET_ACOS}} | Target ACoS (e.g., 15%) | Auto-referenced from Monthly KPI targets |
{{EXACT_WEIGHT}} | Multiplier applied to Exact match (e.g., 1.1) | Default 1.1 (Exact has high confidence) |
{{BROAD_WEIGHT}} | Multiplier applied to Broad match (e.g., 0.9) | Default 0.9 (Broad is for discovery) |
⚙️ What the AI does
Section titled “⚙️ What the AI does”- Aggregate across all targets — Unify keywords, ASIN targets, and auto targets into a single table
- Why unify: ACoS plays out differently per target type even within the same campaign, so cross-target comparison lets you optimize allocation
- Volume cutoff — Filter by min_clicks 10+ and min_orders 1+
- Why min_orders 1+: Don’t raise bids on targets with zero orders (prevents over-investment)
- Weight by match type — Exact = high confidence (push harder), Broad = exploratory (ease back)
- Clamp change magnitude — Cap at +20% / -30% per adjustment
- Why +20% / -30%: Prevents abrupt swings per adjustment and keeps impact observable
- Return an approval table — 5 columns: target type, match type, current bid, Suggested bid, expected ACoS
📊 Example output
Section titled “📊 Example output”Recommended bid changes: 28 items (keywords 18 / ASINs 6 / auto 4)
Target Type Current bid Suggested bid Expected ACoS amino acid shampoo (Exact) Keyword ¥95 ¥82 14.5% B0XXXXXXXX ASIN ¥120 ¥96 15.1% close-match (auto) Auto ¥85 ¥72 14.9% …(25 more)… Exact match weighted 1.1x and Broad weighted 0.9x. Reply “execute” to apply.
🔒 Safety guards
Section titled “🔒 Safety guards”- Change magnitude is auto-clamped at +20% / -30% (prevents abrupt swings)
- Nothing is applied unless you explicitly say “execute”
- Suggested bid floor is 1 JPY
- Each suggestion has a 1-hour validity window
- Rollback can be restored from bid history (contact support)
🚦 Execution mode
Section titled “🚦 Execution mode”| Phase | Status | Conditions |
|---|---|---|
| Phase 1 (current) | One-shot | Available with just Picaro connection |
| Phase 2 (Q3 2026) | Weekly / daily | Monthly KPI target registered + saved-prompt enabled |
| Phase 3 (Q4 2026) | Auto-execute (approval-flow) | Slack 1-click approval, weekly, within cap |
| Phase 4 (2027) | Fully automated | ML confidence ≥ 0.85, within guardrails |
👉 Next steps
Section titled “👉 Next steps”- Add negative keywords — Surface zero-conversion targets for exclusion
- Promote auto to manual — Promote winning auto targets to manual campaigns
Prompt 3: Carve out zero-sales targets as negative candidates
Section titled “Prompt 3: Carve out zero-sales targets as negative candidates”🎯 Purpose
Section titled “🎯 Purpose”Surface targets that are getting clicks but no sales as exclusion candidates — rather than lowering their bid.
📋 When to use
Section titled “📋 When to use”- You want to stop targets that have clicks but zero sales
- You want to negative out search terms eating clicks for no return
- You want to clean up non-converting targets
📝 Prompt
Section titled “📝 Prompt”From the most recent finalized week, with min_clicks {{MIN_CLICKS}}+ and zero sales,carve out targets into a separate list of negative-keyword candidates.Run zero_sales_action in negative_candidate mode.Placeholders:
| Placeholder | Description | Default source |
|---|---|---|
{{MIN_CLICKS}} | Minimum clicks to include (e.g., 10) | Default 10 |
⚙️ What the AI does
Section titled “⚙️ What the AI does”- Extract candidates — Finalized-week × min_clicks 10+ × sales = 0
- Why min_clicks 10: With too few clicks there’s not enough signal — this prevents accidentally excluding targets that are actually working
- Separate from bid adjustments — Carve out as a dedicated negative-candidate list
- Why separate: If mixed into the default bid-reduction mode, they’d surface as “-30%” suggestions and the targets you should actually stop would linger
- Hand off to negative keyword addition — Post-approval execution flows through the standard Add negative keywords workflow
📊 Example output
Section titled “📊 Example output”Negative keyword candidates: 8 items
Target Type Clicks Spend Sales bulk shampoo (Broad) Keyword 24 ¥1,920 ¥0 B0XXXXXXXX ASIN 18 ¥1,440 ¥0 …(6 more)… ¥9,800 of ad spend in the most recent finalized week produced no sales. To convert these to negatives, proceed to Add negative keywords.
🔒 Safety guards
Section titled “🔒 Safety guards”- Only carves out the list — does not auto-register negatives
- Lowering min_clicks increases false positives — verify item counts are reasonable before changing
- Each suggestion has a 1-hour validity window
- Rollback after negative registration is handled via the Amazon Ads console or Add negative keywords
🚦 Execution mode
Section titled “🚦 Execution mode”| Phase | Status | Conditions |
|---|---|---|
| Phase 1 (current) | One-shot | Available with just Picaro connection |
| Phase 2 (Q3 2026) | Daily execution | Monthly KPI target registered + saved-prompt enabled |
| Phase 3 (Q4 2026) | Auto-execute (approval-flow) | Slack 1-click approval, weekly, up to 50 items/week |
| Phase 4 (2027) | Fully automated | ML confidence ≥ 0.85, within guardrails |
👉 Next steps
Section titled “👉 Next steps”- Add negative keywords — Register the negatives from this list
- Promote auto to manual — Clean up zero-conversion auto-derived targets
Prompt 4: Follow Amazon’s Suggested bid trend
Section titled “Prompt 4: Follow Amazon’s Suggested bid trend”🎯 Purpose
Section titled “🎯 Purpose”For targets without enough actual ACoS data, propose stable trend-following bid changes based on the time series of Amazon’s Suggested bid.
📋 When to use
Section titled “📋 When to use”- You want to align with Amazon’s Suggested bid
- You want to judge by market bid trends rather than ACoS
- You want to move bids on new campaigns where actual ACoS isn’t available yet
📝 Prompt
Section titled “📝 Prompt”Using recent weekly data, look at the time series of Amazon's Suggested bidand propose candidates whose bid should follow the suggestion.Use min_trend_points {{MIN_TREND_POINTS}}+ and volatility under {{VOLATILITY_LIMIT}};skip anything with high volatility.Placeholders:
| Placeholder | Description | Default source |
|---|---|---|
{{MIN_TREND_POINTS}} | Minimum data points required for trend judgment (e.g., 3) | Default 3 |
{{VOLATILITY_LIMIT}} | Volatility ceiling for skip judgment (e.g., 30%) | Default 30% |
⚙️ What the AI does
Section titled “⚙️ What the AI does”- Fetch the Suggested bid time series — Collect weekly history of Amazon’s Suggested bid
- Why not look at actual ACoS: So this works on ramping campaigns too — judgment is based on a market-derived reference value
- Data-point cutoff — Require min_trend_points 3+
- Why 3: Excludes targets with too little data and keeps trend judgments reliable
- Volatility check — Skip volatility ≥ 30%
- Why skip: Following whipsawing targets would make your bid whipsaw too, defeating the stable-following goal
- Stepwise following — For uptrends, propose gradual increases
📊 Example output
Section titled “📊 Example output”Suggested bid follow candidates: 9 items
Target Current bid Suggested bid (recent) Trend Recommended action amino acid shampoo (Exact) ¥95 ¥118 4 weeks rising +15% raise B0XXXXXXXX ¥120 ¥102 Gentle decline -10% lower …(7 more)… Skipped 3 items with volatility ≥ 30%. Reply “execute” to apply.
Details: Amazon Suggested bid trend analysis
🔒 Safety guards
Section titled “🔒 Safety guards”- Change magnitude is auto-clamped at +20% / -30%
- Targets with volatility ≥ 30% are auto-skipped
- Nothing is applied unless you explicitly say “execute”
- Each suggestion has a 1-hour validity window
- Rollback can be restored from bid history
🚦 Execution mode
Section titled “🚦 Execution mode”| Phase | Status | Conditions |
|---|---|---|
| Phase 1 (current) | One-shot | Available with just Picaro connection |
| Phase 2 (Q3 2026) | Daily execution | Monthly KPI target registered + saved-prompt enabled |
| Phase 3 (Q4 2026) | Auto-execute (approval-flow) | Slack 1-click approval, weekly, within cap |
| Phase 4 (2027) | Fully automated | ML confidence ≥ 0.85, within guardrails |
👉 Next steps
Section titled “👉 Next steps”- ACoS-based bid reduction — Combine with this once actual ACoS becomes available
- Automation phases 1–4 — Automation scenarios for trend following
Prompt 5: Bid optimization by top-of-search IS% and CVR
Section titled “Prompt 5: Bid optimization by top-of-search IS% and CVR”🎯 Purpose
Section titled “🎯 Purpose”Combine missed top-of-search impressions (IS% headroom) and week-over-week CVR change to simultaneously surface keywords whose exposure should grow and those whose bids should shrink.
📋 When to use
Section titled “📋 When to use”- You want to raise bids on keywords with Impression share headroom
- You want to lower bids on keywords whose CVR is dropping
- You want to capture more top-of-search share
📝 Prompt
Section titled “📝 Prompt”Using the most recent finalized week (Sun–Sat), compare top-of-searchImpression share and CVR week-over-week and propose bid changes.With min_clicks 10 and min_impressions {{MIN_IMPRESSIONS}}+, raise bids onkeywords with IS% headroom and lower bids on keywords with falling CVR.Placeholders:
| Placeholder | Description | Default source |
|---|---|---|
{{MIN_IMPRESSIONS}} | Minimum impressions to qualify (e.g., 50) | Default 50 |
⚙️ What the AI does
Section titled “⚙️ What the AI does”- Force finalized week (Sun–Sat) — Exclude unfinalized weeks
- Why finalized week: Prior-period data isn’t complete on unfinalized weeks, so trend judgment fails — WoW comparison only works on finalized data
- Cutoffs — min_clicks 10+ and min_impressions 50+
- Why min_impressions 50: Impression share calculations lose precision when the denominator is small
- IS% × CVR combined judgment
- Keywords with IS% headroom (missed impressions) → Raise bids for more exposure
- Keywords with falling WoW CVR → Lower bids for better efficiency
- Change magnitude clamp — Cap at +30% / -20%
- Why +30% / -20%: Operationally, push harder for exposure gains while easing CVR drops gradually
📊 Example output
Section titled “📊 Example output”IS% / CVR bid adjustments: 14 items
Keyword Current bid Top-of-search IS% CVR WoW Recommended action amino acid shampoo ¥95 32% +5% +25% raise refill shampoo ¥110 78% -18% -15% lower …(12 more)… 8 raises / 6 reductions. Reply “execute” to apply.
🔒 Safety guards
Section titled “🔒 Safety guards”- Change magnitude is auto-clamped at +30% / -20%
- Cannot run outside a finalized week (Sun–Sat) — a precondition for WoW comparison
- Nothing is applied unless you explicitly say “execute”
- Each suggestion has a 1-hour validity window
- Rollback can be restored from bid history
🚦 Execution mode
Section titled “🚦 Execution mode”| Phase | Status | Conditions |
|---|---|---|
| Phase 1 (current) | One-shot | Available with just Picaro connection |
| Phase 2 (Q3 2026) | Daily execution | Monthly KPI target registered + saved-prompt enabled |
| Phase 3 (Q4 2026) | Auto-execute (approval-flow) | Slack 1-click approval, weekly |
| Phase 4 (2027) | Fully automated | ML confidence ≥ 0.85, within guardrails |
👉 Next steps
Section titled “👉 Next steps”- Adjust budgets — Check daily budget capacity when raising exposure
- ACoS-based bid reduction — Combine with the ACoS axis for two-stage optimization
Prompt 6: Auto-tune placement multipliers from CVR ratio
Section titled “Prompt 6: Auto-tune placement multipliers from CVR ratio”🎯 Purpose
Section titled “🎯 Purpose”Compare CVR per placement (top-of-search, product pages, etc.) against the campaign average and propose multipliers that lean into the higher-performing placements.
📋 When to use
Section titled “📋 When to use”- You want to raise the top-of-search multiplier
- You want to weight by placement-level CVR
- Your product-page efficiency is poor and you want to lower its multiplier
📝 Prompt
Section titled “📝 Prompt”Using recent daily data, compare CVR per campaign × placement against the overallaverage and propose placement multiplier changes.Use min_clicks {{MIN_CLICKS}}+ and skip anything whose recommended-vs-current differenceis under {{SKIP_THRESHOLD}}.Placeholders:
| Placeholder | Description | Default source |
|---|---|---|
{{MIN_CLICKS}} | Minimum clicks to qualify (e.g., 10) | Default 10 |
{{SKIP_THRESHOLD}} | Skip threshold for small differences (e.g., 5%) | Default 5% |
⚙️ What the AI does
Section titled “⚙️ What the AI does”- Aggregate CVR by placement — Compute CVR per placement on daily data
- Why daily data: Placement-level metrics require daily granularity
- Compare against campaign average — Lean into placements with above-average CVR
- Cutoff — min_clicks 10+
- Why min_clicks 10: Low-click placements have noisy CVR — this prevents misclassification
- Skip small differences — Skip if recommended-vs-current diff < 5%
- Why skip <5%: Sub-5% changes are within learning-noise range and frequent micro-adjustments cause whipsaw
- Multiplier range — Compute within 0–900%
📊 Example output
Section titled “📊 Example output”Placement multiplier adjustments: 6 items
Campaign Placement Current multiplier Suggested multiplier CVR vs campaign avg SP - amino acid shampoo Top of Search 0% 50% +62% SP - amino acid shampoo Product Pages 30% 0% -45% …(4 more)… Skipped 3 suggestions whose diff was under 5%. Reply “execute” to apply.
🔒 Safety guards
Section titled “🔒 Safety guards”- Multipliers are auto-clamped within 0–900%
- Suggestions with diff under 5% are auto-skipped (noise filter)
- Nothing is applied unless you explicitly say “execute”
- Each suggestion has a 1-hour validity window
- Rollback is possible by setting 0% via Prompt 7
🚦 Execution mode
Section titled “🚦 Execution mode”| Phase | Status | Conditions |
|---|---|---|
| Phase 1 (current) | One-shot | Available with just Picaro connection |
| Phase 2 (Q3 2026) | Daily execution | Monthly KPI target registered + saved-prompt enabled |
| Phase 3 (Q4 2026) | Auto-execute (approval-flow) | Slack 1-click approval, weekly |
| Phase 4 (2027) | Fully automated | ML confidence ≥ 0.85, within guardrails |
👉 Next steps
Section titled “👉 Next steps”- Manual placement multiplier — When you want to set a specific multiplier directly
- Top-of-search IS% and CVR bid optimization — Combine with bid-level adjustments
Prompt 7: Manual placement multiplier / rollback
Section titled “Prompt 7: Manual placement multiplier / rollback”🎯 Purpose
Section titled “🎯 Purpose”Directly set the placement multiplier to an arbitrary value for one campaign × one placement (including rollbacks of past adjustments).
📋 When to use
Section titled “📋 When to use”- You want to reset the top-of-search multiplier to 0%
- You want to roll back a past placement adjustment
- You want to manually set a multiplier on a specific campaign
📝 Prompt
Section titled “📝 Prompt”For account_id {{ACCOUNT_ID}}, campaign_id {{CAMPAIGN_ID}}, set the placement multiplierof "{{PLACEMENT_TYPE}}" to {{PERCENTAGE}}%.(Use 0 for rollback, 1 for testing.)Placeholders:
| Placeholder | Description | Default source |
|---|---|---|
{{ACCOUNT_ID}} | Target account ID | User input (selectable from default accounts) |
{{CAMPAIGN_ID}} | Target campaign ID | User input |
{{PLACEMENT_TYPE}} | Placement display name or internal name (e.g., Top of Search / PLACEMENT_TOP) | User input |
{{PERCENTAGE}} | Multiplier to set (integer 0–900) | User input |
⚙️ What the AI does
Section titled “⚙️ What the AI does”- Input validation — Confirm percentage is an integer in 0–900
- Why this range: Amazon Ads defines placement multipliers as 0–900%
- Placement-name resolution — Accept either display name (
Top of Search) or internal name (PLACEMENT_TOP) - Scope limit — Only 1 campaign × 1 placement per execution
- Why 1 item only: Keeps impact small enough that no approval step is needed and direct execution is safe
- Direct execution — Apply immediately without a suggestion step
📊 Example output
Section titled “📊 Example output”Done.
Field Value account_id acc_XXXXXX campaign_id cmp_XXXXXX Placement Top of Search Multiplier (before) 50% Multiplier (after) 0% To roll back, run the same prompt with 50.
🔒 Safety guards
Section titled “🔒 Safety guards”- This prompt is applied directly (no approval step)
- Scope is limited to 1 campaign × 1 placement (multiple items require separate prompts)
- Out-of-range multipliers (outside 0–900%) are rejected
- The previous value is logged — you can roll back by running the same prompt with that value
🚦 Execution mode
Section titled “🚦 Execution mode”| Phase | Status | Conditions |
|---|---|---|
| Phase 1 (current) | One-shot (direct execution) | Available with just Picaro connection |
| Phase 2 (Q3 2026) | One-shot (unchanged) | Small scope — not a target for automation |
| Phase 3 (Q4 2026) | One-shot (unchanged) | Same as above |
| Phase 4 (2027) | One-shot (unchanged) | Maintained as a rollback tool |
👉 Next steps
Section titled “👉 Next steps”- Auto-tune placement multipliers from CVR ratio — When you want to re-evaluate the value
- Support / feedback — For unexpected rollback needs
Prompt quick reference
Section titled “Prompt quick reference”| What you want to do | Prompt to use |
|---|---|
| Back-solve keyword bids from ACoS target | Prompt 1 |
| Unified keywords + ASINs + auto, with weighting | Prompt 2 |
| Carve zero-sales targets into negative candidates | Prompt 3 |
| Follow Amazon’s Suggested bid (new campaigns etc.) | Prompt 4 |
| Adjust bids by IS% / CVR | Prompt 5 |
| Auto-tune placement multipliers by CVR ratio | Prompt 6 |
| Set placement multiplier manually / roll back | Prompt 7 |
Related categories
Section titled “Related categories”- Set monthly KPI targets — Pre-register target ACoS so you don’t have to specify it each time
- Add negative keywords — Where the candidates from Prompt 3 get executed
- Adjust budgets — Combine bid and budget optimization
- Promote auto to manual — Candidate extraction as a precursor to bid adjustment