Skip to main content

Creating your first Campaign

Written by Luis Colmenares

What is a Campaign?

A Campaign in Moja AI is the central system that controls how inbound calls are:

  • Received (via numbers)

  • Routed (via routing plans or call flows)

  • Monetized (via payouts and buyers)

  • Optimized (via caps, RTB, and routing logic)

Every call must pass through a campaign before reaching a destination.


Campaign Setup Overview

To successfully launch a campaign, you need to configure:

  1. Basic Information

  2. Routing Configuration

  3. Numbers & Publishers

  4. Inbound RTB (optional)

  5. Call Handling & Compliance

  6. Caps & Traffic Control

  7. Integrations (Webhooks)

  8. IVR & Dispositions


1. Basic Information


Name (Required)

Unique identifier for your campaign.

Best Practice:
Use: Vertical + Geo + Traffic Source
Example: Solar Inbound US – Facebook


Organization ID

Auto-assigned. No action required.


Timezone

Controls scheduling, caps, and reporting.

Best Practice:
Match your target market.


Everflow Integration (Optional)

Everflow Offer ID

Links the campaign to Everflow for postback attribution.


2. Routing Configuration


Execution Mode

Defines how calls are processed:

Routing Plan

  • Standard routing system

  • Uses priorities, weights, and logic

Call Flow

  • Step-by-step routing (IVR-style)


Routing Plan

Options:

  • Create New

  • Select Existing

This is where you define:

  • Buyers (targets)

  • Distribution logic

  • Fallback handling


3. Numbers & Publishers


Numbers

Add Number

You can:

  • Assign an existing number

  • Create/buy a new number

  • Group numbers


Number Configuration

Each number includes:


Payout Type

  • Static → Fixed payout

  • Dynamic → Variable payout (RTB or logic-based)


Amount

Defines how much is paid per qualified call.


Payout Condition

Example:

  • Call Successfully Connected


Duration (sec)

Minimum duration required for payout.


Routing Plan Overrides

Add Override

Allows custom routing per publisher.

Example:

  • Facebook → Buyer A

  • Google → Buyer B


4. Inbound RTB Publishers


Add Inbound RTB

Creates a real-time bidding endpoint.


Core Fields


Endpoint

Generated after saving the campaign.
Used by publishers to send RTB requests.


Endpoint Active

  • Enabled → accepts traffic

  • Disabled → stops traffic instantly


Publisher (Required)

Assign the traffic source.


Mode


Dynamic Mode

  • Real-time bidding

  • Variable payouts

Includes:

  • Rate Limit (e.g., 100 requests/min)

  • Payout % (revenue share)

  • Duration adjustments


Static Mode

When selected, RTB behaves like a fixed payout system.


Fixed Payout

A constant payout per qualified call.

Example:
$25 per call


Payout Condition

Defines when payout triggers.

Example:

  • Call connected

  • Call duration ≥ 60 seconds


Static vs Dynamic

  • Static → predictable payouts

  • Dynamic → optimized via bidding


5. Campaign Status


Status

  • Active → live

  • Inactive → paused


6. Compliance & Call Handling


TCPA Compliance

Blocks restricted or flagged caller IDs.


Duplicate Call Routing (Sticky Caller)

Ensures returning callers are routed consistently.


When a Returning Caller is Detected

Route to Same Buyer

The caller is routed to the same buyer they previously connected with.


Check for Previous Routes To


Option 1: Entire Campaign

  • Checks all past connected calls

  • Routes caller back to last buyer


Option 2: Only Selected Targets or Buyers

Enables Entity-Specific Settings


Entity-Specific Settings


Select Targets (Optional)

Only consider specific targets.


Select Buyers (Optional)

Only consider selected buyers.


Lookback Window

Define how far back to check:

  • Hours / Days / Weeks / Months


Example

  • Buyer A → 30-day lookback

  • Buyer B → excluded

→ Only Buyer A retains returning callers


Duplicate Payout Settings

Prevents duplicate payouts based on:

  • Caller

  • Campaign

  • Publisher


7. Publisher Caps (Traffic Control)


Add Cap

Controls how much traffic a publisher can send.


Cap Type

Defines what is being limited:


Connected Calls

Only successful connections.


Converted Calls

Only calls that meet conversion criteria.


Total Calls

All incoming calls.


Revenue

Total money generated.


Cap Action

Defines what happens when the cap is reached:


Notify Only

  • Sends alerts

  • Does NOT restrict traffic


Lower Bid

  • Reduces priority

  • Traffic decreases gradually


Make Ineligible

  • Fully blocks publisher

  • Hard stop


Additional Fields


Limit

Maximum allowed value.


Timeframe

Daily, hourly, etc.


Warning Threshold (%)

Triggers alerts before reaching the cap.


Notifications

  • In-app

  • Slack integrations


8. Webhooks


Outgoing Webhooks

Send data when events occur:

  • Call started

  • Call completed

  • Conversion


Incoming Webhooks

Receive external data:

  • Pre-call enrichment

  • Revenue updates

  • Tagging


Important:

  • Only one pre-call webhook per campaign

  • Post-call updates can apply globally


9. IVR Payout Rules


Add Payout Rule


Filters

Define conditions:

  • Call behavior

  • IVR selections

  • Outcomes


Payout Amount

Amount paid when conditions are met.


10. Dispositions & Questions


Call Dispositions

Categorize outcomes:

  • Not Interested

  • Callback

  • No Answer

  • Etc


Example Campaign Structure

Campaign: "Solar Inbound US"
├── Numbers: (Tracking numbers)
├── Publishers
├── Routing Plan:
│ ├── Buyer A (Static)
│ ├── Buyer B (RTB)
│ └── IVR Overflow
├── Sticky Caller: Enabled (30-day lookback)
├── Caps:
│ ├── Publisher 1 → 100 connected calls/day (Lower Bid)
│ └── Publisher 2 → $1,000 revenue/day (Hard Stop)
└── Webhooks: CRM Integration
Did this answer your question?