Skip to content

Create Sponsored Products (SP) campaigns

On this page you can build a Sponsored Products (SP) campaign from scratch and add keyword targets, product targets, and negative keywords to existing campaigns. Every prompt first returns a proposal (preview); it only creates or adds settings on the Amazon Ads side once you reply “approve.”

ItemDetails
What you can doBuild new SP campaigns (standard or quick) and add keyword targets, product targets, and negative keywords to existing campaigns
Applies toSponsored Products (SP)
Data & connection neededAn Amazon Ads account connection (required, because the prompts on this page write to the Amazon Ads side) and the target ad profile ID
ScopeChanges ad settings after approval (create / add). Each prompt only returns a proposal and reflects nothing to Amazon Ads until you approve
  • You’re launching a new product and want to build an SP campaign from scratch
  • You want to quickly stand up a working SP by just specifying an ASIN
  • You want to add terms that are converting as keywords to an existing campaign
  • You want to add product targeting against competitor products (ASINs) to an existing campaign
  • You want to add negative keywords to an existing campaign to curb wasted delivery
  • Amazon Ads account connection … as noted above, connect in advance.
  • Ad profile ID … specifies which account (marketplace) to create or add in.
  • Target account … if you handle multiple accounts, confirm the connection points to the right one first.
  • Naming conventions … setting up naming conventions in Classify ads with labels and naming rules makes the naming-collision check smoother when building from scratch.
  • Target campaign ID / ad group ID … needed for adding to existing campaigns (Prompts 2–4).
GoalWhat you get / what’s createdChangesPrompt
Build an SP campaign from scratchA list of build candidates (campaign, ad group, targeting)Created after approvalPrompt 1
Add keyword targets to an existing campaignA list of candidate keywords and match typesAdded after approvalPrompt 2
Add product targeting (ASIN) to an existing campaignA list of candidate targetingAdded after approvalPrompt 3
Add negative keywords to an existing campaignA list of exclusion candidates and over-exclusion warningsAdded after approvalPrompt 4
Quickly build a basic SP from a single ASINA list of build candidates (a manual + auto structure)Created after approvalPrompt 5
Quickly build an SP with broad-match keywordsBuild candidates plus the naming-collision check resultCreated after approvalPrompt 6

Prompt 1: Build a new Sponsored Products (SP) campaign

Section titled “Prompt 1: Build a new Sponsored Products (SP) campaign”

Generate a proposal that builds the SP campaign, ad group, product ad, and targeting in one go, and reflect it to the Amazon Ads side after approval.

When to use — when you want to stand up a full set of SP campaigns from scratch for a new product or initiative.

What you need — the ad profile ID and the target products (ASIN list, product label, brand name, etc.). The targeting strategy, daily budget, and initial bid have defaults if omitted.

For ad profile {{PROFILE_ID (e.g., 3528945248353716)}} (or the corresponding Picaro account ID), build a new Sponsored Products (SP) campaign for {{TARGET_PRODUCTS (e.g., ASIN list)}} to win new traffic. First reverse-look up the SKU from each target ASIN, and list any ASIN with no SKU attached explicitly in an exclusion list as out of scope for ad creation. Use {{TARGETING_STRATEGY (e.g., manual + auto)}} as the targeting strategy, set the initial daily budget to {{DAILY_BUDGET (e.g., 3000)}} JPY (state whether that is per campaign or a total, and also show the combined daily budget), and start the initial bid at {{INITIAL_BID (e.g., 95)}} JPY. Base the keyword / product target candidates on this account's existing search term performance (top terms for similar products and the same category), and attach their relevance and actual volume (impressions / clicks / CPC / ACoS). For terms with no performance of our own, state explicitly "no performance data — estimated from similar products," and write that external search volume cannot be retrieved. Also flag as a warning any term whose initial bid falls below its actual CPC and is therefore unlikely to get exposure. For the initial state, create the campaign as PAUSED (state explicitly that the ad groups / keywords / targets underneath cannot be specified as PAUSED, so setting the campaign to PAUSED is what guarantees delivery is stopped), and check for naming duplicates against existing campaigns with a partial-match search on campaign name. Do not fetch the full campaign list and scan it by eye. Attach to the check result "the total number of campaigns matched against" and "whether all of them could be matched," and if not all of them could be matched, state explicitly that "full coverage of naming duplicates cannot be guaranteed." Before executing, always: present a list of the changes (target, current value, new value, expected impact) and do not apply anything to the platform until you have approval. For items whose expected impact cannot be computed numerically, state explicitly "not predictable." Guardrail: exclude from the proposal any change expected to cause {{METRIC_TO_PROTECT (e.g., a significant drop in Impression Share or a spike in ad spend)}}. If there is no baseline because this is a new build, state so, and include terms expected to waste spend as negative keywords in the proposal. After executing: on {{EVALUATION_DATE (e.g., 14 days later)}}, compare ACoS, Orders, and Impression Share before/after and present one of Keep/Expand/Adjust/Pause/Revert/Investigate.

