When you bid on a keyword, Walmart matches it to what shoppers actually type. Some of those searches are exactly right. Others are people looking for a competitor, a freebie, your return policy, or a completely different product. You pay for every one of those clicks.
A negative keyword tells Walmart to stop showing your ad for a specific search term. WallyPilot finds the terms that took your money without ever producing an order, and gives you a reviewed queue to block them.
It is worth being precise about the mechanism, because it is simpler than most optimisation levers. Negative keywords do not make anything sell better. They remove spend that produced nothing.
Sales do not move, because that spend never produced any sales to begin with. Only the denominator shrinks, so the return rises on its own — and the budget you stop wasting is budget you can put behind terms that do convert.
Worth knowing: the recommender does not read ACOS or ROAS at all. It only looks at clicks, spend, attributed orders, and optionally add-to-carts. That keeps it honest — a term is only ever blocked because it spent real money and returned nothing, not because a ratio moved.
Open Negatives in the dashboard navigation. The page has five tabs, which map to the lifecycle of a negative keyword:
The raw evidence. Every shopper search term your keywords matched, aggregated over your lookback window.
What we recommend blocking, and the reason for each one. Nothing here has touched Walmart yet.
Everything currently blocking traffic, from any source, each with an undo.
Every resolved recommendation — applied, dismissed, expired, undone, or failed.
Your thresholds, the auto-apply toggle, and auto-campaign segmentation.
Search-term data arrives with the nightly report sync and is kept for 90 days. A new account will see an empty explorer for a day or two while that data accumulates.
The Search terms tab shows impressions, clicks, spend, orders and sales for every term your keywords matched. Sort by spend and the waste rises to the top. Use the lookback selector (7, 14, 30, 60 or 90 days) and the Zero orders only filter to narrow it down fast.
Each row is annotated before you touch anything, so you know what you are looking at:
The term converts. Blocking it will block sales.
You are bidding on this term deliberately in the same ad group.
Already blocked in this ad group. Nothing to do.
Already waiting for you in the pending queue.
Negating from the explorer skips the queue. Select rows and choose Negate selected, and those terms go straight to Walmart once you confirm. That is deliberate — it is the manual override for when you already know a term is junk.
Because it is manual, the automatic guardrails do not apply. If you pick a term with attributed orders you will get a warning, but you can still proceed. Read the warning before you confirm.
Automatic recommendations are held to a stricter standard than manual negation. Every candidate passes five checks, in order, and fails on the first one it trips:
If a term produced even one order in any attribution window, it is never recommended. This is not a setting and cannot be turned off.
If the same ad group bids on that exact term, it is left alone — you are paying for it on purpose.
Including terms already covered by a broader phrase negative, so you never get duplicates.
A term needs enough clicks and enough spend to prove it is genuinely dead rather than just unlucky.
Off by default. Turn it on to also skip terms that produced add-to-cart activity without an order.
Whatever survives all five checks lands in the Pending queue. Every row shows you the reasoning in plain numbers — for example 31 clicks, $58.28 spend, 0 orders in 30d — plus which source produced it (the daily recommender, one of your rules, or auto-campaign segmentation).
Walmart supports two negative match types, and you can flip any row before approving:
There is a limit on how many negatives can be applied per campaign per day (20 by default). If you approve more than that, the highest-spend terms are applied first and the rest simply wait for tomorrow. Nothing is lost — the worst waste is always cut first.
Pending recommendations that sit unreviewed for 30 days expire automatically. If the term is still wasting money, it will simply be recommended again.
Shows every negative keyword currently blocking traffic and where it came from. Each row has an undo. Walmart has no delete for negative keywords, so undo archives it instead — the effect is the same, and it is always available.
The full paper trail, filterable by Applied, Dismissed, Failed, Expired and Undone. Anything that failed shows the actual error from Walmart and has a one-click retry.
Every application also creates an alert, so automated changes never happen silently.
The Settings tab controls how aggressive the recommender is. The defaults are deliberately conservative:
| Setting | Default | What it does |
|---|---|---|
| Lookback (days) | 30 | How far back search-term data is aggregated. |
| Min clicks | 10 | Minimum clicks before a term can be recommended. |
| Min spend ($) | 5.00 | Minimum spend before a term can be recommended. |
| Max per campaign / day | 20 | Daily application cap, highest spend first. |
| Default match type | Negative exact | What new recommendations use. |
| Require zero add-to-carts | Off | Also skip terms with add-to-cart activity. |
| Auto-apply | Off | Skip the approval queue entirely. |
Leave it off and everything waits for your approval. Turn it on once you have reviewed a few batches and trust the recommendations, and the queue applies itself every morning. You can always turn it back off, and every automatic application is still alerted and undoable.
Auto campaigns are supposed to explore and discover new terms. Left alone, they end up re-buying traffic your manual campaigns already own. Segmentation fixes that with two mechanisms:
Automatically negates the keywords you bid on in your manual campaigns out of the selected auto campaign, so auto stops competing with manual for the same searches.
Negates your brand terms out of auto as phrase negatives, so auto spends on discovery rather than on shoppers already searching for you by name.
Segmentation deliberately negates converting terms. That is the point — the traffic should flow to your manual campaigns instead, where you control the bid. This is the one place the zero-orders rule does not apply, so only enable it once your manual campaigns actually cover those keywords.
Walmart only supports negative keywords on auto campaigns using Fixed bidding. Auto campaigns on Dynamic Bidding are shown as ineligible, because Walmart strips negatives back out of them.
Everything above is account-wide. If you want negative-keyword harvesting to run as standing policy on specific campaigns you are already running, use an automated rule.
Go to Auto Rules, create a custom rule, and set your conditions — for example Campaign Spend > $50 AND Campaign Orders = 0.
Then open the action dropdown and choose Add Negative Keywords.
In the campaign selector, pick the campaigns you already run. Campaigns that already have rules on them are flagged, so you are never guessing.
Auto-targeting campaigns are greyed out here — they are covered by auto-campaign segmentation instead.
Apply immediately on the rule only takes effect if your account-level Auto-apply setting is also on. Two switches, both yours. If either one is off, the rule fills your pending queue instead of touching Walmart. Terms with any attributed order are never negated by a rule, regardless of either setting.
| Search-term report sync | Nightly | 90 days of data retained |
| Recommender + segmentation | Daily, early morning | Fills the pending queue |
| Automated rules | Every 6 hours | Evaluates your rule conditions |
A newly created rule collects data for five days and analyses for three before it starts optimising, then runs on a three-day cycle.
Review two or three batches manually first. You will learn what your account's junk traffic actually looks like, and you will trust auto-apply when you turn it on.
Negative exact blocks one term. Negative phrase blocks everything containing it, which is powerful for junk modifiers like "free", "cheap", "used" or "recipe" — but check what else it would catch first.
Ten clicks and $5 is a low bar on a high-traffic account. Pushing min clicks to 20-25 and min spend to $15-20 gives you fewer, higher-confidence recommendations.
If nothing ever reaches your queue, the thresholds may simply be higher than any single term reaches. Try a 60 or 90 day lookback before loosening the click and spend minimums.
If your products have a long consideration cycle, an add-to-cart is a real signal of intent even without an order yet. This setting keeps those terms alive.
Harvest protection is most valuable when your manual campaigns already cover your proven keywords. Doing it too early can push traffic somewhere that is not ready to receive it.
Shopper language changes with seasons and new products. Terms that were irrelevant in March may matter in November, and the reverse.
Brand isolation is for auto campaigns only. Blocking your brand terms in manual campaigns hands those high-intent searches to competitors.
Set up the rules engine that powers the Add Negative Keywords action
Read guide →The other half of the job — finding the terms worth bidding on
Read guide →