I've had to watch a lot of this sort of thing happen, and customers "understand" coupon codes natively at this point - they require practically no instruction. Getting the customer through the transaction as quickly as possible is one of the prime desires for any e-commerce site that also takes phone orders, and coupon codes have been, in my experience, most effective for that.
Now, if you want to start a trend of re-training customers to expect specialized URLs they use before entering checkout -- then I'll be more than happy to switch over to that once customers expect it.
However, I feel there's a sort of paradox here: Providing discounts to new customers helps create new transactions. The more steps required to complete the transaction, the more like the customer is to abandon the transaction. If a coupon code causes customers without one to be more likely to abandon then it makes sense to require a separate step from the normal checkout workflow to use it, thereby increasing the rate of abandoned transactions.