To create a loyalty or offers campaign, we should have the following:

Events that enable customers to collect incentives.
Products for which the incentives are applicable.
Incentives to be defined such as loyalty points, discounts, cashbacks, airtime, etc.
Campaigns to create workflow automation for triggering offers & deals to intended audience.
Checkout integrations to validate coupon codes.

We will use events to describe earning rules (how your customers can collect these incentives) and campaigns to set up rules & distribute the available incentives.