TL;DR: Promo codes help visitors save money and increase sales for people already interested. Adding a promotional code to a design increases the likelihood of process abandonment, as people may wander off to another website in search of the code. Visitors that have a code could be more satisfied with their purchase, while those who don’t could be dissatisfied.
“Few things stir up a consumer revolt quicker than the notion that someone else is getting a better deal”David Streitfeld
Considerations regarding promo code addition to a design is a fairly common occurrence. However, promotional code inputs are a double sided sword. Following is a meta-analysis of reasons in favour and against the use of promo code inputs on a checkout page design, plus some solutions that are positioning themselves in between. Note that in the reasoning below, the promotional code addition on the checkout page is considered, and not in other places (e.g. on the landing page as a header, etc.)
Increase in sales volume is one of the first reasons behind the use of promo codes. The use of coupons in specific products has been documented to increase the likelihood of purchasing by 116% . Though this is observed on people that are interested in the product beforehand. In the meantime, they could help boost interactivity of shops with specific audiences; increasing products viewed by 0.54% and the probability of purchase by 0.29% .
In some cases, promo codes have been developed into a collective ecosystem managed by a third party organisation. Tools like Honey and Smart pass are either free or charging a monthly subscription (the latter) in order to provide their customers with a list of promotional codes. This process can be described as an affiliate program that could help with boosting individual sales. Furthermore, Behavioural Change Support Systems applied on these “affiliate” apps  provide an outsourced recurring sales increase.
Practical implication of the usage of targeted promotional codes would be the development of strategic behaviours in order to acquire a given product or service at a reduced service , while not affecting visitors that wouldn’t already perform a purchase.
Promotional codes are one of the little input fields that can break continuity of the checkout flow. Visitors whilst in the checkout process may initiate a search for a promotional code elsewhere, which can result in the abandonment of the purchase . This behaviour is more likely to be witnessed in audiences with higher technological knowledge . However, the more experienced (technologically) customer is beginning to be the mainstream in the current years.
Relative satisfaction regarding a purchase is directly affected by the use of a promo code. In a design that contains the prompt of adding a promotional code —that being either just an input (pre-filled or empty) or a title hinting its use— we can categorise the visitors into two groups: those with the knowledge of the code and those who don’t. When ‘fairness of price’ and ‘satisfaction’ are measured for those two groups it is found that visitors who know the code are satisfied with their purchase and believe that the price that they paid is fair, whereas for not-knowers satisfaction and perceived fairness hinders .
Equity is the matter at hand in this case, as those who have a code may perceive themselves as special, and those who don’t may feel cheated. However, the former group’s satisfaction is relative to their expectations of the supply and effect of the promo code. Consequently, dissatisfaction of the latter group is relative to their interest in acquiring a promo code.
Asos.com hides the input behind a closed card. The most prominent action is the one of adding an email address. This could help with customer dissatisfaction, by moving attention away from the blank field (that is not shown). At the same time, the design doesn’t hinder discoverability for a customer that is willing to search for the promo code field (given the proper incentive).
Myprotein.com uses a banner on every page of their shop. Informing the customer about the currently active promo code. In the checkout page, the promotional code is automatically applied and its effects are clear.