What you can change — the target products (ASIN list, product label, brand name, etc.) / the targeting strategy (if unspecified, builds both manual and auto) / the daily budget (e.g., 3,000 JPY; defaults to 3,000 JPY if unspecified) / the initial bid (e.g., 95 JPY; if unspecified, uses the midpoint of Amazon’s suggested bid range).

What you get back — a table of the build candidates — campaign, ad group, targeting type, count, initial bid, and daily budget — plus a naming-collision check against existing campaigns.

Changes — after approval, creates the SP campaign, ad group, product ad, and targeting. Nothing is reflected to Amazon Ads until you reply “approve.”

Next steps — review bids after building in Adjust bids. To set up naming conventions, see Classify ads with labels and naming rules.


Prompt 2: Add keyword targets to an existing campaign

Section titled “Prompt 2: Add keyword targets to an existing campaign”

Generate a proposal that adds keywords with match types to an existing manual-targeting ad group.

When to use — when you want to bring terms that are converting, or strong search terms originating from auto, into an existing campaign as keywords.

What you need — the ad profile ID, campaign ID, ad group ID, and the source of the keywords to add. The match type and initial bid have defaults if omitted.

For ad account {{PICARO_ACCOUNT_ID (e.g., 12)}} (ad profile ID {{PROFILE_ID (e.g., 1234567890123456)}}), build a proposal that adds keyword targets to campaign {{CAMPAIGN_ID (e.g., 224466880011)}}, ad group {{AD_GROUP_ID (e.g., 113355779922)}} in order to widen the conversion paths. Candidates: {{KEYWORD_SOURCE (e.g., coffee maker cleaner)}}, match type: {{MATCH_TYPES (e.g., Exact)}}, desired initial bid: {{INITIAL_BID (e.g., 95)}} JPY.
Duplicate check: narrow to the target ad group, fetch its existing keywords over {{CHECK_PERIOD (e.g., the past 90 days)}}, and match them against the candidates on an exact match of keyword text (normalized so that full-width/half-width and upper/lower case are treated as the same) × match type. Exclude any duplicated candidate from the proposal and state the reason for the exclusion. Always write the number of rows fetched / the total number of rows / the unchecked scope (keywords with no delivery within the period that therefore do not appear in the list, and other campaigns / other ad groups).
Initial bid: cap it at the median of the current bids of the existing keywords in the same ad group, and if the desired amount exceeds that median, round it down to the median before presenting it (show both the desired amount and the rounded amount).
Before executing, always: present a list of the changes (target keyword, match type, current value <"none" if new>, new bid, the ad group's recent clicks/CVR/ACoS, expected impact), and do not apply anything to the platform until you have approval. State explicitly that you stop at generating the proposal and do not execute before approval.
Guardrail: {{METRIC_TO_PROTECT (e.g., the ad group's recent ACoS stays within the target ACoS of 30%)}}. If the ad group performance you fetched falls outside this, do not propose adding keywords; state that and present alternatives (adjusting the bids of existing keywords, adding negative keywords).
After executing: on {{EVALUATION_DATE (e.g., 14 days later)}}, compare clicks/CVR/ACoS before/after both per added keyword and for the ad group as a whole, and present one of Keep/Expand/Adjust/Pause/Revert/Investigate. State explicitly that CVR is a derived value of orders ÷ clicks.

What you can change — the keyword source (a list of keywords to add, or promotion candidates originating from auto, etc.) / the match type (Exact / Phrase; if unspecified, both Exact and Phrase) / the initial bid (e.g., 95 JPY; if unspecified, the ad group default).

What you get back — a table of keyword, match type, initial bid, and suggested bid range (anything that duplicates existing entries is excluded automatically).

Changes — after approval, adds the keywords to the specified ad group. Nothing is applied until you reply “approve.”

Next steps — to carve out strong search terms from an auto campaign, use Move search terms from Auto to Manual. Adjust bids after adding in Adjust bids.


Prompt 3: Add product targeting to an existing campaign

Section titled “Prompt 3: Add product targeting to an existing campaign”

Generate a proposal that adds product targeting against ASINs to an existing manual-targeting ad group. Adding category targeting cannot be carried out with the current set of tools.

When to use — when you want to broaden an existing campaign’s delivery by targeting competitor products (ASINs).

What you need — the ad profile ID, campaign ID, ad group ID, and the list of ASINs to add. The initial bid has a default if omitted.

For campaign {{CAMPAIGN_ID (e.g., 224466880011)}}, ad group {{AD_GROUP_ID (e.g., 113355779922)}} in ad account {{PICARO_ACCOUNT_ID (e.g., 5)}}, add product targets (ASIN targets) in order to widen the conversion paths. Candidates: {{TARGET_LIST (e.g., a list of ASINs to add)}}, initial bid starting at {{INITIAL_BID (e.g., 95)}} JPY. Steps: (1) Resolve the ad profile ID from the account ID, and confirm the target campaign is SP with manual targeting. (2) Fetch the existing targets of the target ad group and match them against the candidates for duplicates. If the number of rows fetched equals the fetch limit, always state "the number of rows fetched" and "that the number of unchecked rows is unknown," and add that full coverage of duplicates cannot be guaranteed (the target list cannot be paged and does not return a total count, so once the limit is hit the remaining number of rows cannot be retrieved). (3) Among the candidates, for any ASIN already running in another campaign, check its recent ACoS and drop from the candidates anything above {{MAX_ACOS (e.g., 100%)}}. Keep candidates whose performance could not be confirmed, clearly marked "performance unknown." Before executing, always: present a list of the changes (target, current value, new value, expected impact) and do not apply anything to the platform until you have approval. Do not perform any execution operation before approval. Guardrail: if the estimated daily increase from the addition exceeds {{MAX_INCREASE (e.g., 5,000 JPY)}}, exclude the excess candidates from the proposal. Note: adding category targets cannot currently be carried out with this set of tools, so if the candidates include a category, mark it explicitly as "out of scope" with the reason. After executing: on {{EVALUATION_DATE (e.g., 14 days later)}}, compare clicks/CVR/ACoS before/after, and if the ad group's overall Orders fell below {{ORDERS_FLOOR (e.g., -10%)}} week over week, present Revert; otherwise present one of Keep/Expand/Adjust/Pause/Investigate.

What you can change — the candidates (a list of ASINs to add) / the initial bid (e.g., 95 JPY; if unspecified, the ad group default).

What you get back — a table of targeting type, target, and initial bid (with the duplicate check against existing targets; anything whose measured ACoS in another campaign exceeds the threshold is excluded, and category targets are marked explicitly as “out of scope”).

Changes — after approval, adds the product targeting (ASIN targets) to the specified ad group. Adding category targets cannot be done with this tool. Nothing is applied until you reply “approve.”

Next steps — adjust bids after adding in Adjust bids; clean up low-performing targeting in Add negative keywords.


Prompt 4: Add negative keywords to an existing campaign

Section titled “Prompt 4: Add negative keywords to an existing campaign”

Generate a proposal that adds negative keywords to an existing campaign (or ad group) to curb wasted delivery. Search terms you want to exclude are added as negative keywords registered on the ad.

When to use — when you want to stop delivery against search terms that are clicked but don’t sell, or that don’t match your intent.

What you need — the ad profile ID, campaign ID, and the list of search terms to exclude. The exclusion match type has a default if omitted.

Add negative keywords to ad profile {{PROFILE_ID}}, campaign {{CAMPAIGN_ID}}.
Targets are {{NEGATIVE_LIST (e.g., a list of search terms to exclude)}},
match types {{NEGATIVE_MATCH_TYPES (e.g., NEGATIVE_PHRASE)}}
(NEGATIVE_EXACT to exclude on an exact match, NEGATIVE_PHRASE to broadly
exclude anything containing the phrase).
Do not apply anything to Amazon Ads until I approve.

What you can change — the list of search terms to exclude (you can also paste candidates extracted in Add negative keywords) / the exclusion match type (NEGATIVE_EXACT to exclude on an exact match / NEGATIVE_PHRASE to broadly exclude anything containing the phrase; if unspecified, NEGATIVE_PHRASE, which excludes more broadly).

What you get back — a table of negative term, match type, and scope, plus a warning when there’s a risk of over-exclusion (for example, when you try to exclude an umbrella category term like “shampoo” as NEGATIVE_PHRASE).

Changes — after approval, adds the negative keywords to the specified campaign (or ad group). Nothing is applied until you reply “approve.”

Next steps — extracting the exclusion candidates themselves can be done in Add negative keywords.


Prompt 5: Quickly build a basic SP from a single ASIN

Section titled “Prompt 5: Quickly build a basic SP from a single ASIN”

Generate a preview that quickly builds a basic SP campaign (manual + auto) from just a single ASIN.

When to use — when you want to quickly stand up a working SP and tune it afterward.

What you need — the target ASIN. The daily budget has a default if omitted.

For ASIN {{TARGET_ASIN (e.g., B0XXXXXXXX)}}, create a preview that quickly builds a basic SP campaign (manual + auto). Initial daily budget {{DAILY_BUDGET (e.g., 2000)}} JPY, default naming convention.
[Duplicate check (top priority, mandatory)]
Before assembling the campaign, always confirm whether the target ASIN is already being advertised.
(1) Call POST /product-analysis/product-detail/ad via call_picaro_api (body: amazon_account_id, from_date, to_date, code=the target ASIN, type="asin") and fetch the list of campaigns with recent performance, their ad spend, and ACoS. Cross-check pagination.total_count against the number of items and state whether everything was fetched.
(2) If there is a hit, use list_sp_ad_groups → list_sp_product_ads to establish that the ASIN actually exists as a ProductAd and what its state is ((1) above is attribution-based, so it is not conclusive on its own).
(3) If it is already running as ENABLED, do not proceed to a new build: state explicitly "this duplicates N existing campaigns," propose reviewing the bids and budget of the existing campaigns, and stop.
Do not judge duplication by a string search on campaign names alone (naming schemes that don't include the ASIN in the name also exist, so you would miss them).
[Naming convention]
Fetch the existing SP campaign names before assembling the name. Fetch them with start_existing_sp_campaigns_job → get_mcp_job_status → get_mcp_job_result rather than the synchronous version (the synchronous version times out or exceeds the token limit on large accounts). Write how many you referenced, and if several naming schemes coexist, the breakdown.
Determine tokens such as brandCode by measuring them from the existing campaign names; do not invent abbreviations yourself. If the existing names contain no such token, state explicitly "cannot be determined."
A registered naming convention (NamingRule) can be read with manage_naming_rules using action=get (read-only; do not run upsert / remove). Always state the source in the response — if picaro-default-v1 is returned, that means "no account-specific rule is registered, so the default rule applies," not "it could not be read." Passing sample_vars also lets you check the expanded result. If the registered rule and the measured distribution of existing names disagree, present both and state which one you adopted. If you use infer_naming_rules, present confidence and warnings as they are, and do not treat the inferred result as established fact.
If the campaign creation tool requires brandCode / dateSuffix as mandatory fields, pass them as dummies to satisfy the schema, specify the campaign name and ad group name explicitly (user-override), and state explicitly that "the dummy values are not used in the naming."
[Bids]
For the default bid, try to fetch Amazon's suggested bid (suggested_bid). For keywords / product targets that are already running, it can be fetched as a real value from the suggested_bid in the target performance list (list_target_performance). New keywords have no corresponding existing target, so no suggested bid exists for them — in that case write precisely "no suggested bid exists for new keywords," not "there is no way to fetch it." In either case, present as substitute values the default_bid of existing ad groups in the same product group (the measured value from list_sp_ad_groups) and the measured CPC range for the target keywords (list_search_term_performance), and place the bid in the middle of those. Do not present the minimum bid (¥2 and the like) as a level that will actually be delivered in practice.
[Keywords]
Draw the manual campaign's keywords as candidates from search term performance and existing campaign performance (do not use terms you thought of yourself). Attach the measured clicks / sales / ACoS / CPC to each candidate. If a campaign is already running on the same keyword, state explicitly that this creates internal competition. If no candidates can be obtained, build a skeleton structure with no keywords and state that explicitly.
[Procedure]
Fetch information that a tool call would reveal instead of asking for it, and always generate the preview (draft) rather than ending with clarifying questions alone. Present every item — campaign name, ad group, targeting type, daily budget, default bid, target SKU, start date, and initial state — and state for each value whether it is a fetched value / a specified value / a judged value / a tool default.
If the start date is not included in the preview (Proposal), state explicitly "not set (starts on the execution date)" and do not write a date of your own.
If the ad groups and product ads are assembled as ENABLED even though the campaign is created paused, state that explicitly to the approver.
For the validity of the daily budget, show its relative position compared with the dailyBudget distribution (min / quartiles / median / max) of running SP campaigns. If the monthly budget cap is not set (check_budget_status returns unconfigured), state that, and do not pretend you worked backwards from a cap.
[Guardrail]
If it would exceed {{MAX_ACOS_AT_LAUNCH (an absolute value, e.g., 60%)}}, propose reviewing the bid. Do not use a relative specification ("N times the target ACoS" and the like) — on accounts with no target ACoS set there is no reference value, so it cannot be computed. To let the approver judge whether the threshold is reasonable, also show the measured ACoS of existing campaigns for the same category / same product.
Before executing, always: present a list of the preview contents (target, setting value, expected impact) and do not apply anything to Amazon Ads until you have approval. Do not perform execution operations such as execute_proposal, nor any change that persists on the Picaro side, such as saving a naming convention.
[Expected results and follow-up]
Add one line on the initial evaluation guideline after approval and launch (e.g., whether impressions are occurring 3 days after the start).
{{EVALUATION_PERIOD (e.g., 7 days)}} after delivery starts, compare impressions and ACoS with "measure the effect of an initiative"; if it matches expectations, Keep; if no impressions appear, consider reviewing the bid.
When evaluating, check the finalized-data boundary with get_data_ingestion_status, and if the range includes unfinalized days, state the actual number of days as "of the N days specified, M days are finalized" (the current day is often not yet ingested, so a 7-day specification effectively becomes 6 days).

What you can change — the target ASIN (e.g., B0XXXXXXXX) / the daily budget (e.g., 2,000 JPY; defaults to 2,000 JPY if unspecified).

What you get back — a table of campaign, ad group, targeting type, initial bid, and daily budget (a two-campaign structure of manual + auto).

Changes — after approval, creates the SP as a two-campaign structure of manual + auto. Nothing is applied until you reply “approve.”

Next steps — adjust bids after launch in Adjust bids; add keywords using Prompt 2 above.


Prompt 6: Quickly build an SP with broad-match keywords

Section titled “Prompt 6: Quickly build an SP with broad-match keywords”

Generate a preview that quickly builds an SP campaign with specified broad-match keywords. Well suited to market-testing a new product.

When to use — when you want to gauge response with broader keywords and identify the terms that grow (such as market-testing a new product).

What you need — the target ASIN, the keywords you want to target on broad match, the daily budget, and the initial bid.

For ASIN {{TARGET_ASIN (e.g., B0XXXXXXXX)}}, please create a preview (draft) that quickly builds an SP campaign with broad-match keywords {{KEYWORDS (e.g., amino acid shampoo, refill shampoo)}}. Initial daily budget {{DAILY_BUDGET (e.g., 2000)}} JPY, initial bid {{INITIAL_BID (e.g., 78)}} JPY.
[Checking the prerequisites]
First resolve the SKU for the target ASIN. There is a dedicated tool for reverse-looking up the SKU from an ASIN, so use it, and
state the returned sku, count, and source (whether it is picaro-product-level or filled in from Ads history).
If it cannot be resolved, state explicitly "SKU cannot be retrieved," ask for the SKU to be entered by hand, and stop. Do not invent a SKU by guessing.
If several SKUs are returned for the same ASIN, present all of them and ask which one to use.
[Naming]
Actually fetch the existing SP campaign names and explicitly specify a campaign name and ad group name that match their naming pattern. State how many you referenced and what the naming pattern is.
※ The separator in campaign names is a mix of half-width | and full-width |, so handle both when reading the pattern.
※ The creation tool requires a brand code and a date suffix as internal mandatory fields, but when the campaign name and ad group name are specified explicitly, these are internal values that are not reflected in the names. Do not present these two items as "the basis for the naming."
※ Each level of the proposal carries nameSource / nameSourceLabel, so check here whether the name you specified explicitly was actually adopted (user-override or derived from a naming rule) and report it.
[Bids]
Use the initial bid as the specified value.
🔴 Suggested bids for running keywords are exposed on the read side. The per-target performance list has a suggested_bid column, so
use it to fetch the suggested bid range and the actual CPC range for the same account, and present them alongside the specified value (bid and suggested_bid are on the same row).
Suggested bids for the unregistered keywords themselves still cannot be retrieved, so in that case state explicitly "the suggested bid for a new KW cannot be retrieved," and then
state only, as a fact, whether the specified value is high or low relative to the ranges above. Do not write guesses based on general knowledge as if they were data-based facts.
When you give a range, always attach the period, the number of rows, and the filter conditions you used (min_clicks and so on).
If the specified value falls below the bottom of the range, state as a warning "exposure may barely occur at all," and ask whether to continue or to raise the bid.
[Duplicate / cannibalization check]
For each specified keyword, check whether it is already registered by filtering on the keyword string. State the number of rows fetched / the scope covered / the number of unchecked rows, and if there are duplicates, show them in a table of "keyword, match type, campaign name, delivery state, bid." The creation tool does not warn about duplicates, so do not skip this check.
🔴 The filter is a partial match, so other keywords that contain the specified term as a substring will also hit.
Fetch the rows and judge duplication by whether a row exists whose keyword string matches the specified term exactly; list partial-match rows separately as "nearby terms are running."
[Negative keywords]
Because broad match widens the search terms, set negative keywords from the start. State explicitly that only exact-match negative keywords can be included in the creation preview, and if phrase-match negatives are needed, present them in a list as "items to be added separately after approval and creation."
Check the number of negative keywords in the proposal via negativeKeywords in the summary described below.
[Procedure]
Always generate the preview (draft) rather than ending with clarifying questions alone, and present every item — campaign name, ad group name, match type, keywords, bid (specified value and suggested bid), daily budget, negative keywords, target SKU — labeled as a fetched value / a specified value / a judged value.
🔴 Present the contents of the proposal by looking at campaign_plan_raw.
The items[] in the proposal details are only a summary; the values actually sent to Amazon are in campaign_plan_raw.steps[].
Items confirmed by measurement: campaign (name / targetingType / state / budget{budget,budgetType} / dynamicBidding / portfolioId),
adGroup (name / state / defaultBid), productAd (sku / state), keyword (keywordText / matchType / state / bid).
Check the counts per level in campaign_plan_raw.summary (campaigns / adGroups / productAds / keywords / negativeKeywords / targets).
Check and state the SKU resolution path via sku_resolution (source / count) in the generation response.
🔴 Present the initial state per level. Do not write it as a single combined state.
In measurement, even when the campaign was created as PAUSED, the ad group, product ad, and keywords were entered as ENABLED.
In other words, writing "I created it paused" misrepresents the state of the lower levels.
Because the start date is not included in the proposal, state explicitly "not shown in the preview (starts at the point of approval and creation)." Do not write a date by guessing.
※ The SP creation tools do not take a start date as an argument (unlike SB / SD), so write "it cannot be specified at all" rather than "I specified it but it didn't appear."
Before executing, always: present a list of the preview contents (target, setting value, expected impact) and do not apply anything to Amazon Ads until you have approval. Do not perform execution operations such as execute_proposal, nor any change that persists on the Picaro side.
🔴 A proposal remains on the account as pending approval for 24 hours from generation, and there is no way to find it in a list.
If you decide not to go ahead with the build, discard the proposal on the spot and report that you were able to discard it.
Guardrail: if duplicate keywords are found, ask for a decision on consolidating them or pausing one side; do not prioritize one of them without permission. Do not proceed to approval with zero negative keywords.
Guardrail: do not treat the fact that a proposal could be generated as "evidence that the target exists" (proposals are generated even for IDs that do not exist). Verify separately that the portfolioId and the SKU actually exist.
After executing: {{EVALUATION_PERIOD (e.g., 7 days)}} after approval and launch, compare impressions, ACoS, whether there is cannibalization with duplicate campaigns, and the search terms that actually occurred with "measure the effect of an initiative," and judge Keep if it matches expectations.
Count the evaluation period excluding the current day, up to the last finalized date where data ingestion is complete (including the current day silently gives you an effective period one day shorter).
If you left it PAUSED at creation, delivery has not started, so count from the delivery start date, not the creation date.

What you can change — the target ASIN (e.g., B0XXXXXXXX) / the keywords you want to target on broad match (e.g., amino acid shampoo, refill shampoo) / the daily budget (e.g., 2,000 JPY) / the initial bid (e.g., 78 JPY).

What you get back — a table of build candidates plus a naming-collision check against existing campaigns.

Changes — after approval, creates the SP campaign with broad-match keywords. Nothing is applied until you reply “approve.”

Next steps — to bring the best-responding terms in on Exact and Phrase match, use Prompt 2 above; review bids in Adjust bids.