Instant rejection
The problem is the code string
If “invalid code” appears the moment you hit apply, the cart rejected the text without asking the server. That points at a typo, a stray space, or a lookalike character. Go to Fix 01.
Troubleshooting · five fixes
intro20 was last confirmed at a real GoodLabs checkout on . When a code that works generally won’t work for one person, it’s nearly always one of five things — listed below in the order they actually turn out to be the cause.
Short answer
The GoodLabs promo code is
intro20
20% off your first order
Saved to clipboard, paste at checkout
Status: active at last check
How fast the rejection comes back tells you which half of the list to read. It’s the quickest diagnostic available and it costs you one attempt.
Instant rejection
If “invalid code” appears the moment you hit apply, the cart rejected the text without asking the server. That points at a typo, a stray space, or a lookalike character. Go to Fix 01.
Rejection after a pause
A brief spinner before the error means the server checked the code and declined it for this order. The code is real; something about the cart or the account disqualified it. Go to Fix 02.
Work down the list. Most people are fixed by the first two, and the whole list takes under three minutes.
Copying from a notes app, a PDF, or a chat message can bring an invisible trailing space with it, and plenty of fonts render a lowercase L and the digit 1 identically.
Type intro20 manually: lowercase i-n-t-r-o, then the digits two and zero. No spaces, no capitals needed.
Carts take one promo code per order. If a seasonal offer or a referral credit was applied automatically, the field will refuse a second code — sometimes without saying why.
Remove the existing discount, apply intro20, and compare the totals. Keep whichever is larger.
If the code was accepted but the total barely moved, the discount probably landed on some line items and not others. Certain products, bundles, and add-ons can be excluded.
Compare the discount row against 20% of your subtotal. If it’s short, remove items one at a time to find the excluded one.
Stale carts are a common culprit, and coupon-hunting browser extensions are worse — they inject and retry codes in the background and can leave the field in a broken state.
Open a private or incognito window, disable coupon extensions, rebuild the cart from scratch, and apply the code once.
intro20 is a first-order code. If you’re signed in to an account that has ordered before — or someone in your household used it on this account — the cart can decline it on eligibility grounds while the code itself is perfectly active.
GoodLabs sets eligibility, exclusions, and final terms, and can change them without notice.
If you’ve worked the list and intro20 still won’t apply on a genuine first order, the likeliest remaining explanation is that the code stopped working since our last check — and that’s our problem, not yours.