Docs/Retention Engine/AI Message Generation

AI Message Generation

Leverage AI to generate personalized, contextual messages that drive player engagement and retention.

10 min read

Overview

Ilara uses advanced AI to generate personalized messages for each player based on their behavior, preferences, and lifecycle stage. Messages feel human-written while scaling to millions of players.

Key Benefits
  • Personalized at Scale: Unique messages for each player
  • Context-Aware: References recent activity, achievements, progress
  • Multi-Language: Auto-translate to player's language
  • Brand Voice: Maintains your game's tone and style

How It Works

  1. Trigger: Event or schedule triggers a message campaign
  2. Context Collection: Ilara gathers player context (events, attributes, segment)
  3. Generation: AI generates personalized message using your templates
  4. Review (optional): Messages can be queued for human review
  5. Delivery: Sent via push, email, or in-app

Message Templates

Templates provide structure while allowing AI to personalize content:

Template Example
json
{
class="code-string">"name": class="code-string">"Re-engagement - Lapsed Player",
class="code-string">"trigger": class="code-string">"player_inactive_7_days",
class="code-string">"channel": class="code-string">"push",
class="code-string">"template": {
class="code-string">"title": class="code-string">"We miss you, {{player.name}}!",
class="code-string">"body": class="code-string">"{{ai:personalized_message}}",
class="code-string">"action_url": class="code-string">"/game/daily-reward"
},
class="code-string">"ai_context": {
class="code-string">"tone": class="code-string">"friendly_casual",
class="code-string">"goal": class="code-string">"re-engage lapsed player",
class="code-string">"mention": [class="code-string">"recent_achievement", class="code-string">"friends_activity", class="code-string">"new_content"],
class="code-string">"max_length": 160
}
}

Template Variables

VariableDescriptionExample
{{player.name}}Player display nameAlex
{{player.level}}Current player level45
{{player.last_seen}}Time since last session3 days
{{ai:personalized_message}}AI-generated contentYour guild misses you!
{{game.event_name}}Current live eventWinter Festival

AI Context Configuration

Tone Options

ToneDescriptionBest For
friendly_casualWarm, conversationalRe-engagement, casual games
exciting_urgentHigh energy, FOMOLimited events, sales
helpful_supportiveEncouraging, informativeTutorial help, tips
mysterious_intriguingCuriosity-drivenNew content reveals
competitiveChallenge-focusedPvP, leaderboards

Content Goals

  • re_engage — Bring back inactive players
  • upsell — Promote premium content/IAP
  • celebrate — Acknowledge achievements
  • inform — Share news, updates, tips
  • social — Encourage social features
  • retain — Prevent churn for at-risk players

Personalization Features

Player Context

AI has access to player data for personalization:

  • Recent achievements and milestones
  • Favorite game modes or items
  • Friends and guild activity
  • Purchase history and preferences
  • Time played and session patterns
  • Current progress and next goals
Generated Message Example
json
class=class="code-string">"code-comment">// Input context
{
class="code-string">"player": {
class="code-string">"name": class="code-string">"DragonSlayer99",
class="code-string">"level": 45,
class="code-string">"last_achievement": class="code-string">"Defeated Fire Dragon",
class="code-string">"days_inactive": 5,
class="code-string">"favorite_mode": class="code-string">"raids"
},
class="code-string">"game": {
class="code-string">"new_content": class="code-string">"Ice Realm expansion",
class="code-string">"guild_activity": class="code-string">"Guild completed 3 raids"
}
}
 
class=class="code-string">"code-comment">// AI-generated message
{
class="code-string">"title": class="code-string">"The Ice Realm awaits, DragonSlayer99!",
class="code-string">"body": class="code-string">"Your guild completed 3 raids while you were away! The new Ice Realm expansion has challenges perfect for a dragon slayer like you. Ready for round 2? 🐉❄️"
}

Creating Campaigns

Dashboard Setup

  1. Go to Retention → Campaigns → Create
  2. Select campaign type (re-engagement, celebration, etc.)
  3. Choose target segment
  4. Configure AI message template
  5. Set delivery channel and timing
  6. Review and activate

API Setup

Create Campaign via API
json
POST /v1/notifications/campaigns
{
class="code-string">"name": class="code-string">"Lapsed Player Re-engagement",
class="code-string">"segment_id": class="code-string">"lapsed-7-days",
class="code-string">"channel": class="code-string">"push",
class="code-string">"template": {
class="code-string">"type": class="code-string">"ai_generated",
class="code-string">"ai_config": {
class="code-string">"tone": class="code-string">"friendly_casual",
class="code-string">"goal": class="code-string">"re_engage",
class="code-string">"mention": [class="code-string">"recent_achievement", class="code-string">"new_content"],
class="code-string">"max_length": 160,
class="code-string">"include_emoji": true
},
class="code-string">"fallback": {
class="code-string">"title": class="code-string">"We miss you!",
class="code-string">"body": class="code-string">"Come back and see what's new!"
}
},
class="code-string">"schedule": {
class="code-string">"type": class="code-string">"trigger",
class="code-string">"trigger_event": class="code-string">"player_inactive_7_days"
}
}

A/B Testing Messages

Test AI-generated messages against manual templates:

A/B Test Configuration
json
{
class="code-string">"name": class="code-string">"AI vs Manual Message Test",
class="code-string">"variants": [
{
class="code-string">"name": class="code-string">"control",
class="code-string">"weight": 50,
class="code-string">"template": {
class="code-string">"type": class="code-string">"static",
class="code-string">"title": class="code-string">"Come back to the game!",
class="code-string">"body": class="code-string">"New content is waiting for you."
}
},
{
class="code-string">"name": class="code-string">"ai_generated",
class="code-string">"weight": 50,
class="code-string">"template": {
class="code-string">"type": class="code-string">"ai_generated",
class="code-string">"ai_config": {
class="code-string">"tone": class="code-string">"friendly_casual",
class="code-string">"goal": class="code-string">"re_engage"
}
}
}
],
class="code-string">"success_metric": class="code-string">"return_within_24h"
}

Best Practices

  • Set clear goals: Define what action you want players to take
  • Respect frequency: Don't spam players with too many messages
  • Test variations: A/B test tones, lengths, and calls-to-action
  • Monitor metrics: Track open rates, click rates, and conversions
  • Use fallbacks: Always have a static fallback if AI generation fails
  • Review sensitive: Enable human review for high-value segments

Next Steps