When to use Keyword Search
Use the Keyword Search module when the products to offer can be described by Shopify product data and should update without maintaining a separate collection.
The visual builder supports:
- Product tag;
- Product name;
- Keyword;
- Product type;
- Price.
Use a Collection module instead when the merchandising team already maintains the exact product pool and order in Shopify.
Build the product rules
- Open an upsell strategy.
- Under Product modules, select Add Module.
- Select Keyword Search.
- Under Products to offer, configure the first rule.
- Select Add rule for each additional condition.
- When there is more than one rule, choose whether products must match All rules or Any rule.
- Review the product preview.
- Configure quantity and offer text, then add the module and save the strategy.
The builder creates the Shopify search query used at runtime. Products must also be available for sale, and products excluded by the store's Hidden Products settings are not offered.
Checkout returns at most 10 products from a Keyword Search module. Use focused rules and module order to control the most relevant candidates.
Choose a rule
Field | Conditions | Behaviour |
|---|---|---|
Product tag | is any of, is none of | Matches exact Shopify product tags. Multiple included values use OR; multiple excluded values must all remain absent. |
Product name | contains, does not contain | Matches words or phrases in the product title. |
Keyword | matches, excludes | Searches Shopify's general product-search terms. |
Product type | is any of, is none of | Matches the product type saved in Shopify. |
Price | under, over | Matches variant prices below or above the amount entered. |
Use All rules when each condition must be true. Use Any rule when a product can qualify through more than one alternative.
For example, use Product tag is any of accessory and Price under 50 with All rules to create a lower-priced accessory pool.
Write the query manually
Select Write query manually when the visual fields cannot express the search you need. The editor accepts Shopify search syntax, for example:
tag:"sale" AND variants.price:<50The manual editor checks for unclosed quotes, missing brackets, empty brackets, and incomplete AND, OR, or NOT operators. Correct those errors before saving.
Select Back to rules to return to the visual builder. Clauses that the rules cannot represent appear as Kept as written and remain in the saved query until you remove them.
Opening an existing module does not rewrite its query. If a saved query mixes logic the visual builder cannot safely display, Order Editing opens it in manual mode and keeps the original text unchanged. Make a deliberate edit before expecting the saved query to change.
Check the preview
The preview applies the same availability and hidden-product constraints used by the customer-facing offer.
Before saving:
- confirm the preview includes the intended products;
- check that excluded tags, names, types, or keywords are absent;
- test a price boundary on both sides of the amount;
- review every market used by the strategy;
- keep the strategy in Draft until the live placement is ready.
A preview shows the products that match now. It does not guarantee that inventory, publication state, market availability, or product data will remain unchanged.
Troubleshooting
No products match
Check the exact tag, title, product type, keyword, and price values in Shopify. Remove one rule at a time to find the condition that narrows the query to zero results.
Too many products match
Switch from Any rule to All rules, add a more specific condition, or use a curated Shopify collection.
A product is missing from the preview
Confirm it is active, available for sale in the relevant market, not hidden by Order Editing, and inside the price boundary for at least one eligible variant.
The module opens as a manual query
The saved query contains logic the visual rules cannot display safely, or it contains a syntax problem. Read the information banner, correct any reported error, and keep manual mode when preserving the exact advanced query is important.



