Survey Panel Integration
Complete guide for adding placements, setting up postbacks, and tracking survey completions
This documentation provides step-by-step guidance on how to:
- 1Add and manage placements
Set up traffic sources and publishers
- 2Set up and verify postbacks
Track completions and other events
Your panel will be integrated with external traffic sources or affiliates who need placements and accurate tracking.
📍 Placements
What is a Placement?
A placement represents a traffic source or publisher sending users to your survey panel. Each placement has a unique ID and can be configured individually for targeting, payouts, etc.
🔧 Create a New Placement
/api/placements/create
Create a new placement
Request Example:

Add Placement with all the required paramters.
🔁 Tracking URL Structure
Use the tracking URL to send traffic to your panel.
Example:
https://enlignesurvey.com/iframe?placement_id=plc_123456&user_id={respondent_click_id}
Parameters
Parameter | Description |
---|---|
placement_id |
Placement ID |
user_id |
Unique respondent ID for tracking (passed back on postback) |
🔁 Postbacks
What is a Postback?
A postback is a server-to-server callback that notifies the partner of user actions like survey completions.
✅ Available Postback Events
survey_completed (1)
User completed a survey
screened_out (0)
User was disqualified
🔧 Add or Edit Postback URL
/api/placements/update-postback
Set or update the postback URL for a placement.
Request Example:

🛰️ Postback Firing Format
URL Format:
https://example.com/postback?camp_id=xyz123&p_id=3634c34fdfd4535533&sid=11&respid=23&status=1&country=IN&ip=121.1.1.0&txn=343jdfu4343hvdh3434nj34&supp_payout=1.5&resp_payout=0.5&offer_name=survey
Variables Available:
Variable | Description |
---|---|
{campaignId} |
Unique Campaign ID |
{placementId} |
Placement ID of supplier specific placement |
{supplierId} |
Unique supplier ID |
{respondentId} |
Respondent unique click ID |
{surveyStatus} |
survey_completed (1), screened_out (0) |
{countryIso} |
Country Name |
{ipAddress} |
IP Address of respondent |
{transactionId} |
Unique transaction ID of each click |
{supplierCommission} |
Payout to Supplier |
{respondentCommission} |
Payout to Respondent |
{affSubId} |
Affiliate Sub ID |
{offerName} |
Name of the campaign |
📤 Example Postback Sent
Example URL Called:
https://partner.com/postback?subid=abc789&event=survey_completed&payout=0.70
HTTP Method: GET or POST (configurable)
🧪 Testing
Test Your Placement
You can test postbacks by using our internal testing tool or test URL:
Test URL Format:
https://yourpanel.com/test-postback?plc=plc_123456&subid=test123&event=survey_completed&payout=0.50
Expected Result:
- Partner should receive the postback with the values sent
- Your system will log the response for debugging
🧪 API Feed
Access API Feed
You can access complete inventory by using our internal feed API through access token proivded to you in the dashboard:
API Feed Format:
https://enlignesurvey.com/get/api_feed/{access_token}
Expected Result:
{
"message": [
{
"survey_id": "LMS-CAMP-3",
"name": "Enligne Survey",
"payout": "0.05",
"description": "complete a survey ",
"entry_url": "https://enlignesurvey.com/start_survey?survey_id=LMS-CAMP-3&user_id={userId}&placement_id={placement_id}&company=campaign&country={country}&ip={ip}"
},
{
"survey_id": "LMS-CAMP-5",
"name": "Enligne Survey ",
"payout": "1.3",
"description": "Get $50",
"entry_url": "https://enlignesurvey.com/start_survey?survey_id=LMS-CAMP-5&user_id={userId}&placement_id={placement_id}&company=campaign&country={country}&ip={ip}"
},
{
"survey_id": "LMS-CAMP-9",
"name": "Enligne Survey",
"payout": "4.55",
"description": "Payable action: New FTD - $20 accumulative baseline + wager",
"entry_url": "https://enlignesurvey.com/start_survey?survey_id=LMS-CAMP-9&user_id={userId}&placement_id={placement_id}&company=campaign&country={country}&ip={ip}"
}
],
"status": "Success"
}
🛡️ Security & Best Practices
Whitelist IPs
Optionally, allow postbacks only from our server IPs.
Use Tokens
Add a security token or hash in postback to verify authenticity.
Logging
Enable postback logs in your dashboard for debugging.
Rate Limits
Ensure your server can handle multiple postbacks per second if volume is high.