Core Concepts
Trackly SMS is organized around several key entities that work together to power your SMS marketing.Accounts
An Account is your organization’s workspace in Trackly SMS. Each account:- Contains all your data (lists, contacts, campaigns, offers)
- Has its own team members with role-based access
- Maintains separate API keys and billing
- Can configure account-wide settings like message prepend/append text
Sending Lists
A Sending List represents a phone number configuration for sending messages. Each list includes:- A phone number (your “from” number)
- SMS provider configuration (Infobip, Twilio, CM, etc.)
- A brand name for identification
- Provider-specific credentials and settings
You can have multiple sending lists per account, allowing you to send from different numbers for different brands or use cases.
Contacts
Trackly SMS has a two-tier contact model:| Entity | Scope | Purpose |
|---|---|---|
| Contact | Global | The phone number itself with carrier info |
| ListContact | Per-list | Subscription state and activity for a specific list |
- Subscription status (active/unsubscribed)
- Signup method and date
- Custom fields you define
- Activity stats (sends, clicks, revenue)
Audiences
An Audience is a segment of contacts defined by filter conditions. Build segments using:Time-Based
Last sent, last clicked, signup date
Count-Based
Send count, click count
Custom Fields
Any field you’ve defined on contacts
Revenue
Has converted, total revenue, average revenue
Creatives
A Creative is a reusable message template. Each creative contains:- Message body with dynamic link placeholders (
{{link1}},{{link2}}) - Offer bindings for each link
- SMS segment count calculation
- Status (active, paused, archived)
- Performance metrics (sends, clicks, revenue)
Schedules
A Schedule is a campaign configuration. Trackly supports two send modes:- Blast Mode
- Automated Mode
Full editorial control:
- Create multiple message variants
- Set audience percentage splits per variant
- Choose specific offers for each variant
- Include MMS images
Welcome Journeys
A Welcome Journey is an automated sequence triggered when contacts join your lists. Journeys consist of steps:| Step Type | Purpose |
|---|---|
| Send Message | Deliver a specific creative |
| Wait | Pause for a duration (minutes, hours, days) |
| Condition | Branch based on click behavior or custom fields |
| Exit | End the journey for this contact |
Offers
An Offer represents an affiliate offer from your network. Offers include:- External platform sync (TUNE, Everflow, or manual)
- Tracking URLs
- Payout information (CPA, CPC)
- Performance statistics
Data Flow
Here’s how data flows through the platform:Team Roles
Trackly SMS supports three roles with different permission levels:| Role | API Keys | Team Management | Sending | View Reports |
|---|---|---|---|---|
| Owner | Create/View/Delete | Add/Remove/Change roles | Yes | Yes |
| Member | No | View only | Yes | Yes |
| Viewer | No | View only | No | Yes |
Multiple owners are allowed per account. Every account must have at least one owner.
Architecture Overview
Trackly SMS consists of several services:Dashboard (Cloud Run)
Dashboard (Cloud Run)
React-based web application for campaign management, reporting, and account settings. All user interactions happen here.
API Service (Cloud Run)
API Service (Cloud Run)
Flask REST API powering the dashboard and providing programmatic access via API keys.
External API (Cloud Run)
External API (Cloud Run)
Public-facing API for sending messages and managing contacts programmatically.
Message Executor (VM)
Message Executor (VM)
High-throughput polling worker that processes the message queue and sends via your configured SMS providers.
Link Tracking Service (Cloud Run)
Link Tracking Service (Cloud Run)
Low-latency redirect service for tracking link clicks with bot detection.
Job Server (VM)
Job Server (VM)
Background job processor for tasks like ML model training, LTV calculations, and data syncing.