Resources › Run a field promotion

Running a code-in-pack promotion without losing control

Codes, prizes, partner shops and draws: how to organise an on-pack promotion that can be audited end to end — and that leaves you with consumer data.

A code-in-pack promotion looks simple on paper: print a code inside each pack, let the consumer enter it, hand out prizes. In practice it involves a printer, an agency, dozens of partner shops, a prize stock, a draw, and a finance team that wants to know who gave away what. Many brands start one and end it in confusion — codes printed twice, prizes promised and not delivered, a draw nobody can prove was fair. Others simply never launch.

This guide walks through the parts of an on-pack promotion that must be decided in advance, and how to keep each of them traceable from the first code to the last settlement.

Decide the mechanics before printing anything

Four questions shape the whole promotion, and they are much cheaper to answer before the codes go to print:

  • How many codes? The quota is the ceiling: codes are generated in batches, never beyond it. Once codes exist, the quota and the code prefix should no longer move.
  • What can be won instantly? Airtime, a discount, a free product, a small gift: each prize has a label, a quantity and a unit value.
  • What is kept for the draw? A weekly draw, a final draw with a bigger prize — or both.
  • Who hands prizes over? In most markets the consumer does not receive a parcel: they walk into a partner shop, show their code and leave with the prize.

Codes that cannot be guessed or reused

For a code printed inside a pack, alphanumeric codes are the only sensible choice: a QR code can be photographed on the shelf. In FunnelRover's CAMPAIGN module, each campaign has a prefix specific to your organisation and a quota; codes are generated by batch within the remaining quota, and the code file leaves as a CSV for the printer, with the prize allocated to each code when the mechanics require it.

When the consumer enters a code on the campaign's public page, three things are checked: that the code exists, that it has not been used, and that the campaign is active and within its dates. Anything else is refused. Repeated attempts from the same connection are limited, which makes guessing codes impractical.

Instant wins and draws you can defend

With code-in-pack, each validated code wins an instant prize at random, according to the stock that remains, and enters the pool for the draw. Prize quantities can be increased at any time, never reduced below what has already been awarded — so a prize promised to a consumer can never disappear from the stock.

The draw is where most promotions lose credibility. A fair draw needs three things: a winner picked at random among validated codes, a record of who ran it and when, and a visible pool size. In CAMPAIGN, each draw is logged with its date, its author, the size of the pool and the winner, one draw of each type per day, and only while a draw prize remains. The winner is notified by WhatsApp when their number is known.

If a consumer or a regulator asks "how was the winner chosen?", the answer should be a record, not a story.

Partner shops without accounts or passwords

Partner shops are the weak link of most promotions: they are many, busy, and not going to learn a new tool. The approach that works is a private link per partner. The shop opens it on a phone, validates the code the consumer shows, and confirms that the prize was handed over. No account, no password: the link is the key. If a link leaks, it is revoked — it stops working immediately — and reissued.

A campaign can be restricted to certain points of sale and territories: a code presented outside the area, or at a shop that is not a partner, is refused. That is what stops prizes leaking to places you never planned.

Settle with partners on facts

At the end, each partner expects to be reimbursed for what they handed over. The settlement screen totals, per partner, the prizes delivered and their indicative value. The reimbursement itself happens outside the platform — FunnelRover records what each partner delivered, it does not move money. Closing a code campaign requires confirming that partners have been settled, and the partners who handed over prizes are informed by email.

The part most brands forget: the consumer

A promotion is also the one moment a consumer willingly gives you something. With code-in-pack, the person validating a code can leave their WhatsApp number or email and agree to be contacted again. They then become a lead in your contacts, with their consent recorded — the start of a first-party database instead of an anonymous sales spike.

That consent is what makes the next step possible: an email or WhatsApp campaign sent only to the people who agreed to receive it.

A short checklist

  1. Fix the quota, the prefix and the prize table before printing.
  2. Use alphanumeric codes inside the pack.
  3. Recruit and brief partner shops before launch, one private link each.
  4. Limit the campaign to the territories where the product actually ships.
  5. Schedule the draws and say publicly when they happen.
  6. Offer the consumer a reason to leave a number — and ask for consent in plain words.
  7. Close only once partners are settled.

A promotion run this way is not only calmer. It leaves you with an audit trail, a settled partner network, and a list of consumers who chose to hear from you again.