Introduction
💡 Overview
This guide explains how a Moja tracking customer can integrate with publishers and sellers of RTB phone calls that send inbound RTB bid requests into a Moja customer’s inbound-RTB-enabled campaign.
Each publisher receives one unique inbound RTB endpoint per campaign, supplied by the Moja customer.
🚀 1. Creating an Inbound RTB Endpoint
You must create a separate inbound RTB endpoint for each publisher inside the campaign.
ℹ️ Why one per publisher?
This ensures clean attribution, routing control, and flexible passthrough.
📸 Screenshot: Adding an inbound RTB endpoint
🔗 2. How Publishers Send Inbound RTB Requests
Publishers commonly send inbound RTB bid requests using HTTP(S) GET requests with query-string parameters. GET is the recommended default because it is easiest to inspect, share, and troubleshoot. Moja can also accept POST requests, including JSON payloads, when a publisher integration requires it.
URL Format
https://rtb.moja.cloud/inbound_rtb/{inbound_rtb_id}?CALLER_ID={{19995551234}}&tag=valueUse CALLER_ID as the standard caller ID parameter. CID is also supported. Use one of those consistently unless your Moja team confirms another alias for the campaign.
Formatting Rules
✔️ Correct
• First parameter begins with ?
• Additional parameters begin with &
• Use tag=value formatting
❌ Incorrect
• Do not use brackets in inbound RTB requests
• Do not send malformed or unencoded parameters
Example Inbound RTB Request
https://rtb.moja.cloud/inbound_rtb/inbound_rtb_1762757680608_v5hjq8?CALLER_ID={{19995551234}}&CALLER_ZIP=99999&PUBLISHER_ID=subIDUse the full endpoint URL, including https://. Replace the sample caller ID value with the caller ID value or variable from the sending platform.
🔍 3. Moja System Values
Moja automatically derives key system values:
System Value | Description |
CALLER_ID | Caller phone number |
ZIP_CODE | Derived unless supplied inbound |
CALLER_STATE | Derived unless supplied inbound |
Using System Values in Outbound RTB
Outbound RTB uses bracket syntax:
[CALLER_ID] [ZIP_CODE] [CALLER_STATE]
⚠️ Important
Brackets are used only for outbound RTB, never inbound.
📸 Screenshot: Outbound RTB system variables
🧩 4. Sending Additional Metadata
Moja captures all inbound RTB parameters, no matter the naming.
💡 Recommendation
Publishers should send any metadata they need passed to buyers for outbound RTB requests or used for supported buyer/target filtering.
Examples include:
Traffic source
Campaign identifiers
Channel / media tags
Custom tags
Lead/session IDs
Any buyer-required metadata
Filtering Support
🚫 Current Limitation
Moja currently supports target/RTB filtering ONLY on:
• ZIP
• State
• Caller ID
Custom-value filtering is not supported yet.
📸 Screenshot: Outbound RTB parameter configuration
Inbound request parameters can also be captured as Custom Tags. If you want to filter or route on publisher-supplied values such as sub_id, lead_type, traffic_source, vertical, or other custom fields, define them as Custom Tags in Moja first. Once defined, those tags can be used in Advanced Filtering on Targets and RTB endpoints.
⭐ 5. Best Practices for Publishers
Strongly Recommended
✔️ Send these for optimal routing
• CALLER_ID
• ZIP_CODE or State
Optional but Useful
• Traffic source
• Lead/session ID
• Internal identifiers
• Buyer-required metadata
🔄 6. End-to-End Flow Summary
🧭 How the full inbound → outbound RTB process works:
Step 1 — Customer Creates Inbound RTB Endpoint
A Moja customer creates one unique inbound endpoint per publisher.
Step 2 — Publisher Sends Inbound RTB Requests
Publisher submits requests using GET with query-string parameters, or POST requests including JSON payloads when required by the publisher integration. Requests should include CALLER_ID or CID, ZIP/state when available, and other agreed metadata.
Step 3 — Moja Captures System + Custom Values
Moja derives ZIP/state when needed and stores all inbound parameters.
Step 4 — Moja Builds Possible Routes for the Call
Routing may depend on caller ID, ZIP, state, routing plans, and campaign logic.
Step 5 — Outbound RTB (Optional)
Moja prepares an outbound RTB request using:
Static fields
Dynamic system fields
Passthrough values
Step 6 — Moja Connects to the Winning Target
Moja dials out and connects the call to the winning buyer target.
Additional Information:
What does the "Duration Add (seconds)" setting mean for the inbound RTB?:
Duration Add (seconds) - it adds time to the buyers offer when you’re doing dynamic bidding. In another words, if your buyer offers a conversion at 30 seconds, you can add two seconds so that you present 32 seconds to your publisher. This helps deal with discrepancies between platforms and minimizes conversion disputes with your publisher. 
What is Phone Number Allocation Time for inbound RTB?:
Phone Number Allocation Time - this is how long the publisher has to send the call to you if they accept your bid. RTB works by allocating a dynamic telephone number that is available for the duration that you said here. If the call does not make it in that time that number goes away 
🎉 Need Assistance?
If you or your publishers need help sending inbound RTB requests, mapping fields, or configuring buyers, reach out to Moja Support — we're here to help!


