Promotion Applying to the Wrong Items
If a promotion is applying but the discount is landing on the wrong items, the problem is almost always in item group conditions, attribute mapping, or item allocation interaction between promotions. Work through these checks in order.
Check the item group conditions
Open the promotion in the Deducto Dashboard and review the item group configuration. Confirm:
- The attribute values used in the conditions match exactly what you expect — for example, a
categorycondition set to"shoes"will not match items sent as"Shoes"or"SHOES". - The quantity requirements on each group are correct. If the trigger group requires 2 items and the action group discounts 1, the allocation logic applies accordingly.
- If multiple groups are configured, check the relationships between them — which group is the trigger and which is the discounted group.
Check attribute mapping in project settings
Deducto matches items based on attribute values it reads from your Verify request. The field names in your request must match the attribute mapping configured in your Deducto project settings.
For example, if your project is configured to read a productCategory attribute but your storefront is sending category, no item will match any condition that uses that attribute. Open Project Settings in the Deducto Dashboard and compare each attribute mapping against the field names your storefront actually sends in the productData.attributes object.
For Shopify stores using product metafields, the metafield key in the mapping must include the full namespace (e.g. custom.some_metafield) and the metafield must be exposed as a filter in the Search & Discovery app. See Creating a Project for details.
Check whether Lock Affected Items is interacting with item allocation
If another promotion runs before this one and has Lock Affected Items enabled, those items are removed from the pool available to subsequent promotions. This can cause a later promotion to apply to items you didn't intend — because the items you expected it to target are already locked.
Check the evaluation order of all enabled promotions and identify any that run earlier and lock items. If a higher-priority promotion is locking the items you want this promotion to target, you may need to adjust promotion ordering, disable Lock Affected Items on the earlier promotion, or restructure your item group conditions.
Reading cartItemPromotions
The cartItemPromotions field in the Verify response shows exactly which promotions applied a discount and the total discount amount each promotion contributed to cart items. Use this to confirm which promotion is responsible for which discount.
For item-level detail — the discount applied to each individual cart item including each discount step — inspect resolvedCart.cartItems[*].discountSteps in the same response.
See Creating a Promotion and Creating a Project for configuration guidance.
Updated 25 days ago