Video walkthrough: Watch the full campaign setup walkthrough.
This guide walks through the cleanest way to build and test a simple number-based call campaign in Moja AI.
For your first campaign, create the required records first, then connect them inside the campaign. This avoids opening several setup windows from inside the campaign builder and keeps the launch flow easier to follow.
Recommended setup order
For a simple static call campaign, use this order:
Create a Publisher
Create a Buyer
Create a Target for that buyer
Create a Routing Plan and add the target
Create the Campaign, select the routing plan, and add a tracking number
Place a test call and verify the call log
Do not send live traffic until a test call confirms routing, attribution, duration, and payout behavior.
Example first campaign
This article uses a simple example campaign:
Field | Example |
Publisher | Test Publisher |
Buyer | Test Buyer |
Target | Buyer Main Line |
Buyer payout | $20 after 90 seconds |
Publisher payout | $15 on conversion |
Routing plan | Test Buyer Route |
Campaign | Medicare Test Campaign |
Number | Assigned tracking number |
Required dependencies
Moja campaign setup has dependencies. Create these records in the right order to avoid getting blocked during setup:
Publisher: Represents the source or seller sending calls into the campaign.
Buyer: Represents the company or destination buying or receiving calls.
Target: Requires a buyer. Calls routed to the target are attributed to that buyer.
Outbound RTB endpoint: Also requires a buyer. You only need this if you are selling or transferring the opportunity through an RTB integration instead of routing directly to a call destination.
Routing Plan: Requires at least one target or outbound RTB endpoint. The routing plan decides which destinations are eligible to receive calls.
Campaign: Requires a publisher and routing plan. The campaign needs a traffic source and a routing plan to know where calls should go.
Number or inbound RTB source: Requires a publisher and campaign so traffic and payouts can be attributed correctly.
Simple path: For your first campaign, use a phone number or SIP target. You only need outbound RTB if the buyer receives opportunities through an RTB integration instead of a direct call destination.
Buyer payout vs publisher payout
Before configuring the campaign, make sure the buyer and publisher payout terms are clear:
Buyer payout is what the buyer pays you when the call qualifies.
Publisher payout is what you pay the publisher or source when the call qualifies.
Important: Make sure publisher payout is lower than buyer payout unless this is intentional.
In this guide, a conversion means the call met the configured qualification rule, such as connecting for at least 90 seconds.
Before you start
Have these details ready:
Publisher name — the seller, affiliate, partner, or internal source sending calls
Buyer name — the buyer or destination receiving calls
Target destination — phone number, SIP endpoint, or outbound RTB endpoint details
Buyer payout terms — payout amount, payout condition, and minimum call duration required for conversion
Publisher payout terms — how much the publisher should be paid and when
Hours of operation — when the target should receive calls
Tracking number or inbound RTB plan — how calls will enter the campaign
1. Create the publisher
A publisher is the source of calls coming into your campaign. This may be an affiliate, seller, partner, media source, or an internal publisher used to track calls your own team generates.
Go to Publishers.
Select Create New.
Enter the publisher name.
Configure any optional publisher settings, such as whether call recording is allowed.
Save the publisher.
Tip: If you are testing with your own traffic, you can create an internal publisher such as Internal Publisher or Test Publisher.
2. Create the buyer
A buyer represents the company, client, or destination that receives the call.
Go to Buyers.
Select Create New.
Enter the buyer name.
Add optional buyer details such as phone number, email, revenue limits, active status, or recording settings.
Save the buyer.
3. Create the target
A target is the destination where Moja sends the call. A target requires a buyer because calls routed to that target are attributed to the buyer.
Go to Targets / RTBs.
Open Targets.
Select Create New.
Name the target, such as Buyer Main Line.
Select the buyer you created earlier.
Choose the target type, such as a phone number target or SIP target.
Enter the destination details.
Configure the buyer payout amount and payout condition.
Set the minimum call duration required for conversion, such as 90 seconds.
Set the target status to Active.
Configure target hours, or leave the target always open for a basic test.
Save the target.
Example: If the buyer pays $20 for calls connected for at least 90 seconds, set the buyer payout amount to $20 and use a 90-second conversion duration.
4. Create the routing plan
A routing plan decides which targets are eligible to receive calls. A campaign needs a routing plan before it can route calls.
Go to Routing Plans.
Select Create New.
Name the routing plan, such as Test Buyer Route.
In the route section, choose Target.
Select the target you created earlier.
Save the routing plan.
Tip: For your first campaign, keep the routing plan simple. Start with one target, confirm calls connect, then add priorities, weights, fallback logic, or additional destinations later.
5. Create the campaign
Now that the publisher, buyer, target, and routing plan exist, create the campaign and connect everything together.
Go to Campaigns.
Select Create New.
Enter the campaign name, such as Medicare Test Campaign.
Confirm the campaign timezone.
Set execution mode to Routing Plan.
Select the routing plan you created earlier.
The routing plan controls where calls can go. Without it, the campaign has no destination path.
6. Add a number or inbound source
The campaign needs a way to receive calls. For a simple first campaign, start by adding a tracking number.
In the Numbers section inside the campaign, select Add Number.
Choose an available number, or purchase/provision a new one.
Assign the publisher you created earlier to the number.
Set the publisher payout amount.
Choose the publisher payout condition.
Save the number configuration.
Example: If the buyer pays $20 and the publisher should receive $15 when the call converts, set the publisher payout to $15 and use the matching conversion-based payout condition.
Inbound RTB note: If the publisher will send inbound RTB requests instead of calls to a tracking number, add an inbound RTB endpoint in the campaign. Inbound RTB also requires a publisher so traffic and payouts can be attributed correctly.
7. Review campaign settings
Before testing, confirm the basic campaign settings:
Campaign status is Active
The correct routing plan is selected
At least one target in the routing plan is active
The number or inbound source is assigned to the right publisher
Buyer payout and publisher payout rules match your agreements
Production warning: If recording, TCPA scrubbing, caps, duplicate routing, webhooks, QAI, or compliance rules are required for this customer, configure and verify them before launch.
8. Place a test call
Before sending live traffic, place a test call through the campaign.
Call the tracking number or send a test request through the inbound source.
Confirm the call reaches the expected target.
Open the call log.
Confirm the campaign, publisher, buyer, target, routing result, and duration look correct.
If payout or conversion rules should trigger, confirm the call met the required condition.
How to know the campaign is working
A successful test call should show:
The call appears in the call log
Campaign name is correct
Publisher/source is correct
Buyer and target are correct
Routing result is successful
Duration is recorded
Conversion and payout fire only if the duration rule is met
Recording appears if recording is enabled
If the test call does not work
Symptom | Likely cause |
Call does not reach target | Campaign inactive, number not attached, routing plan missing, or target unavailable. |
Call reaches wrong destination | Wrong routing plan or target selected. |
No payout or conversion | Minimum duration condition was not met, or payout condition is configured differently than expected. |
Publisher missing in log | Number or inbound source is not assigned to the publisher. |
Target unavailable | Target inactive, outside business hours, capped, blocked by duplicate rules, or unavailable because of routing/availability settings. |
Launch checklist
Publisher exists
Buyer exists
Target exists and is tied to the buyer
Routing plan exists and includes the target
Campaign is active and points to the routing plan
Number or inbound RTB source is attached to the campaign
Publisher is assigned to the number or inbound source
Buyer payout is higher than publisher payout, unless intentionally configured otherwise
Payout and conversion settings are correct
A test call connects successfully
The call log shows the expected routing and attribution
Advanced options after launch
After your first campaign is working, you can add more advanced controls such as:
Multiple targets
Priority and weight distribution
Publisher-specific routing
Inbound RTB
Outbound RTB
Caps and filters
Duplicate routing
Webhooks
TCPA scrubbing
QAI dispositions
Call flows