Многоразовые промокоды (все пользователи получают одинаковый промокод)
Персональные (у каждого уникальный промокод)
 Легко сделать. Нужно придумать только одну комбинацию из букв и цифр и раздать покупателям.
 Сложнее реализовать. Нужен процессинг для покупок по промокодам. Он будет генерировать уникальные промокоды и применять их в момент покупки.
 Срок действия сложно ограничить во времени.
 Срок действия ограничен.
 Можно использовать повторно. Повышается вероятность мошенничества — промокод могут слить на сайт-купонатор и любой человек получит особые условия просто так, не совершив целевое действие.
Например, магазин дарит всем новым клиентам промокод на скидку. Но у него нет четких алгоритмов идентификации клиентов и промокод появляется на сайте-купонаторе. И вместо 5000 клиентов, как планировалось, промокодом воспользовались 12 000 человек. При этом отделить случайных от настоящих заинтересованных клиентов невозможно. В итоге денег потратили больше, чем планировали, цели акции не достигли и не получили корректную статистику по участникам акции.
 Можно использовать только один раз. Это гарантирует, что его не сольют в сеть, и помогает качественно собирать статистику по акции.