Why your DoorDash promo code says "not valid" (and the fix for each reason)
This is the question I expect to get more than any other, so here's the list, in the order the reason is most likely to be the problem. Work down it before you try another code.
1. You're not a new customer, even though you think you are
This is the usual reason. New-user codes don't check your email. They check your phone number, your card and your delivery address. If any of those has ordered before, the code fails. A new email on the same phone doesn't make you new. Neither does your roommate's account at your address, which is the one that catches people out. More on how the apps know.
2. Your order is under the minimum
"$15 minimum" means fifteen dollars of food, before fees, taxes and tip. If the subtotal line is a few cents short, the code fails and the error message doesn't tell you why. Add a drink.
3. The code is for a different city
Some codes are regional. DoorDash shows the same "not valid" message either way, which is unhelpful. When a code on my page has a city next to it, that's the only place I've seen it apply. When it says "all markets", I haven't seen it fail anywhere I've tried it, which isn't the same as everywhere.
4. Pickup versus delivery
Delivery-only codes fail on pickup orders and pickup codes fail on delivery. Check the toggle at the top of checkout. It's an easy one to miss.
5. It expired
Codes tend to die at the end of a day rather than in the middle of one. Look at the "checked" time on my DoorDash page. If it's from yesterday, I haven't tested it today yet and you may be early. As of this writing there's no public DoorDash code that applies at all, and the page says so. What DoorDash does offer is a new-account deal at signup, which varies by city, and the Offers tab for everyone else.
The one that isn't on the list
Typing it wrong. Copy and paste rather than retype, and that's almost never it.
If you've been through all five and the code still fails, send me the code and the error and I'll test it on an account DoorDash considers new. My guess, before you send it, is number one.