This section outlines the inventory based approach we use and the mechanics needed to ingest and act on the available inventory.These are the core concepts that are used throughout this work flow.Concept | Description |
---|
Job | "Parent" of a Survey. A Job can have many Surveys. |
Survey | The main conceptual object in our platform is the Survey. This is where pricing is set and key metadata like LOI, IR, N, Country, Language, etc. are set. |
Survey Target | Each survey has Targeting, or Qualifications, which defines the “shape” of the respondent needed to fit into the Survey. This is the main filter of the Survey where the requirement of entry are set. Targeting is required on all Surveys. |
Survey Quota | Help define the number of needed respondents for specifc segements of the overall Survey Target. These are optional and not all Surveys utilize them. |
An Example#
To help the concept of surveys, targeting, and quotas sink in here's an example:Survey A has a N of 100, CPI of $1.00, LOI of 20 minutes, and IR of 80%. It is associated with Job XYZ
Education: High School Diploma or College Degree or Masters Degree
This means that we need 100 respondents who are M/F and have High School Diploma or College Degree or Masters Degree.However, we will have at most 20 respondents with a Masters Degree.Once we have 20 completes of respondents with a Masters Degree, any further respondent with a Masters Degree will be terminated since the Quota is now full.Inventory Ingestion Flow#
The standard flow is as follows1.Get Allocated Survey Inventory
2.Retrieve Targeting for ingested Surveys
3.Retrieve Quota Information for ingested Surveys which use Qutoas.
Retrieve Survey Inventory#
This inventory changes in real-time (new surveys come available, closed/completed ones are removed), so we recommend that a call is made to ingest the updated inventory every 1 to 2 minutes.We recommended ingesting our Survey Inventory every 1 to 2 minutes.
Also, you can retrieve a single survey from the inventory as well. This is helpful when you want to periodically check for updates on surveys that you’ve previously ingested.Survey Availability#
If a survey is returned in the Get Allocated Surveys response, it is live and available to you.If the survey is no longer present in the Get Allocated Surveys response, then is no longer available to you.This is because a survey can be paused and then made live again. Therefore, you may see a survey be removed from the inventory and then appear later in time. We ask that you account for this in your integration so that you don’t miss out on opportunities.Lastly, if you want to keep track of closed surveys, you can consult the Get Closed Survey List endpoint. If a survey is listed here, it is closed and will not reappear in your inventory.Let us know if you have any filters on your inventory like LOI or IR or device type and we'll filter them out prior to exposing so that we have a better understanding of the surveys you are looking to participate on.Survey Targeting#
Survey Targeting are the respondent qualifications neededed;the shape of the respondents needed to participate on the survey.Once you have ingested the Survey inventory, the next step is to pull the targeting for each of those Surveys. This can be done through Get Survey Targeting endpoint.{
"apiStatus": "success",
"msg": "Groups targeting are successfully fetched",
"result": [
{
"QuestionId": 11,
"QuestionKey": "ZIPCODES",
"QuestionText": "What is your zipcode?",
"QuestionType": "Numeric Open Ended",
"QuestionCategory":"Demographic",
"Options": [
{
"OptionId": 1,
"OptionText": "800235"
} ]
}, {
"QuestionId": 1,
"QuestionKey":"AGE",
"QuestionText"
Targeting on a Survey can change once launched. Please account for this when ingesting our inventory.Survey Quotas#
How is a quota different than targeting? A quota defines the number of individual sub-shapes of respondents.If targeting says the survey needs Males and Females, a quota could say the survey needs 10 Males and 15 Females.However, Quotas are not used on all of our Surveys, so a designation is made at the Survey level if Quotas are in fact in use.The property is isQuota - example Survey response is below.{
"surveyId": 12632,
"surveyName": "Basic Demo With Beverage survey",
"N": 100,
"isRevShr": true,
"supCmps": 3,
"remainingN": 97,
"LOI": 15,
"IR": 10,
"Country": "United States",
"Language": "ENGLISH",
"groupType": "Consumer",
"deviceType": "All",
....
"isQuota": true,
...
"jobCategory": "Beauty/Cosmetics",
"numberOfStarts": 3,
"globalBuyerConversion": "100.00",
"globalMedianLOI": "0.26"
}
Quotas on a Survey can change once launched. Please account for this when ingesting our inventory.
An example Quota response{
"_id": "59b778c66e4c0b1c8288f6ad",
"id": 780275,
"quotaN": 10,
"title": " 13 - 99 Yes, for business Yes, for personal Yes, for
both",
"quotaName": "",
"hardStopType": 0,
"cmp": 1,
"clk": 1,
"hardStop": 1,
"quotaStatus": "Open",
"RemainingN": 9,
"targeting": {
] }
},
Here's how the quota properties should be interpretedFeild | Value | Interpretation |
---|
quotaN | integer | Number of completes associated with this quota |
RemainingN | integer | Number of completes associated with this quota which remain to be filled/recorded. |
quotaStatus | "open" | Respondents are still able to qualify and record completes against the quota. |
quotaStatus | "closed" | Respondents who qualify for this quota will not be allowed to participate on survey. |
hardStop | 0 | This means the quota has a soft limit and if a respondent matches this quota they will not receive an OverQuota rejection |
hardStop | 1 | This means the quota has a hard limit and if a respondent matches this quota they will receive an OverQuota rejection |
hardStopType | 0 | The quota is based on Survey Completes |
hardStopType | 1 | The quota is based on Survey Starts |
targeting | {object} | Contains the targeting requirements for this quota. |
Survey Exclusions#
The Survey duplicateSurveyIds field refers to the surveys that are “linked” or “deduped” against this survey, not an actual duplicated survey.The best way to interpret this is to say that any respondent who had a status which is listed in the Sruvey statuses field for the surveys in the duplicateSurveyIds field should not be routed to this survey. If so, they will be rejected.The way to interpret the exclusions from this example survey is: Any respondent will not be able to participate on 3571128 if they participated on Survey 3792333, 3861802, or 3571128 and recorded one of the following statuses "Pre Survey DNC", "Pre Survey Termination", "Pre Survey Over Quota","Pre Survey Quality Termination", "Start Survey DNC", "Completed", "Failed", "Over Quota", "Quality Termination.{
"surveyId": 3571128,
"surveyName": "Teachers",
"N": 300,...
"BuyerId": 955,
"duplicateSurveyIds": [
3571128,
3792333,
3861802
],
"duplicateCheckLevel": "Job Level",
"statuses": [
"Pre Survey DNC",
"Pre Survey Termination",
"Pre Survey Over Quota",
"Pre Survey Quality Termination",
"Start Survey DNC",
"Completed",
"Failed",
"Over Quota",
"Quality Termination"
],
"expected_end_date": "08/18/2021",
"is
...
}
Commonly Asked Questions#
How often should we ingest your inventory?#
How do I know what I'm going to paid for a complete on a Survey?#
The CPI value listed on the Survey is the value you will be paid upon a complete for the survey.This value may change over time as our pricing can be adjusted as the survey is in field.How do I know a survey is closed and won't reappear again?#
It will say closed on teh Survey Availabilty response and it will be present in the Closed Survey List response.Can targeting change on a survey?#
Yes, a survey may be paused and have its targeting updated. It is recommended to account for this when integrating to avoid issues when live.