Platform API
Primis Platform API is a tool for third-party developers, which allows integration with Primisโ backend data to their systems. Currently, this API provides the following capabilities:
- Reporting (e.g., impressions, revenue, RPM / eCPM etc.)
How to work with Primis Platform API
Check this walkthrough here for a quick explanation.
API Architecture
The Primis Platform API is implemented as an API over the HTTPS protocol and returns (by default) JSON data format.
API Versioning
Primis releases versions of this API in accordance with the following rule to protect the users from integration problems that may occur in the future.
- It is guaranteed that changes within the same major version of the API (e.g., 1.00, 1.10, etc.) will not break your integration and will only fix defects or add minor feature enhancements or changes.
- Major version changes (e.g., 2.00, 3.00, etc.) may introduce some significant changes that may require some coding changes to your integration. In other words, integrations written to be used with version 1.0 may not work with version 2.0 or 3.0, without possible significant changes.
Connections
Connections to Primis API are only accessible via the HTTPS protocol.
Errors
Primis Platform API returns errors in standard HTTP status codes (usually client error codes, e.g. 4XX status codes). See the Errors Description section of this document for details for each error returned by the service.
Authentication
All interactions with Primis Platform API must be authenticated. An API client can be authenticated by the platform by performing an initial login request using an API User Name and Code. This login request will return a token code and the calling client must send this token code in all other service requests.
-
To access the Primis Platform API, the calling system must authenticate and use the authentication token in subsequent API requests.
-
To receive credentials for Primis Platform API, contact your assigned account manager.
-
Tokens will be renewed daily - every 24 hours
- After this time the user must re-authenticate using Step 1 as described below.
The Authentication service uses HTTPS GET method.
Step 1: To perform the authentication you need to send a GET request:
curl "https://console.primis.tech/UI/php/responders/apiResponder.php?method=authentication&apiUserName=[API_USER_NAME]&apiUserCode=[API_USER_CODE]&version=2.19"
Primis Platform API responds with a JSON containing your API access token:
{"token":" XXXXXXXXXXXXX "}
Reporting Service
The reporting service is a non-blocking service. The service is providing statistical data by chosen granularity (e.g. browser, OS, specific placement, etc.) In the current version, the service provides Primis Publisher Reports by the appropriate method, as is shown below.
Request
To receive the report data, you need to send 2 commands consequentially:
Step 1: Posting a report request which includes a token, version, method and JSON formatted filters. Hereupon, the API will return a unique โReport IDโ.
For more information regarding the possible filters, their description and syntax, see the Report Request Filters section. For the full filter list, see the Reference: Filters Description section of the current document.
An example:
curl -X POST -d 'token=XXXXXXXXXXXXX&version=2.19&method=publisherReport&data=[{"name":"filter1","data":["nnn"]},{"name":"filter2","data":"123"}]' -f https://console.primis.tech/UI/php/responders/apiResponder.php
Token = XXXXXXXXXXXXX
Version = 2.19
Method = publisherReport
Data =
[
{"name":"filter1","data":["nnn"]},
{"name":"filter2","data":"123"}
]
A report ID is returned as an answer:
{"reportId":"0123456789"}
Step 2: Requesting report data by Report ID, which consists of token, version, method and report ID.
A command example:
curl --data "token=XXXXXXXXXXXXX&version=2.19&method=publisherReport&reportId=0123456789" -f https://console.primis.tech/UI/php/responders/apiResponder.php
Token = XXXXXXXXXXXXX
Version = 2.19
Method = publisherReport
Report ID = 0123456789
Response
After the request (Step 2), The API will return a response.
The response is represented as an array of element objects in JSON format, where objects are defined by your requested dimensions and set of fields inside an element are set by the metrics in your request. The returned report data depends on your selected filters that were set in Step 1.
- When the data is ready, the Primis Platform API will return the requested data (200).
- When data is received properly the API will return 'Report not found' (404)
- If the report data is not yet ready, the API will return โData is not readyโ (454) error. In such case please repeat Step 2 several minutes later.
Data example:
[
โ{
โโ"placement":1111,
โโ"placementName":"Placement Name1",
โโ"placement_imps":1111,
โโ"rpm":0.1,
โโ"revenue":11.11
โ},
โ{
โโ"placement":2222,
โโ"placementName":"Placement Name2",
โโ"placement_imps":2222,
โโ"rpm":0.2,
โโ"revenue":22
โ }
]
Note: The time zone and currency of the report data are the accountโs default time zone and currency.
Report Request Filters
The report request filters are designed to determine the resulting data. Each filter must consist of a name, data and optional include/exclude parameter.
The data field of a filter might be either a single value or an array of values depending on the filter. The exclude field should be set to โ1โ (exclude) or โ0โ (include).
All the API filters can be divided into several groups by their meaning:
1. Report Type
(API name: โreportTypeโ)
This filter determines which report you can get. Report type might be: Media, Ad Server, Content, Syndication or Billing.
Each report type has its own set of metrics and dimensions.
2. Dimensions
(API name: โdimensionsโ)
The dimensions filter determines the desirable objects in your report response, i.e. what objects are needed to be โgrouped byโ. Placement, Campaign, Browser and Country are dimension examples. Each report type has its own dimensions set.
3. Metrics
(API name: โmetricsโ)
Metrics are different types of quantitative measurement parameters, by which Primis collects statistics, e.g. Attempts, Impressions or Revenue
4.Object Filters
(all other filters)
All other available filters are optional and are used to filter the report data, i.e. to see only such data you want to be displayed, whether it is a specific set of your placements or statistical data for a specific country.
For the full filter list and its parameters, see the Filters Description section in Reference.
Report Types
Media Report
A Media Report is a generic report type that provides statistics in different levels of granularity from the media side. To have access to the Media Report type, your Primis account must be setup as Publisher`s account.
Media Reports support the following dimensions: placement; player type; media type; placement size; browser; operating system; operating system version; country; device type; domain; total; time interval and sub ID. Please note that the 'total' dimension can't be used in combination with any other, but only as a single dimension.
Its metrics are (API names are given in parentheses): ID and name (id
and name
metrics will return the corresponded dimension data); placement impressions (placement_imps); revenue (revenue); revenue RPM (rpm); Ad Server video impressions from publisher`s Ad Server campaigns (video_adserver_imps); Ad Server video revenue (video_adserver_revenue); revenue from the Primis Marketplace side (video_primis_revenue); Ad Server video eCPM (video_adserver_cpm) and others.
For the full list of filters and their syntax and parameters see the Filter Descriptions section in Reference.
A request example:
curl -X POST -d 'token=XXXXXXXXXXXXX&version=2.19&method=publisherReport&data=[{"name":"reportType","data":"media"},{"name":"timeZone","data":"us_eastern"},{"name":"dimensions","data":["browser"]},{"name":"period","data":"lastMonth"},{"name":"metrics","data":["id","name","placement_imps","rpm","revenue"]}]' -f https://console.primis.tech/UI/php/responders/apiResponder.php
A response example:
[
โ{
โโ"deviceTypeId":"smartphone_web",
โโ"placement_imps":1111,
โโ"rpm":0.1,
โโ"revenue":11.11
โ},
โ{
โโ"deviceTypeId":"Desktop",
โโ"placement_imps":22222,
โโ"rpm":2.2,
โโ"revenue":222
โ},
โ{
โโ"deviceTypeId":"tablet_app",
โโ"placement_imps":33333,
โโ"rpm":3.3,
โโ"revenue":333.33
โ},
]
Ad Server Report
An Ad Server report is a video statistic report adjusted to provide granularity for Ad Server campaigns. The Ad Server report requires an Ad Server access for your Primis account.
The Ad Server report`s dimensions are: media placement; media type; campaign; browser; placement size; player type; operating system; operating system version; hb partner; country; device type; domain; total and time interval. Please note that the 'total' dimension can't be used in combination with any other, but only as a single dimension.
Its metrics are (API names are given in parentheses): ID and name (id
and name
metrics will return the corresponded dimension data); video ad impressions (ad_imps); eCPM (ad_cpm); revenue (ad_revenue); percent of viewable impressions (ad_viewability_rate); ad attempts (ad_attempts); completion rate (ad_vtr) and fillrate (ad_fillrate); Ad Server Commission Fee (serving_fee) and others.
For the full list of filters and their syntax and parameters see the Filter Descriptions section in Reference.
A request example:
curl -X POST -d 'token=XXXXXXXXXXXXX&version=2.19&method=publisherReport&data=[{"name":"reportType","data":"adServer"},{"name":"timeZone","data":"us_eastern"},{"name":"dimensions","data":["browser"]},{"name":"period","data":"custom"},{"name":"fromDay","data":"2018-10-20"},{"name":"toDay","data":"2018-10-21"},{"name":"timeInterval","data":"cumulative"},{"name":"metrics","data":["id","name","ad_imps","ad_cpm","ad_revenue"]}]' -f https://console.primis.tech/UI/php/responders/apiResponder.php
A response example:
[
โ{
โโ"browserId":"Mobile Application",
โโ"ad_imps":1111,
โโ"ad_cpm":1.1,
โโ"ad_revenue":11.11
โ},
โ{
โโ"browserId":"Chrome",
โโ"ad_imps":2222,
โโ"ad_cpm":2.2,
โโ"ad_revenue":222.22
โ},
]
Content Report
A Content report is a content statistic report. To have access to the Content Report type, your Primis account must be setup as Publisher`s account.
The Content report`s dimensions are: placement; placement size; media type; content channel; channel category; content creator; content file; browser; operating system; operating system version; country; device type; domain; total and time interval. Please note that the 'total' dimension can't be used in combination with any other, but only as a single dimension.
Its metrics are (API names are given in parentheses): ID and name (id
and name
metrics will return the corresponded dimension data); content impressions (content_imps); content eCPM (content_ecpm); playlist click rate (content_playlist_click_rate); complete rate (content_complete_rate); likes (content_likes); pause click rate (content_pause_click_rate) and others.
For the full list of filters and their syntax and parameters see the Filter Descriptions section in Reference.
A request example:
curl -X POST -d 'token=XXXXXXXXXXXXX&version=2.18&method=publisherReport&data=[{"name":"reportType","data":"content"},{"name":"timeZone","data":"us_eastern"},{"name":"dimensions","data":["browser"]},{"name":"period","data":"yesterday"},{"name":"timeInterval","data":"cumulative"},{"name":"metrics","data":["id","name","content_imps"]}]' -f https://console.primis.tech/UI/php/responders/apiResponder.php
A response example:
[
โ{
โโ"browserId":"Mobile Application",
โโ"content_imps":1111,
โ},
โ{
โโ"browserId":"Chrome",
โโ"content_imps":2222,
โ},
โ{
โโ"browserId":"Opera",
โโ"content_imps":3333,
โ},
]
Syndication Report
A Syndication report is a syndication content statistic report. To have access to the Syndication Report type, your Primis account must be setup as Publisher`s account.
The Syndication report`s dimensions are: country; media type; content channel; channel category; content file; browser; operating system; domain; total and time interval. Please note that the 'total' dimension can't be used in combination with any other, but only as a single dimension.
Its metrics are (API names are given in parentheses): ID and name (id
and name
metrics will return the corresponded dimension data); content impressions (content_imps); content eCPM (content_ecpm); playlist click rate (content_playlist_click_rate); complete rate (content_complete_rate); likes (content_likes); pause click rate (content_pause_click_rate) and others.
For the full list of filters and their syntax and parameters see the Filter Descriptions section in Reference.
A request example:
curl -X POST -d 'token=XXXXXXXXXXXXX&version=2.19&method=publisherReport&data=[{"name":"reportType","data":"syndication"},{"name":"timeZone","data":"us_eastern"},{"name":"dimensions","data":["browser"]},{"name":"period","data":"yesterday"},{"name":"timeInterval","data":"cumulative"},{"name":"metrics","data":["id","name","content_imps"]}]' -f https://console.primis.tech/UI/php/responders/apiResponder.php
A response example:
[
โ{
โโ"browserId":"Mobile Application",
โโ"content_imps":1111,
โ},
โ{
โโ"browserId":"Chrome",
โโ"content_imps":2222,
โ},
โ{
โโ"browserId":"Opera",
โโ"content_imps":3333,
โ},
]
Billing Report
A Billing Report is a report type that provides billing data, similar to the Billing page of the Primis system. The Billing Report requires Ad Server access for your Primis account.
Except for the Report Type, no other filters are necessary for the Billing Report. All other filters in the request will be ignored.
A request example:
curl --data 'token=XXXXXXXXXXXXX&version=2.19&method=publisherReport&data=[{"name":"reportType","data":"billing"}]' -f https://console.primis.tech/UI/php/responders/apiResponder.php
As a response, the API will return the user`s billing data under the fixed metrics.
Below you can find the set of metrics.
Name | API Name | Format |
---|---|---|
Period start date | startDate | Date: yyyy-mm-dd |
Period end date | endDate | Date: yyyy-mm-dd |
Payment status | status | String |
Ad Server Revenue | adServerRevenue | Decimal |
Primis Revenue | primisRevenue | Decimal |
Total Revenue | totalRevenue | Decimal |
Ad Serving Fee | adServingFee | Decimal |
Payment Date | paymentDate | Date: yyyy-mm-dd |
Net Billing | netBilling | Decimal |
A response example:
[
โ{
โโ"startDate":"2018-11-01",
โโ"endDate":"2018-11-24",
โโ"status":"openPeriod",
โโ"adServerRevenue":0,
โโ"primisRevenue":0,
โโ"totalRevenue":0,
โโ"adServingFee":0,
โโ"paymentDate":"-",
โโ"netBilling:0
โ},
โ{
โโ"startDate":"2018-10-01",
โโ"endDate":"2018-10-31",
โโ"status":"invoiceReceived",
โโ"adServerRevenue":1967.63,
โโ"primisRevenue":4990.93,
โโ"totalRevenue":6958.55,
โโ"adServingFee":977.07,
โโ"paymentDate":"2018-11-26",
โโ"netBilling:2013.86
โ},
โ{
โโ"startDate":"2018-09-01",
โโ"endDate":"2018-09-31",
โโ"status":"paid",
โโ"adServerRevenue":365.12,
โโ"primisRevenue":3251.19,
โโ"totalRevenue":6616.31,
โโ"adServingFee":80.21,
โโ"paymentDate":"2018-11-01",
โโ"netBilling:2570.98
โ},
]
Reference
Name | Description |
---|---|
authentication | Initial authentication |
publisherReport | For publisherโs reporting service |
Filter Descriptions
{
"data": {
"h-0": "Filter Name",
"h-1": "Values",
"h-2": "Field Req.",
"h-3": "Filter Type",
"h-4": "Default Value",
"h-5": "Exclude Option",
"h-6": "Report Type Req.",
"0-0": "<b>timeInterval</b>",
"0-1": "<ul><li>cumulative</li><li>hour</li><li>date</li><li>week</li><li>month</li></ul>",
"0-2": "n",
"0-3": "Single (string)",
"0-4": "cumulative",
"0-5": "n",
"0-6": "Media, Ad Server, \nContent, Syndication",
"1-0": "<b>timeZone</b>",
"1-1": "<ul><li>us_pacific</li><li>us_eastern</li><li>us_mountain</li><li>eu_moscow</li><li>eu_london</li><li>eu_central</li><li>au_sydney</li><li>asia_tokyo</li><li>asia_israel</li><li>utc+0</li><li>utc-5</li></ul>",
"1-2": "y",
"1-3": "Single (string)",
"1-4": "cumulative",
"1-5": "n",
"1-6": "Media, Ad Server, \nContent, Syndication",
"2-0": "<b>period</b>",
"2-1": "<ul><li>today</li><li>yesterday</li><li>currentMonth</li><li>lastMonth</li><li>custom</li></ul><i>Note: If 'custom' value is selected, the filters fromDay and toDay are required.</i>",
"2-2": "y",
"2-3": "Single (string)",
"2-4": "No Default",
"2-5": "n",
"2-6": "Media, Ad Server, \nContent, Syndication",
"3-0": "<b>fromDay</b>",
"3-1": "From date, in format yyyy-mm-dd in case of 'period' is set to 'custom'.",
"3-2": "y",
"3-3": "Single (string)",
"3-4": "No Default",
"3-5": "n",
"3-6": "Media, Ad Server, \nContent, Syndication",
"4-0": "<b>toDay</b>",
"4-1": "To date, in format yyyy-mm-dd in case of 'period' is set to 'custom'.",
"4-2": "y",
"4-3": "Single (string)",
"4-4": "No Default",
"4-5": "n",
"4-6": "Media, Ad Server, \nContent, Syndication"
},
"cols": 7,
"rows": 5,
"align": [
"left",
"left",
"left",
"left",
"left",
"left",
"left"
]
}
[/block]
Timeframe Filters
{
"data": {
"h-0": "Filter Name",
"h-1": "Values",
"h-2": "Field Req.",
"h-3": "Filter Type",
"h-4": "Default Value",
"h-5": "Exclude Option",
"h-6": "Report Type Req.",
"0-0": "<b>timeInterval</b>",
"0-1": "<ul><li>cumulative</li><li>hour</li><li>date</li><li>week</li><li>month</li></ul>",
"0-2": "n",
"0-3": "Single (string)",
"0-4": "cumulative",
"0-5": "n",
"0-6": "Media, Ad Server, \nContent, Syndication",
"1-0": "<b>timeZone</b>",
"1-1": "<ul><li>us_pacific</li><li>us_eastern</li><li>us_mountain</li><li>eu_moscow</li><li>eu_london</li><li>eu_central</li><li>au_sydney</li><li>asia_tokyo</li><li>asia_israel</li><li>utc+0</li><li>utc-5</li></ul>",
"1-2": "y",
"1-3": "Single (string)",
"1-4": "cumulative",
"1-5": "n",
"1-6": "Media, Ad Server, \nContent, Syndication",
"2-0": "<b>period</b>",
"2-1": "<ul><li>today</li><li>yesterday</li><li>currentMonth</li><li>lastMonth</li><li>custom</li></ul><i>Note: If 'custom' value is selected, the filters fromDay and toDay are required.</i>",
"2-2": "y",
"2-3": "Single (string)",
"2-4": "No Default",
"2-5": "n",
"2-6": "Media, Ad Server, \nContent, Syndication",
"3-0": "<b>fromDay</b>",
"3-1": "From date, in format yyyy-mm-dd in case of 'period' is set to 'custom'.",
"3-2": "y",
"3-3": "Single (string)",
"3-4": "No Default",
"3-5": "n",
"3-6": "Media, Ad Server, \nContent, Syndication",
"4-0": "<b>toDay</b>",
"4-1": "To date, in format yyyy-mm-dd in case of 'period' is set to 'custom'.",
"4-2": "y",
"4-3": "Single (string)",
"4-4": "No Default",
"4-5": "n",
"4-6": "Media, Ad Server, \nContent, Syndication"
},
"cols": 7,
"rows": 5,
"align": [
"left",
"left",
"left",
"left",
"left",
"left",
"left"
]
}
[/block]
Object Filters
{
"data": {
"h-0": "Filter Name",
"h-1": "Values",
"h-2": "Field Req.",
"h-3": "Filter Type",
"h-4": "Default Value",
"h-5": "Exclude Option",
"h-6": "Report Type Req.",
"0-0": "<b>timeInterval</b>",
"0-1": "<ul><li>cumulative</li><li>hour</li><li>date</li><li>week</li><li>month</li></ul>",
"0-2": "n",
"0-3": "Single (string)",
"0-4": "cumulative",
"0-5": "n",
"0-6": "Media, Ad Server, \nContent, Syndication",
"1-0": "<b>timeZone</b>",
"1-1": "<ul><li>us_pacific</li><li>us_eastern</li><li>us_mountain</li><li>eu_moscow</li><li>eu_london</li><li>eu_central</li><li>au_sydney</li><li>asia_tokyo</li><li>asia_israel</li><li>utc+0</li><li>utc-5</li></ul>",
"1-2": "y",
"1-3": "Single (string)",
"1-4": "cumulative",
"1-5": "n",
"1-6": "Media, Ad Server, \nContent, Syndication",
"2-0": "<b>period</b>",
"2-1": "<ul><li>today</li><li>yesterday</li><li>currentMonth</li><li>lastMonth</li><li>custom</li></ul><i>Note: If 'custom' value is selected, the filters fromDay and toDay are required.</i>",
"2-2": "y",
"2-3": "Single (string)",
"2-4": "No Default",
"2-5": "n",
"2-6": "Media, Ad Server, \nContent, Syndication",
"3-0": "<b>fromDay</b>",
"3-1": "From date, in format yyyy-mm-dd in case of 'period' is set to 'custom'.",
"3-2": "y",
"3-3": "Single (string)",
"3-4": "No Default",
"3-5": "n",
"3-6": "Media, Ad Server, \nContent, Syndication",
"4-0": "<b>toDay</b>",
"4-1": "To date, in format yyyy-mm-dd in case of 'period' is set to 'custom'.",
"4-2": "y",
"4-3": "Single (string)",
"4-4": "No Default",
"4-5": "n",
"4-6": "Media, Ad Server, \nContent, Syndication"
},
"cols": 7,
"rows": 5,
"align": [
"left",
"left",
"left",
"left",
"left",
"left",
"left"
]
}
[/block]
Filter Name | Values | Field Req. | Filter Type | Default Value | Exclude Option | Report Type Req. |
---|---|---|---|---|---|---|
countryFilter | For the values see the table 'Country Codes'. Example: {"name":"countryFilter","data":["55","30"]} | n | Multiply (array) | All | y | Media, Ad Server, Content, Syndication |
regionFilter |
| n | Multiply (array) | All | y | Media, Ad Server, Content, Syndication |
domainFilter | Domain Example: {"name":"domainFilter","data":"yadoo.com,bulik.tr"} | n | Single (string) | All | y | Media, Ad Server, Content, Syndication |
browserFilter |
man - manufacture native browser. | n | Multiply (array) | All | y | Media, Ad Server, Content, Syndication |
osFilter |
| n | Multiply (array) | All | y | Media, Ad Server, Content, Syndication |
deviceTypeFilter |
| n | Multiply (array) | All | y | Media, Ad Server, Content, Syndication |
playerTypeFilter |
| n | Multiply (array) | All | n | Media, Ad Server |
inventoryTypeFilter |
| n | Multiply (array) | All | y | Media, Ad Server, Content, Syndication |
campaignLabelFilter |
| n | Multiply (array) | All | y | Ad Server |
placementFilter | Placement Ids Example:
| n | Multiply (array) | All | y | Media, Ad Server, Content, Syndication |
minImpsFilter | Determines the min. number of imp. by which data will be filtered. | n | Single (string) | 0 | y | Media, Content, Syndication |
campaignFilter | Campaign Ids Example:
| n | Multiply (array) | All | y | Ad Server |
contentChannelFilter | Content Channel Ids Example:
| n | Multiply (array) | All | y | Content, Syndication |
channelCategoryFilter | Content File Ids Example:
| n | Multiply (array) | All | y | Content, Syndication |
contentFileFilter | Content File Ids Example:
| n | Multiply (array) | All | y | Content, Syndication |
contentCreatorFilter | Content Creator Ids Example:
| n | Multiply (array) | All | y | Content |
viewHBPartnerFilter | For the values see the table 'HB Partner Codes'. Example:
| n | Multiply (array) | All | y | Ad Server |
foldDomainFilter | Fold domains. Example:
| n | Boolean | No | n | Media, Ad Server, Content, Syndication |
minContentStartsFilter | Min. Content Starts. Example:
| n | Boolean | No | n | Content, Syndication |
Metric Descriptions
Media Report
Metric | Description |
---|---|
placement_imps | Number of Player Loads |
placement_unq_imps | Number of unique player users |
revenue | Total revenue of the Unit |
rpm | NET Revenue per 1000 player loads |
video_adserver_imps | Total number of Ad Impressions from Publishers Ad Server |
video_primis_imps | Total number of Ad Impressions from Primis Marketplace |
video_total_imps | Total number of Video Ad Impressions |
video_adserver_revenue | Total Revenue from Publishers Ad Server |
video_primis_revenue | Net revenue from Primis marketplace |
video_adserver_cpm | The Video Ad CPM of Publisher's Adserver |
video_primis_cpm | The Video Ad CPM of Primis marketplace |
video_adserver_serving_fee | Serving fee commission on served Video Ads of Publisher's Adserver |
placement_ivt_hidden_rate | Measure technical issues that prevented from the player to load |
placement_avg_duration | Time spent on page (in seconds) |
placement_viewable_avg_duration | Time spent on page while player was in view (seconds) |
gdpr_consent_rate | Percentage of GDPR consents passed to Primis per Placement Imps. |
float_close_rate | Percentage of users who closed the Float unit |
placement_engagement_rate | How many users engage with the content (click on the sound, full screen, likes, etc) |
placement_viewability_rate | Percentage of Viewable player loads (2 seconds, +50% pixels on view) |
placement_ifa_pass_rate | Identifier for Advertising (app related only) |
placement_video_fillrate | Video Ad Impressions per Placement Imps (Player Load) |
content_imps | Number of Video Content Starts |
placement_content_fillrate | Content Imps starts per Placement Imps (Player Load) |
content_vtr | Percentage of users who watched a video for at least 30 seconds |
Ad Server Report
Metric | Description |
---|---|
ad_imps | Served Video Ad Impressions |
ad_revenue | Revenue |
ad_cpm | CPM |
ad_clicks | Clicks |
ad_viewability_rate | Video Ad impressions viewability as declared by MRC |
ad_attempts | Number of Ad Calls that were sent to the SSP/Exchange |
ad_attempt_ecpm | The eCPM of ad attempts. equal to Revenue/Attempts*1000 |
ad_response_rate | Non-empty valid responses |
ad_ctr | CTR(%) |
ad_vtr | The percentage of Video Ad imps that played to completion |
ad_fillrate | Video Ad Imps / Attempts |
ad_success_rate | Video Imps / Responses |
ad_responses | Responses / Attempts |
serving_fee | Video Ads Serving fee commission |
ad_win_rate | The percentage of impression that won in auctions. equal to wins/responses*100 |
Content Report
Metric | Description |
---|---|
content_imps | Number of Video Content Starts |
content_guid | Video ID provided by the publisher/content provider |
content_full_screen_rate | Percentage of users enabling Full-screen |
content_volume_change_rate | Percentage of users enabling Sound On |
content_playlist_click_rate | Percentage of users clicking on the Playlist Thumbnails |
content_timeline_change_rate | Percentage of users changing the video timeline |
content_complete_rate | Percentage of content impressions completed |
content_vtr | Percentage of users who watched a video for at least 30 seconds |
content_pause_click_rate | Percentage of users who paused the video |
content_likes | Number Likes by users on Primis platform |
content_ctr | CTR(%) |
content_clicks | Number of Video Content Clicks |
content_engagement_rate | Percentage of all users engage metrics (click on the sound, full screen, likes, etc) |
Syndication Program Report
Metric | Description |
---|---|
content_guid | Video ID provided by the publisher/content provider |
content_revenue | Revenue generated from the video |
content_ecpm | The effective CPM generated from the video |
content_imps | Number of Video Content Starts |
content_clicks | Number of Video Content Clicks |
content_ctr | CTR(%) |
content_full_screen_rate | Percentage of users enabling Full-screen |
content_volume_change_rate | Percentage of users enabling Sound On |
content_playlist_click_rate | Percentage of users clicking on the Playlist Thumbnails |
content_timeline_change_rate | Percentage of users changing the video timeline |
content_engagement_rate | Percentage of all users engage metrics (click on the sound, full screen, likes, etc) |
content_likes | Number Likes by users on Primis platform |
content_complete_rate | Percentage of users who watched the video till the end |
content_vtr | Percentage of users who watched a video for at least 30 seconds |
content_pause_click_rate | Percentage of users who paused the video |
Country Codes
Value | Description |
---|---|
74 | Argentina |
77 | Australia |
78 | Austria |
85 | Belgium |
56 | Brazil |
96 | Bulgaria |
31 | Canada |
105 | Chile |
106 | China |
109 | Colombia |
114 | Costa Rica |
119 | Czech Republic |
120 | Denmark |
134 | Finland |
61 | France |
57 | Germany |
143 | Greece |
156 | Hong Kong |
157 | Hungary |
159 | India |
160 | Indonesia |
163 | Ireland |
25 | Israel |
164 | Italy |
166 | Japan |
188 | Malaysia |
63 | Mexico |
58 | Netherlands |
210 | New Zealand |
217 | Norway |
55 | Other |
222 | Panama |
226 | Philippines |
228 | Poland |
229 | Portugal |
60 | Romania |
59 | Russian Federation |
224 | Serbia |
247 | Singapore |
252 | South Africa |
64 | Spain |
259 | Sweden |
260 | Switzerland |
262 | Taiwan |
265 | Thailand |
272 | Turkey |
278 | United Arab Emirates |
62 | United Kingdom |
30 | United States |
284 | Vietnam |
Channel Category Codes
Value | Description |
---|---|
1 | Automotive |
42 | Books and Literature |
52 | Business & Finance |
123 | Careers |
132 | Education |
150 | Events and Attractions |
186 | Family and Relationships |
201 | Fine Art |
210 | Food & Drink |
223 | Healthy Living |
239 | Hobbies & Interests |
274 | Home & Garden |
286 | Medical Health |
324 | Movies |
338 | Music and Audio |
379 | News and Politics |
391 | Personal Finance |
422 | Pets |
432 | Pop Culture |
441 | Real Estate |
453 | Religion & Spirituality |
464 | Science |
473 | Shopping |
483 | Sports |
1007 | Social |
552 | Style & Fashion |
596 | Technology & Computing |
640 | Television |
653 | Travel |
680 | Video Gaming |
HB Partner Codes
Value | Description |
---|---|
0 | Regular Tag (no HB) |
16 | FreeWheel |
36 | Appnexus |
45 | Smart |
49 | Pulse Point |
50 | OpenX |
60 | Pubmatic |
67 | Gumgum |
72 | RhythemOne |
74 | Rubicon |
75 | Google AdX |
78 | Telaria |
80 | oneVideo |
81 | General |
82 | AmazonA9 |
83 | IndexExchange |
87 | EMXDigital |
90 | Verizon S2S |
91 | Pubmatic S2S |
92 | Bidswitch RTB |
93 | LoopMe S2S |
94 | SpotX S2S |
98 | OpenX S2S |
99 | Index S2S |
100 | Rubicon S2S |
101 | Media.net |
102 | Triplelift |
103 | Boldwin |
104 | Adman |
105 | Xandr S2S |
106 | Undertone |
107 | Colossus |
110 | Yielmdo |
111 | 33Across |
112 | The Media Grid |
113 | Mobile Fuse S2S |
114 | Smartadserver S2S |
115 | Pulsepoint S2S |
117 | Yahoo SSP |
118 | Tappx |
119 | Unruly S2S |
121 | TripleLift |
124 | Opera Ads |
125 | Sharethrough |
126 | Telaria |
127 | Media.Net S2S |
128 | Yahoo S2S |
129 | Epsilon S2S |
130 | Sovrn S2S |
131 | Sonobi |
132 | Turk Telekom |
133 | Kargo |
134 | FreeWheel S2S |
135 | SmartX |
136 | MinuteMedia |
137 | RichAudience |
138 | Adman S2S |
140 | Smart S2S |
Error Descriptions
HTTP Error Code | Status | Description |
---|---|---|
450 | Unauthorized | API user name is incorrect or doesn't exist |
451 | Bad Token | Token is incorrect or expired |
452 | Method Not Allowed | Invalid method |
453 | Validation Error | Invalid filter(s) |
454 | Data Is Not Ready | System doesn`t finish the data preparation |
455 | Bad Version | The API version is absent, obsolete or incorrect |
456 | No Permission | No permission to retrieve the report |
457 | Limit Exceeded | The user has sent too many requests in a given amount of time (rate limiting). |
API Viewer
For your convenience, you can use the API Viewer in your Reports tab.
For further assistance, please contact your Primis representative.
Updated 5 months ago