Skip to main content

AI-Optimized Campaigns

An AI-Optimized campaign doesn't send one message to everyone. Instead you give it a set of options - different messages across different channels - and the AI decides, for each individual recipient, which channel and which message they are most likely to respond to. This is "offer fit": the right offer, to the right person, on the right channel.

Unlike A/B testing (which finds the single globally best variant), AI-Optimization finds the best choice per user from that user's own attributes and behavior.

How It Works

For every recipient, the agent makes one decision:

  1. Exploit (the model) - A per-user model scores each available option using the recipient's features and picks the one most likely to hit your goal. This is the genuine personalization - different users get different choices.
  2. Explore (smart) - A small fraction of recipients (about 10%) are given an option the system is still uncertain about for that specific user, rather than a uniform random one. This keeps it learning efficiently - it tries promising-but-untested options instead of wasting sends on ones it has already ruled out.
  3. Cold start - Before the model has learned a campaign's options, choices are spread fairly so every option gets sampled. The model takes over automatically once it has data.

Only channels a recipient is actually reachable on are considered - a contact with no phone number won't be assigned an SMS or WhatsApp option, for example.

Holdout and lift

A configurable holdout percentage is held back as a control group and given a random option rather than the AI's pick. Comparing the holdout against the AI-optimized group is how you measure the real lift the optimization delivers.

The campaign's dashboard reports this from real data as it accumulates: overall uplift vs holdout, a daily learning curve, uplift by segment (e.g. per country, once each segment has enough users), and a per-offer confidence range that narrows as each offer is used more. Panels stay hidden until there's enough data - you'll never see a placeholder number.

Learning loop

Every decision is logged, and outcomes are attributed back to the decision that drove them, so the model keeps improving as results arrive (a retrain runs daily).

  • What counts as success follows your goal: Engagement rewards opens/clicks; Conversion rewards your specific conversion event (including a custom event like signup); Revenue rewards purchase value.
  • The conversion window matters. A conversion only credits a decision if it happens within the campaign's conversion window (set under conversion tracking, default 7 days) after the send - so attribution stays honest.
  • Attribution is last-touch - a conversion credits the most recent relevant decision for that user. (A campaign is a one-shot send, so last-touch is the right model. Multi-step journeys with several AI-Decision nodes instead share the credit across them - see AI-Decision nodes.)

Because the model learns from outcomes, and outcomes take time to arrive (hours for clicks, days for purchases), a brand-new set of offers is not personalized on the very first send - it starts as a fair test and personalizes as results accrue. AI-Optimization pays off most on recurring campaigns and reused offers. See Personalized Variants in A/B Testing for the same cold-start behavior.

Setting Up an AI-Optimized Campaign

  1. Navigate to Campaigns and create a new campaign, choosing AI-Optimized as the type.
  2. On the Delivery tab, configure the optimization:
    • Channels - Toggle the channels the AI may choose from (Email, SMS, Push, WhatsApp).
    • Optimization Goal - Engagement (opens/clicks), Conversion (a custom event), or Revenue (purchase value).
    • Conversion Event - Shown when the goal is Conversion; the event name that counts as success.
    • Max Messages per Week - A per-recipient frequency ceiling.
    • Holdout % - The control-group share used to measure lift.
  3. On the Templates tab, add a variant per channel - the option set the AI chooses among:
    • Email - Compose a subject and body, or pick a saved email template.
    • SMS / Push - Compose the message inline.
    • WhatsApp - Select a WhatsApp account and an approved template, then map the template variables (WhatsApp requires an approved template).
  4. Launch. The campaign decides per recipient at send time and begins learning from the outcomes.

Supported Options

ChannelWhat you can use
EmailComposed subject + body, or a saved email template
SMSComposed message
PushComposed title + body
WhatsAppAn approved WhatsApp template (with a selected account + variable mapping)

If an option can't be delivered as configured (for example, a WhatsApp variant without an account selected), the campaign reports it at launch rather than sending an invalid message.

Tips

  • Give it real choices. The AI can only optimize across the options you provide - distinct angles, offers, or channels give it more to learn from than near-identical variants.
  • Pick the right goal. Engagement optimizes for opens/clicks; choose Conversion with a specific event when what you really care about is a downstream action.
  • Keep a holdout. Without a control group you can't prove the lift. A 10% holdout is a reasonable default.
  • Be patient on day one. Early sends lean on exploration while the model gathers data; per-user personalization strengthens after the first retrain.
  • A/B Testing - when you want one globally winning variant instead of per-user selection.
  • Send Time Optimization - per-user timing optimization, which composes naturally with per-user offer selection.