StockSweep StockSweep | Help Center

Discount didn't apply (or partially applied)

What to do when items fail to discount, only part of a batch updates, or storefront prices don't change.

Most discount issues come from Shopify API rate limits, batch size, or storefront caching. This guide helps you diagnose and recover safely.

Estimated time: 6–10 minutes

What you'll accomplish

  • Determine whether the operation is still processing or has actually failed
  • Recover safely (retry only failed items, not the entire batch)
  • Know exactly what to send support if the issue persists

Step 1: Is it still processing?

StockSweep processes discounts differently based on batch size:

Batch size Processing mode What you see
< 10 items Synchronous — via Shopify REST API, one item at a time Results appear immediately. If there is a problem, you see it right away.
10+ items Asynchronous — via Shopify GraphQL bulk operations, processed in background A progress indicator appears. Results arrive per item as processing completes (1–5 minutes for ~100 items).

If you applied a discount to 10+ items and see a "processing" state:

  • Wait 1–5 minutes and check again
  • Do not close the page while processing is in progress
  • The operation will appear in Discount History once complete

Step 2: Check Discount History

Go to Discount History and look for the most recent operation:

Operation status What it means What to do
Completed All items in the batch were updated successfully Verify one item in Shopify Admin (see Step 4)
Partial Some items succeeded, some failed Identify the failed items and retry them in a smaller batch
Failed All items failed Check the error message, reduce batch size, and retry
Processing Still running Wait — large batches take time due to Shopify rate limits

Each item within an operation has its own status, so you can see exactly which items succeeded and which failed.

Step 3: Identify the cause

Scenario A: Only some items updated (Partial)

Most likely cause: Shopify API rate limits.

When StockSweep sends a large batch of price updates, Shopify enforces rate limits. The first items in the batch succeed, but later items may be throttled.

Fix:

  1. In Discount History, identify the failed items from the operation
  2. Select only those items
  3. Retry with a smaller batch (under 50 items)
  4. For very large catalogs, consider processing 50 items at a time with a short wait between batches

Scenario B: Nothing updated (Failed)

Possible causes (check in order):

Cause How to check Fix
Discount cap exceeded Error message says "exceeds maximum cap" Choose a lower discount percentage that is within your cap
Shopify permissions issue Error mentions "access denied" or "unauthorized" Confirm the app is still installed in Shopify Admin → Settings → Apps. Re-authorize if needed.
Shopify API outage Error is generic (500, timeout) Wait 15–30 minutes and retry. Check Shopify Status for known outages.
No items selected The Apply Discount button was clicked but no items were checked Select at least one item and try again

Scenario C: StockSweep says success but Shopify storefront shows old price

Most likely cause: storefront caching.

Shopify Admin is the source of truth for pricing. The storefront (what customers see) can lag behind due to:

Cache layer Typical delay
Shopify CDN Seconds to a few minutes
Theme-level caching Minutes (depends on theme)
Browser cache Until hard refresh
App/proxy caching Varies

Fix:

  1. Open the product in Shopify Admin → Products — confirm compare_at_price = original price and price = discounted price
  2. If Admin shows the correct prices, the discount worked. The storefront will catch up.
  3. Hard refresh the storefront product page (Ctrl+Shift+R)
  4. Test in an incognito/private browser window (bypasses browser cache)

Scenario D: Storefront shows the discount but no strikethrough

Most likely cause: your Shopify theme does not display compare_at_price as a strikethrough.

StockSweep sets compare_at_price to the original price (enabling the "Was $X, Now $Y" display), but not all themes render this automatically.

Fix: check your theme's product template to confirm it supports compare_at_price rendering. Most popular themes (Dawn, Debut, etc.) support this natively.

Step 4: Verify in Shopify Admin

After a discount is applied (or after retrying), verify one item manually:

  1. Open Shopify Admin → Products
  2. Find the discounted product and click the variant
  3. Check these fields:
Field Expected value
Price The discounted price (e.g., $80 for a 20% discount on $100)
Compare at price The original price (e.g., $100)
  1. If both fields are correct, the discount is working. Any display issues are storefront/theme related.

Step 5: Check for tag and collection side effects

If you have auto-tagging enabled, verify:

  1. The product has the configured tag (default: "clearance") in Shopify Admin → Product → Tags
  2. The product appears in your clearance/sale collection

If the discount failed but the tag was applied (or vice versa), the daily cleanup job at 4:00 AM will reconcile orphaned tags.

Quick recovery guide

Symptom Quick fix
Partial batch failure Retry only failed items, batch of 50 or less
All items failed Check error message, reduce % or batch size, retry
Storefront shows old price Hard refresh or incognito test; check Shopify Admin
No strikethrough on storefront Check theme supports compare_at_price
Discount History shows "Processing" Wait 1–5 minutes and refresh

If it is still happening (escalate to support)

After working through the steps above, if the issue persists, contact support with:

What to include Example
Store domain mystore.myshopify.com
Product/variant links Direct URLs to affected products in Shopify Admin
Batch size "50 items"
Discount percentage "20%"
Timestamp of the attempt "2026-02-21 at 3:15 PM EST"
Error message Screenshot or exact text
Discount History status "Operation shows Partial — 35 succeeded, 15 failed"
Sync vs. async "Batch was processing in background"

This gives support everything needed to investigate without additional back-and-forth.