Core concepts

Campaigns

Campaigns are promotions that award extra points on top of the base earn rate. A campaign is either triggered by a purchase or by a moment in the customer's life: the two behave differently and are set up differently.


The two campaign families

FamilyTriggered byExamples
Purchase campaignA purchase that matches its rulesWeekend double points, 50 bonus points per bag of coffee
Customer-moment campaignSomething happening to the customerWelcome gift on a first purchase, birthday gift, win-back

Which family a campaign belongs to is fixed when you create it. To move a promotion to the other family, build it again as a new campaign.


How a purchase campaign pays

A purchase campaign pays in one of two ways, chosen when you build it.

Multiplier

The campaign multiplies the points the base rate actually credited, and pays only the bonus. The base points are credited separately. On a purchase that earned 100 base points, a 2x campaign pays 100 bonus points, for 200 in total.

The multiplier is a whole multiple, not a percentage

2 means 2x and 3 means 3x. The minimum is 2 and there are no fractional multipliers, so entering 200 gives you 200x rather than a 200% bonus.

A purchase that earned no base points (one below the base rule's own minimum, say) earns no multiplier bonus either. There is nothing to multiply.

Fixed points

The campaign pays a flat number of points. Applied to the whole purchase it pays that amount once; limited to specific products it pays that amount per matching unit, so three of a listed product at 50 points each pays 150.

You can also cap what a single purchase may earn from the campaign. The cap applies to the finished total, after every matching line has been counted.


Product scope

A campaign limited to specific products only bonuses lines whose article code exactly matches one of the products on the campaign. Lines with no article code, or with one the campaign does not list, earn no bonus and never cause an error. A purchase recorded as a single total, with no individual lines, is unaffected.

The product list is a snapshot taken when you save the campaign. It does not follow a category as that category gains new products, so a new SKU has to be added to the campaign yourself.


When two campaigns match the same purchase

Campaigns compete unless you mark them as combinable:

  • A combinable campaign always pays.
  • Among the rest only the strongest pays: the one worth the most points. Ties go to the campaign you created first.
  • The campaigns that lost are still recorded against the transaction, at zero points, naming the one that beat them. A promotion that quietly paid nothing can therefore be explained after the fact.

Customer moments take no part in this contest. A welcome gift is not a promotion that a weekday multiplier can outbid.


Scheduling

Only purchase campaigns carry a schedule. A customer-moment campaign is always active, because it is triggered by the customer rather than by the calendar.

A purchase campaign runs from a start date to an optional end date. Leave the end date empty and it runs open-ended. Within that window you pick one of three patterns:

  • Date range: live continuously between the two dates.
  • Days of week: live only on the weekdays you tick, still bounded by the range. Saturday and Sunday gives you a weekend promotion.
  • Specific dates: live only on the individual dates you list, for one-off event days.

If Puntjes has turned on messages on the loyalty card for your shop, a customer with the card in Apple Wallet or Google Wallet gets a short message on their phone at 06:00 Belgian time on the day a purchase campaign starts. A weekend campaign sends it on Saturday and again the next Saturday. The days in between send nothing.

Dates are evaluated in your own calendar

Whether a campaign is active on a given day is decided against your shop's local calendar date, so a purchase made just after midnight counts towards the day the shop considers it.


Customer moments

A customer-moment campaign fires on one of five moments:

MomentFires when
On their first purchaseThe customer's very first purchase. No minimum amount applies.
On every nth purchaseEvery nth purchase, counted from the day the campaign starts
On their birthdayThe customer's birthday
When they've been a customer for n yearsCounted from "customer since", or from the day the customer record was created
When they haven't been in for a whileCounted from the customer's last purchase

Each moment hands out a gift: points, a free product, or a discount. A free-product gift can list several products, each with a quantity between 1 and 99.

A few edges are worth knowing before you launch one. Birthday, anniversary and win-back gifts go only to customers with an email address who said you may email them. Everyone else gets no gift from those three moments, not only no email. First-purchase and every-nth-purchase gifts reach every customer. Points from a first or every-nth purchase land on the card with no email. Points from a birthday, anniversary or win-back gift are mailed only to a customer who does not have the loyalty card in Apple Wallet or Google Wallet, because that card already shows the new points. A free product or a discount is mailed only to customers who said yes. If Puntjes has turned on messages on the loyalty card for your shop, a customer with the card in Apple Wallet or Google Wallet also gets no email about a free product or a discount. Their phone shows a short message about the new voucher instead, and the till shows the voucher when they come in. A birthday campaign also skips customers with no date of birth on file, and anyone born on 29 February receives their gift on 28 February. An anniversary campaign can optionally include customers who already passed the mark before the campaign existed. They all receive the gift at the next daily check, which can be a large group arriving at once.

Where each moment shows up

First purchase and every-nth-purchase fire on the purchase itself, so they appear on that transaction. The calendar-driven moments (birthday, anniversary and win-back) are delivered by a daily sweep and never touch a transaction.


Campaign lifecycle

A campaign is active and applies to purchases inside its schedule, or inactive and applies to nothing.

A campaign stays active after its end date, but from the next day on the Brussels calendar it no longer applies to a purchase. The portal lists it under "Completed", while the API keeps its status at active: compare ends_at with today's date in Brussels.

The schedule constrains an active campaign on its own: one that is active but outside its date window has no effect.

Plan feature

Campaigns are a premium feature. Your billing plan must include them. Contact your platform operator to upgrade.