Documentation overview

Promos – bonuses, rewards, and vouchers your platform grants

Promos connect The AI CMO to whatever rewards your own system can credit – casino bonuses, free spins, vouchers, discount codes, loyalty gifts. Your platform keeps the reward and the crediting logic; The AI CMO holds the catalog, decides who gets what, delivers the grant instruction, and tracks what happened afterwards. You find it in the sidebar under Connect → Promos.

The idea in one paragraph

You define each promo once – its name, the identifier your system knows it by, and the lifecycle it moves through. From then on, journeys, chat, and batch actions can grant it to customers. Every grant is delivered to your platform as a signed message; your platform credits the reward and reports back when the customer claims or uses it. Your exclusion rules run before anything is delivered – a blocked customer is never credited, and the ledger says so openly.

Setting up

Two steps, shown on the page the first time you open it:

  1. Connect your platform. Add the endpoint your system listens on and a signing secret (we generate one if you leave it empty). Every grant arrives there as a signed POST – your engineers verify the signature and credit the reward. Use Send test ping to check the endpoint answers before anything real flows. If your security team wants more, each connection can also carry an IP allowlist for the status reports your platform sends back.
  2. Create your first promo. Name it, pick a kind (bonus, free spins, voucher, discount, gift, or your own), and set the external ID your system resolves. The live preview on the right shows exactly what your platform will receive as you type.

Lifecycles are yours to define

Each promo carries its own status flow – the stages a grant moves through. One team runs sent → claimed → used; another just sent → received. The first status is set when the grant is delivered; your platform reports the rest back through the status API, and moves only go forward. The promo's page shows the funnel with exact counts per stage.

Messages and terms

A promo can carry a customer message ("Your 20 free spins are ready – valid for 7 days") and terms & conditions – full text or a URL. Both are delivered with every grant so your platform can show them to the customer. The internal description stays internal – it exists so your team knows what an item is.

Granting

  • From a journey – add the Grant promo step. It has one important property: the path continues only for customers whose credit actually applied. If your platform rejects the credit (a customer already holding a promo is the classic case), that person's path stops with the reason in the run log – so a "your bonus is live" email that follows the step can never reach someone who wasn't credited.
  • From the promo's page – open a promo and use Grant to customers: paste emails or IDs, or pick a saved audience from Customer Intelligence. The result tells you how many were granted, how many your rules stopped, and how many were already granted.
  • In chat – ask about promo performance, and the agent reads the same numbers you see on the page.

Every path runs your blacklist and suppression rules first. Stopped grants appear in the ledger as "suppressed" – reported, never silently dropped.

Test without consequences

Mark a connection as test mode, or tick "Test grant" when granting – test grants are labeled everywhere and excluded from every number. Failed deliveries retry automatically a few times; grants that keep failing stay visibly failed in the ledger with the error.

What the numbers tell you

Each promo's page answers three questions:

  • Lifecycle – how many grants sit at each stage of its flow, plus how many were stopped by your rules.
  • Revenue impact – warehouse revenue of credited customers counted only after the first grant, grouped by stage. It reads as impact, not history: a customer whose purchases all predate the grant counts as zero.
  • The ledger – every grant with its recipient, source (journey, batch, manual), and current status.

Grants also become events in your data warehouse (promo_granted, promo_claimed, and so on), so segments can target "customers with an unclaimed promo", journeys can trigger on a claim, and the customer's timeline shows the full story.