Amazon Negative Keyword Batch Review
Own the on-demand review of MT002 search terms. A batch can start from the prepared Feishu incremental-search-term workbook, terms entered in the manual workbook, or a search-term report file/folder supplied by the user. Screen each new increment against the unified negative ledger first. Add a clear supported negative directly to the ledger as 待投放; add only a term that still needs a human decision to the manual-review queue. The manual sheet is an active review queue: when the user explicitly closes and asks to clear a batch, remove its completed entries after verifying their exact rows and saving a local pre-change snapshot. The workbook's horizontal display is a formula-only projection of the ledger, not a second data source. Do not create or maintain a duplicate total-negative workbook. This skill does not poll, schedule, call an advertising API, or automatically change Amazon Ads. Read references/mt002-workbook.md before opening the workbook. Use the current Feishu directory and the user's latest confirmed product facts over older plans or snapshots.
Route and supporting skills
- This is the primary workflow for a manual MT002 batch. Do not run the full
amazon-ppc-campaignworkflow or produce its campaign report just to review new terms. - Read
lark-sheetsfor the workbook and source sheets,lark-drivefor the current folders and report files, andlark-doconly when a product or advertising document actually needs reading. Treat the prepared incremental workbook as the primary daily source when it has new rows. Parse supplied XLSX reports with a spreadsheet-capable runtime; retain original search-term spelling and source row numbers. - Invoke
amazon-negative-keywordsonly when a term needs performance-based judgment, broader negative strategy, or cross-activity traffic routing. Its generic click/spend thresholds, broad-negative examples, savings percentages, and account-wide lists are not MT002 rules. Invokeamazon-ppc-campaignonly when the user separately requests campaign structure, bids, or budget decisions; keep those outputs distinct from this workbook's review fields. - Before relying on a changeable Amazon Ads match or placement rule, recheck the current Sponsored Products targeting guide or negative-targeting help. For this Sponsored Products workflow, plan keyword negatives as negative exact or negative phrase; distinguish them from a positively targeted broad or phrase campaign.
Read and select the batch
- Verify Feishu user identity. Get metadata for the prepared incremental workbook, the manual workbook, and the current activity/keyword snapshot. Re-list a user-supplied report folder when present and the MT002 advertising and negative-keyword folders. Record revisions, sheet IDs, exact source ranges, report file versions and times, and real row numbers. If a named sheet or folder moved, follow the current resource; do not recreate an old path.
- Apply the incremental-data gate before any folder-based import gate. Read the incremental workbook's
运行状态,监控投放, and complete used range of增量搜索词; also read the activity/keyword snapshot's current enabled-keyword section. Read campaign, ad-group, and target IDs through raw cell values, preserving their text exactly rather than comparing formatted CSV displays. Use an increment record only when its(campaign_id, ad_group_id, target_id)exactly matches one current监控投放row. This excludes paused targets, exact campaigns, other products, and stale source rows.- For an empty
增量搜索词table, or a运行状态count of zero confirmed by the table itself, report that no incremental review is due and do not add rows to the manual queue from that empty source. If the user has supplied terms in the manual workbook or it has an unfinished review, continue through the existing manual-entry path instead. - For nonempty rows, select only records not yet screened.
首次写入时间and the exact source identity(报告日期, campaign_id, ad_group_id, target_id, 实际搜索词)remain stable for a record even when the upstream reader refreshes its performance fields. Track the latest fully screened first-write timestamp in运行状态under a label such as最近完成增量筛选截至首次写入时间. If that label is absent or blank, treat the current rows as the initial unscreened set. Advance it only after every selected row has been screened and candidates have been staged or the selected set has no qualified candidates. If first-write timestamps are not monotonic, preserve and compare the exact source identity instead of relying on a time cutoff alone; never re-screen a record merely because clicks, spend, orders, or sales changed. 报告日期is the advertising data date;首次写入时间is the incremental-ingestion time. Neither is the old Feishu XLSX upload time. The prepared workbook is populated by its upstream reader; this skill reads it and must not query or modify that upstream advertising source.
- For an empty
- For each selected incremental record, use the matched monitor row as the current scope and positive target. For 自动投放, inspect the actual query for wrong category, unsupported feature, or unsuitable intent while protecting valid uses and purchases. For a 词组 or 广泛 target, compare the query against that matched positive target and review only a target-related added modifier or altered intent. A current monitor with no Broad targets is evidence that no Broad records should be screened, not permission to infer Broad coverage. Carry the exact report date, source identity, positive target, and performance fields into the review evidence.
- Apply the manual-file import gate only when the user supplied a report folder/file or explicitly requests the historical folder batch. Read the active-review sheet's
K1:L5status block. From the current report folder, derivelatest_import_timeas the latest Feishu file modification time among the in-scope search-term reports, expressed in Asia/Shanghai. This is an update signal, not the advertising report's performance period. Compare it withlast_screened_import_time:- If
latest_import_timeis later, mark that status block需运行:发现较新的搜索词导入and run the review against the complete new batch. - If the times are equal or the source has no newer file and the active queue is empty, mark
无需运行:最新导入已完成筛选; do not rerun unchanged reports or recreate completed rows. - If the times are equal but the active queue has rows, continue that queue rather than re-importing the batch.
- If the source folder or its file times cannot be read, leave the status as needing verification and do not claim that a new review is unnecessary.
Do not advance
last_screened_import_timeuntil every in-scope report in that import batch has been screened and the resulting queue has been written or the batch has no qualified candidates.
- If
- Read the complete
自动广告已否定_固定基线first. It is the only MT002 internal negative-term ledger, with one negative per row and its negative method, original category, source, batch, and投放状态. The自动广告否词_横向展示sheet is a formula view of this ledger only: never deduplicate from it or write to it. For each selected query, deduplicate against every ledger row: compare whole-query equality for否定精准and按原分类待定, and a contiguous phrase match for否定词组. Treat all three ledger states (待投放,已投放,历史已收录) as already recorded so the same negative is never queued twice. Record the matched ledger row and status in the run evidence; it prevents duplicate review but does not itself prove Amazon Ads scope. When a current activity/ad-group execution claim is needed, read the complete four user-confirmed Amazon-backend negative exports in the white and black folders, not just a sample. Record revisions, keyword text, negative match type, color, activity, and any available ad-group scope. Read the current original-activity mapping. Another activity's negatives do not transfer automatically. - In
人工新增搜索词_待判断, process rows with nonempty A only when H is not final and E is not a completed disposition (已覆盖,无需否定,同批合并, or已入否定列表). A user-edited E can close an item even if H is blank when the user confirms that the batch is complete. For an active已覆盖item being rechecked, compare its documented scope against the latest backend export and reopen it if coverage disappeared. A cleanup-only request does not require re-adjudicating the user's finished decisions; it also does not turn an E label into proof of Amazon Ads execution. Rows with H待确认or需补证remain pending unless the latest backend export now proves coverage; then record已覆盖and its source in E/G without setting H. Preserve user-entered cells and all previously final H rows outside an explicitly requested cleanup. Fill a missing B Chinese translation for each reviewed term without replacing A. - Use a deterministic row-level join against the complete backend negative export for the selected candidate's own color and activity/ad group before staging it; visual spot-checking is insufficient. Negative exact is compared to the whole query and negative phrase to a contiguous phrase. Retain source rows and audit counts. Exclude confirmed same-scope covered queries from the manual queue; do not ask the user to screen them again. Scope, match-type, or close-variant uncertainty must be stated separately. Another activity's match is context, not an exclusion and not a reason by itself to add a negative to a manual campaign.
- From the remaining candidates, carry the source type, report URL/file/sheet/row or incremental record identity, positive target where applicable, clicks, spend, orders, and report date into the evidence. Absence of a report date range in an XLSX file is not a performance verdict. Complete the first-pass screening before adding any row: exclude unified-ledger matches and clearly valid traffic. For a clear supported negative, create exactly one new ledger row with the proposed negative text,
否定精准or否定词组, source工作流自动筛选, the Asia/Shanghai run batch/time,投放状态=待投放, blankAmazon投放日期, and source evidence. Set C原分类to精准否定for a new negative exact and词组否定for a new negative phrase, unless current evidence specifically supports one of the named special groups品牌词隔离or词组广告精准否定隔离; do not create a new category label. This keeps the horizontal display complete without making it a source of record. For an unresolved product fact, possible phrase collision, scope gap, or other decision that requires the user's confirmation, stage A–J in the review queue: B is Chinese translation, F is the proposed method, and J拟加入否定词is the exact text that would be promoted. Never leave J inferred only from prose in G. Deduplicate against existing review rows by original query plus ASIN/activity and, for incremental records, exact source identity; preserve existing rows and H decisions. Group rows that propose the same negative text, match type, and target activity/ad group into one human decision, keeping other search queries and source rows in G. For already staged duplicate proposals, set E to同批合并, clear F and J, and point G to the primary row; leave H blank. If no ledger additions, unresolved rows, or pending rows exist, report that and make no edit.
Judge product intent and actual coverage
- Use a shared MT002 product-fact rule for both colors: the user has confirmed that the product has no wheels, wireless/cordless operation, or remote control. Do not infer that an unverified feature such as HEPA is absent. The user may choose
无需否定for an uncertain feature query, which closes that candidate without settling the product specification. Recheck when the product specification or the user's instruction changes. A missing Listing claim alone is not proof that a feature is absent. Separate wholly unrelated categories from product-feature mismatch and from relevant terms whose performance is weak. - Protect relevant and purchased queries, brand terms, and real product features before recommending a negative phrase. A possible collision, including
tankor a previously purchased query, goes to待核with the conflicting source. Do not use one zero-purchase batch or a universal threshold to make a permanent performance decision. - If performance evidence is needed, assess each color ASIN using its own actual activity start and attribution-mature observation window. Do not pool the two colors or infer running days from activity names.
- Resolve C/D with the current mapping when possible. A unique original activity name can identify the ASIN without changing the user's D cell; cite the mapping in G. If only A is filled, perform a product-level preliminary assessment. Without a target activity, do not claim
已覆盖for that target or issue an executable negative recommendation. - Compare the full original query against effective negatives for the same color and actual activity/ad group. An activity-level negative can cover its own groups; a group-level negative covers only that group. Use text equality or a contiguous full phrase only as a screening clue. Amazon's close variants, ambiguous boundaries, unknown target level, or incomplete activity mapping require
待核; do not present a literal comparison as proof of all Amazon matching. An old Auto negative is considered for a broad/phrase activity only when that activity's actual triggered query supports it; never bulk-copy the Auto list.
Write the review, then verify
Use the active manual workbook's columns below. For user-entered rows, preserve A/C/D and fill B only when blank; for new report-derived rows, write A–G and I into verified empty rows. Never set H as an AI decision.
| Column | Review contract |
|---|---|
| A 搜索词(原始) | Keep the exact English query; do not replace it with a standardized negative term. |
| B 中文翻译 | Translate every staged or reviewed query for the human reviewer. Mark an ambiguous abbreviation in G rather than inventing a product fact. |
| C 来源广告活动 / D 来源ASIN | Use verified original activity/ASIN mapping for report-derived rows; retain user input on existing rows. |
| E 判断结果 | 建议否定, 已覆盖, 同批合并, 无需否定, 待核, 需补来源, or 已入否定列表. 已覆盖 requires a same-scope backend source; 同批合并 points to one primary review row. 已入否定列表 is set only after a validated H=确认否定 promotion. A-only rows that could become a negative generally use 需补来源; G records the product-level preliminary view. |
| F 建议否定方式 | 否定精准 or 否定词组 only for a supported 建议否定; otherwise leave blank unless the current workbook contract explicitly changes. |
| G 备注/人工核查点 | Concise reason, product-fact or query evidence, report URL/file/sheet/row, applicable ASIN and activity/ad group, effective source if covered, possible phrase overlap, and the missing human decision. |
| I 审核日期 | Actual review date in Asia/Shanghai. |
| J 拟加入否定词 | Exact negative text for a proposed manual decision. It is required, with F, before 确认否定 can be promoted to the ledger. |
H is the user's optional final-decision field; never fill or alter it as an AI conclusion. When H is 确认否定, validate the row's F/J and ledger dedupe key, then promote it automatically to one new ledger row with source 人工审核确认, the current run batch/time, and 投放状态=待投放. Set C 原分类 from F using the same standard mapping: 否定精准 → 精准否定, 否定词组 → 词组否定, unless the user has recorded evidence for a named special group. Set E to 已入否定列表 and append the ledger-row reference to G, while preserving H and the user's input. If F or J is missing, leave it pending and state the gap. When the user directly edits E and confirms the batch is complete, respect that as their disposition for queue cleanup even if H is blank. 确认否定 and a ledger 待投放 row are instructions for the user to add a negative in Amazon Ads; neither is proof that Amazon Ads was changed. The user marks that ledger row 已投放 and fills Amazon投放日期 after the manual Amazon operation. Do not edit unrelated rows or Amazon Ads unless the user specifically asks for that change. The ledger is updated only by a clear workflow decision, a human 确认否定, or an explicit user request to add/merge confirmed negative data; do not create a second confirmation ledger. For an explicitly requested reset or cleanup, first verify the exact staged rows, E/H values, and current revision; save a local pre-change snapshot, then clear only the requested completed batch's content while preserving headers and validations. Any later backend action needs a separate explicit authorization. A later occurrence of a term must be checked against the unified ledger and the latest user-confirmed effective sources; an earlier decision alone does not mean 已覆盖.
Before writing, capture the target workbook revision, all ledger rows and dedupe keys, exact empty review and ledger row coordinates, the manual-file import gate where applicable, and the incremental workbook status where applicable. Write the intended cells only. Every new ledger row needs term, method, one of the horizontal-view categories, source, batch/time, 待投放, blank Amazon date, and evidence. Do not write values or formulas into the horizontal display: its formulas must remain the only projection mechanism. When a complete new file-import batch is screened, update the manual file-import status block with its latest_import_time, the matching last_screened_import_time, and the appropriate run state. When a complete incremental set is screened, update only the incremental workbook's processed cursor/status; do not overwrite the historical XLSX import gate. Re-read all new/updated rows and the complete ledger, verify the number of 待投放 rows equals the new unique ledger additions, verify the number of translations equals the number of staged/reviewed terms, confirm H/user cells stayed unchanged except the allowed E/G promotion update, and read the applicable status back. Re-read the horizontal display's formula anchors and representative first/middle/last values, and run a formula check after any formula or sheet-structure change. Re-list the parent folder when it was the source. Report the data-source type, newest report date or source-import time, run decision, source revisions, separate Auto and phrase/broad selection counts, ledger matches excluded, new 待投放 rows, promoted human decisions, unresolved coverage, exact workbook link, and that Amazon Ads was not modified.
Stop or narrow the conclusion
- If identity, workbook headers, the unified negative ledger, or source integrity cannot be verified, stop writes and report the specific gap.
- If a new negative recommendation depends on uncertain product support (for example HEPA), use
待核; the user's choice to keep that traffic can instead close it as无需否定. If target activity/ASIN is missing, use需补来源and product-level notes where safe. Missing scope does not prevent a preliminary intent assessment. - If the four effective-source files cannot be read, do not assert
已覆盖or an executable new negative for the affected scope. If a match may block valid demand, do not mark it directly executable; explain the collision for human review.