Skip to main content
Trackly SMS automatically selects the best-performing creative for each send, maximizing clicks and revenue.

How It Works

Instead of manually choosing which message to send, automated selection:
  1. Tracks performance for every automated creative (sends, clicks, conversions, offer payout)
  2. Scores each creative by expected revenue per send
  3. Samples a winner for each send, favoring proven performers while still testing others
  4. Updates the statistics as new results come in

Enabling Automated Selection

Campaign Setup

  1. Create a campaign in Automated Mode
  2. Configure the automated percentage:
  • 80% of contacts get ML-selected creatives
  • 20% get the default creative (control group)

Available Creatives

The ML system chooses from creatives marked as Automated type:
  1. Go to Creatives
  2. Mark creatives as “Automated” type
  3. These become candidates for ML selection

The Selection Model

Trackly SMS uses Thompson Sampling with Beta distribution posteriors as the selection algorithm.

How Thompson Sampling Works

Thompson Sampling is a Bayesian algorithm that balances exploration (trying less-tested creatives) with exploitation (favoring proven winners). For each send:
  1. Sample a score from each creative’s Beta distribution posterior
  2. Select the creative with the highest sampled score
  3. After delivery, update the posterior with observed results

Two Selection Modes

Metric Optimized

The algorithm optimizes Revenue Per Send (RPS):
For CTO (cost-to-operator) offers, conversion rate is omitted:
Offers with a payout below 20arescoredasiftheypaid20 are scored as if they paid 120, so low-payout, high-volume offers aren’t penalized in scoring against higher-payout offers.

Pre-Computed Parameters

Selection statistics are recomputed for your account every six hours, so selection adds no delay at send time.

What Drives Selection

Automated selection uses Thompson Sampling, which tracks aggregate performance per creative and per offer — not individual contact history. For each creative, the system tracks: Per-contact scoring on features like send history, time of day, or custom-field values is not yet available. If a selection method offering it is configured in SMS Settings > Automation, traffic routed to that method is selected at random.

Scoring

Selection always scores creatives on Revenue Per Send (RPS), as described above. On schedules flagged CTO (cost-to-operator), the conversion-rate term is dropped and creatives are scored on click-through rate × offer value.

Configuration

Optimization settings are configured at the account level under SMS Settings > Automation. Campaigns only control automated_percent.

Cooldown Settings

Cooldown is enforced per-contact, per-creative and is configured at the account level under SMS Settings > Automation, in the Cooldown Rules section. When a contact receives a specific creative, that creative becomes ineligible for that contact until the cooldown period expires.

Selection Methods

The system supports several selection methods, configured at the account level: Multiple methods can be configured simultaneously with traffic_pct weights, routing different percentages of traffic to different algorithms. Thompson sampling naturally balances exploration and exploitation: creatives with uncertain performance get tested more frequently, while proven performers are selected more often. This replaces the need for a fixed exploration rate.

Performance Tracking

A/B vs Automated

Compare automated selection against manual:

When to Use ML Selection

  • Large contact list (5,000+)
  • Multiple creatives to choose from (3+)
  • Enough historical data (10,000+ sends)
  • Measurable conversion goals

Cold Start / Learning Pool

Creatives are placed in a learning pool until they reach your account’s configured minimum-sends threshold (default 300 sends, configurable from 50 to 10,000). A configurable percentage of traffic (default 10%) is allocated to learning creatives, which are selected randomly to gather baseline data. The remainder uses Thompson Sampling scoring. Once a creative crosses that threshold, it exits the learning pool and competes on its sampled RPS score.

Graduation Warmup Ramp

The learning percentage you configure applies only once your account holds a real competitive field. Until 20 creatives have graduated past the min sends threshold, the platform automatically raises the effective learning share:
Without this ramp, the first creative or two to graduate would immediately capture ~90% of all sends — your contacts would receive the same one or two messages repeatedly while hundreds of other creatives starved. Each additional graduate shifts 5% of traffic back to Thompson exploitation, so the transition from warmup to full optimization is gradual and self-accelerating. Accounts with 20+ graduated creatives are unaffected — the configured learning percentage applies exactly. The ramp also applies when learning percentage is set to 0: with a small graduated field, exploration continues regardless, because without it no additional creative could ever graduate.

New Accounts

Without historical data:
  1. All creatives start in the learning pool
  2. Traffic is split randomly until enough data accumulates
  3. Once a creative passes your configured minimum-sends threshold, Thompson Sampling takes over for it
  4. Selection statistics refresh every six hours as more data comes in

New Creatives

New creatives automatically enter the learning pool:
  • They receive guaranteed exposure from the learning allocation
  • Performance data accumulates until the minimum-sends threshold is reached
  • Strong performers graduate to Thompson scoring and rise to the top

Monitoring

Dashboard Indicators

Watch for:
  • Model health: Is the model performing well?
  • Creative diversity: Are all creatives getting selected?
  • Performance trends: Is click rate improving?

Alerts

Set up alerts for:
  • Model degradation
  • Single creative dominating (may indicate overfitting)
  • Performance drops

Best Practices

Keep 5-10 active automated creatives. Too few limits ML effectiveness.
Add new creatives periodically. Stale content loses effectiveness.
Always maintain some manual sends to measure ML lift.
A creative stays in the learning pool until it reaches your minimum-sends threshold. Judge its performance after it graduates, not before.

Next Steps

Campaigns

Set up automated campaigns

Reporting

Analyze ML performance