Network publisher analytics
The Network Publisher Analytics report can be used to view performance data for a specific publisher within your network that is more granular than the data provided in the Network Analytics report. This report is available to network users only. Publisher users can use the Publisher Analytics report.
For usage instructions, see the example below. Note that this report requires that a publisher ID be specified as part of the URL, for example:
https://api.appnexus.com/report?publisher_id=PUBLISHER_ID
Time frame
The report_interval
field can be set to one of the following:
- current_hour
- last_hour
- today
- yesterday
- last_48_hours
- last_2_days
- last_7_days
- last_30_days
- month_to_date
- month_to_yesterday
- quarter_to_date
- last_month
- lifetime
Data retention period
Data retention period for the report is 428 days.
Note
To run a report for a custom time frame, set the start_date
and end_date
fields in your report request. For more details about these fields, see Report Service.
Dimensions
Column | Type | Filter? | Example | Description |
---|---|---|---|---|
hour |
date | no | "2010-02-01 06:00:00" |
The hour of the auction. Note: For impressions older than 100 days, the day will be returned rather than the hour. |
day |
date | no | "2010-02-01" |
The day of the auction. |
month |
date | no | "2010-02" |
The month of the auction. |
buyer_member_id |
int | yes | 567 |
The ID of the buying member. |
buyer_member_name |
string | no | "Network" |
The name of the buying member. Note: The name might be "Default" or "Default Error" , which means that there was no buyer for the impression, and a default creative was served. |
buyer_member |
string | no | "Network (567)" |
Deprecated. |
seller_member_id |
int | yes | 67 |
The ID of the selling member. |
advertiser_id |
int | yes | 728 |
The ID of the advertiser. |
advertiser_name |
string | no | "Test" |
The name of the advertiser. |
advertiser |
string | no | "Test (123)" |
Deprecated. |
advertiser_code |
string | no | "Code" |
The custom code for the advertiser. |
line_item_id |
int | yes | 554 |
The ID of the line item. |
line_item_name |
string | no | "Q1 Pepsi" |
The name of the line item. |
line_item |
string | no | "Q1 Pepsi (554)" |
Deprecated. |
line_item_code |
string | no | "Q1 Pepsi Code" |
The custom code for the line item. |
campaign_id |
int | yes | 567 |
The ID of the campaign. |
campaign_name |
string | no | "Photos 728x90" |
The name of the campaign. |
campaign |
string | no | "Photos 728x90 (567)" |
Deprecated. |
campaign_code |
string | no | "Photos Code" |
The custom code for the campaign. |
campaign_priority |
int | no | 5 |
The bidding priority of a campaign that targets direct inventory. For more information, see Bidding Priority in the UI documentation. Possible values: 1 - 10 , where 10 is the highest priority. |
split_id |
int | Yes | 342 |
The ID of the split that purchased the impressions in this data set. Splits are only applicable to augmented line items. For any reports that contain campaigns, the split_id (if included) will be null . |
split_name |
string | Yes | "Mobile Split A" |
The name of the split that purchased the impressions in this data set. Splits are only applicable to augmented line items. For any reports that contain campaigns, the split_name (if included) will be null . |
creative_id |
int | yes | 554 |
The ID of the creative. Note: - For impressions older than 100 days, creatives will be aggregated into one row with 0 as the creative_id .- For external click or impression trackers, creative_id will be "External Clicks" or "External Imps" . |
brand_id |
int | yes | 3 |
The ID of the brand associated with a creative. For imp_type_id = 6 , no information is available in the brand_id field for this report. See the Seller Brand Review Report instead. |
brand_name |
string | no | "Ace Hardware" |
The name of the brand associated with a creative. For imp_type_id = 6 , no information is available in the brand_name field for this report. See the Seller Brand Review Report instead. |
brand |
string | no | "Ace Hardware (3)" |
Deprecated. |
publisher_id |
int | yes | 6787 |
The number to identify the publisher. |
publisher_code |
string | no | "Publisher Code" |
The custom code to the identify the publisher. |
publisher_currency |
string | yes | "USD" |
The currency of the publisher. |
pub_rule_id |
int | no | 54 |
The number to identify the publisher rule. |
pub_rule_name |
string | no | "50% Revshare" |
The name of the publisher rule. |
pub_rule |
string | no | "50% Revshare (54)" |
Deprecated. |
pub_rule_code |
string | no | "50% Revshare Code" |
The custom code for the publisher rule. |
site_id |
int | yes | 194 |
The ID of the site. Note: For impressions older than 100 days, the site_id will be 0 . |
site_name |
string | no | "Site Name" |
The name of the site. |
site |
string | no | "Site Name (593)" |
Deprecated. |
site_code |
string | no | "Site Name Code " |
The custom code for the site. |
deal_id |
int | Yes | 2345 |
The ID of the deal. For more information about negotiated deals between buyers and sellers, see Deal Service and Deal Buyer Access Service. |
deal_name |
string | No | "Private deal for buyer 1085 with floor of $2.50" |
The name of the deal. |
deal |
string | No | "Private deal for buyer 1085 with floor of $2.50 (45)" |
Deprecated. |
deal_code |
string | No | "External seller deal code" |
The custom code for the deal. |
geo_country |
string | yes | "US" |
The geographic country code. |
geo_country_name |
string | no | "Unites States" |
The name of the country. |
size |
string | no | "300x250" |
The size of the creative served. |
placement_id |
int | yes | 546 |
The ID of the placement. Note: For impressions older than 100 days, placements will be aggregated into one row with -1 as the placement_id . |
placement_name |
string | no | "300x250 Business" |
The name of the placement. Note: For impressions older than 100 days, placements will be aggregated into one row with "All placement data older than 100 days" as the placement_name . |
placement |
string | yes | "300x250 Business (546)" |
Deprecated. |
placement_code |
string | no | "300x250 Business Code" |
The custom code for the placement. |
imp_type_id |
int | yes | 1 |
The ID for the type of impression. Possible values (associated types in parentheses):1 ("Blank"): No creative served.2 ("PSA"): A public service announcement served because there were no valid bids and no default creative was available.3 ("Default Error"): A default creative served due to a timeout issue.4 ("Default"): A default creative served because there were no valid bids.5 ("Kept"): Your advertiser's creative served on your publisher's site.6 ("Resold"): Your publisher's impression was sold to a third-party buyer.7 ("RTB"): Your advertiser's creative served on third-party inventory.8 ("PSA Error"): A public service announcement served due to a timeout issue or lack of a default creative.9 ("External Impression"): An impression from an impression tracker.10 ("External Click"): A click from a click tracker. |
imp_type |
string | yes | "Kept" |
The type of impression. For possible values, see imp_type_id . |
buyer_type |
string | yes | "Reseller" |
The type of buyer, set by Xandr. |
supply_type |
string | no | "web" |
The type of inventory. Possible values: - "web" - "mobile_web" - "mobile_app" |
payment_type |
string | yes | "cpm" , "revshare" |
The type of payment to a broker. |
revenue_type |
string | yes | "CPA" |
The basis on which the member gets paid. |
revenue_type_id |
int | yes | 4 |
The ID of the revenue type. Possible values: -1 = No Payment 0 = Flat CPM 1 = Cost Plus CPM 2 = Cost Plus Margin 3 = CPC 4 = CPA 5 = Revshare 6 = Flat Fee 7 = Variable CPM 8 = Estimated CPM |
external_inv_id |
int | Yes | 4921 |
The ID of the external inventory code passed in the ad call and predefined by the publisher. For more details, see External Inventory Code Service. For impressions older than 100 days, the external_inv_id will be 0 . |
external_inv_name |
string | No | "External Inv Name" |
The name of the external inventory code passed in the ad call and predefined by the publisher. For more details, see External Inventory Code Service. |
external_inv |
string | No | "External Inv Name (4921)" |
Deprecated. |
media_type |
string | no | "Banner" , "Pop" , "Interstitial" , "Video" , "Text" , "Expandable" , "Skin" |
The general display style of the creative. You can use the Media Type Service to view the complete list of media types. |
mediatype_id |
int | yes | 2 |
Read-only. The ID of the media type to which the subtype belongs. |
adjustment_id |
int | yes | 890 |
The ID of the adjustment used to make changes to the media cost and/or impressions, clicks, and conversions you see in reporting for a publisher. |
venue |
string | yes | "Venue Name" |
The name of the cluster of domain, site, tag, and user country that Xandr' optimization system uses to determine bid valuations. A campaign cannot targeted a venue explicitly. |
predict_rev_type |
int | yes | 2 |
The optimization phase of a campaign that served on the publisher's inventory. Possible values:-2 = No predict phase-1 = Base predict phase0 = Learn giveup1 = Learn2 = Throttled3 = Optimized4 = Biased5 = Optimized 18 = Optimized giveup9 = Base bid below giveup |
Metrics
Column | Type | Example | Formula | Description |
---|---|---|---|---|
imps_total |
int | 2340 |
imps | The total number of impressions (served and resold). |
imps_sold |
int | 42500 |
imps_sold | The number of impressions you sold to other members. |
imps_default |
int | 321 |
imps_default | The number of impressions that defaulted. |
imps_blank |
int | 3 |
imps_blank | The number of impressions served with a blank. |
imps_psa |
int | 5 |
imps_psa | The number of impressions served with a PSA. |
imps_psa_error |
int | 0 |
imps_psa_error | The number of impressions served with a PSA due to a default error. |
imps_default_error |
int | 0 |
imps_default_error | The number of impressions that defaulted due to a timeout issue. |
imps_default_bidder |
int | 0 |
imps_default_bidder | The number of impressions that defaulted because there were no valid bids. |
imps_kept |
int | 0 |
imps_kept | The number of impressions kept (direct). |
imps_resold |
int | 0 |
imps_resold | The number of impressions resold. |
imps_rtb |
int | 2332 |
imps_rtb | The number of rtb impressions. |
external_impression |
int | 0 |
external_impression | The number of external impressions. |
external_click |
int | 0 |
external_click | The number of external clicks. |
clicks |
int | 545 |
clicks | The total number of clicks across all impressions. |
click_thru_pct |
double | 1.12359550561797 |
(clicks / imps) * 100 | The rate of clicks to impressions as a percentage. |
total_convs |
int | 90 |
post_click_convs + post_view_convs | The total number of post-view and post-click conversions. |
post_view_convs_pixel |
int | 23 |
Post view conversions for the pixel. For more information on how we attribute post-view (and other) conversions, see Conversion Attribution (Microsoft Monetize) or Conversion Attribution (Microsoft Invest). | |
post_clicks_convs_pixel |
int | 15 |
Post click conversions for the pixel. Post view conversions for the pixel. For more information on how we attribute post-view (and other) conversions, see Conversion Attribution (Monetize) or Conversion Attribution (Invest). | |
ctr |
double | 0.2327836 |
clicks / imps * 100 | The rate of clicks to impressions. |
convs_rate |
double | 0.0384413 |
total_convs / imps * 100 | The rate of conversions to impressions. |
convs_per_mm |
double | 221.877080097625 |
(total_convs / imps) x 1,000,000 | The number of conversions per million impressions. |
network_revenue |
money | 1201.13 |
network_revenue | Network revenue booked through direct advertisers and resold to real time buyers. |
total_network_rpm |
money | 2.60548314606741 |
(network_revenue / imps) x 1000 | The network revenue per 1000 impressions. |
publisher_revenue |
money | 400.05 |
publisher_revenue | The revenue paid out to the publisher (based on revshare or cpm). |
publisher_revenue_pub_curr |
money | 400.05 |
publisher_revenue | The revenue paid out to the publisher (based on revshare or cpm), in the currency of the publisher. |
publisher_rpm_pub_curr |
money | 1.71 |
(publisher_revenue / imps) x 1000 | The publisher revenue per 1000 impressions, in the currency of the publisher. |
network_profit |
money | 801.08 |
(booked revenue + reseller revenue) - total_cost | The sum of booked revenue and reseller revenue minus total cost. |
network_roi |
money | To be deprecated. The return on investment for the network. | ||
network_roi_net_commissions |
double | To be deprecated. | ||
network_rpm |
money | 3.42 |
(network_revenue / imps) x 1000 | The network revenue per 1000 impressions. |
sold_network_rpm |
double | |||
publisher_rpm |
money | 1.71 |
(publisher_revenue / imps) x 1000 | The publisher revenue per 1000 impressions. |
total_publisher_rpm |
money | |||
sold_publisher_rpm |
double | |||
network_ppm |
money | 9.23 |
(profit / imps) x 1000 | To be deprecated. The profit per 1000 impressions. |
network_revenue_net_commissions |
money | To be deprecated. | ||
network_profit_net_commissions |
money | To be deprecated. | ||
network_rpm_net_commissions |
money | To be deprecated. | ||
network_ppm_net_commissions |
money | To be deprecated. | ||
media_cost_pub_curr |
money | 16.833378 |
media_cost_pub_curr | The total cost of the inventory purchased, in the currency of the publisher. |
commissions |
money | 0 |
Commissions for standard line items, $0 for ALIs. | Fees that come out of the booked revenue. Commissions for standard line items, $0 for ALIs. |
serving_fees |
money | 0.025143 |
Serving fees for standard line items, $0 for ALIs. | Fees that are added to the media cost. Serving fees for standard line items, $0 for ALIs. |
imps_viewed |
int | 30,450 |
imps_viewed | The number of measured impressions that were viewable per the IAB Viewability definition. |
view_measured_imps |
int | 10,120 |
view_measured_imps | The total number of impressions that were measured for viewability. |
view_rate |
double | 58% |
view_rate | The percentage of impressions that were viewable out of the total number of impressions measured for viewability. (Viewed Imps / View Measured Imps) |
view_measurement_rate |
double | 45% |
view_measurement_rate | The percentage of impressions measured for viewability out of the total number of impressions. (View Measured Imps / Imps) |
partner_fees |
money | 123.45 |
The total amount of third-party costs, budgeted using the Partner Fee Service, that have accrued on an augmented line item over the reported period of time. | |
total_cost |
money | 123.45 |
total_cost = media_cost + data_costs + partner_fees + commissions + serving_fees + publisher_revenue | The total amount of costs accrued over the reported period of time. This generally includes two types of costs, budgeted costs (media cost, data cost, partner fees, serving fees, commissions) and publisher revenue if you track publisher payouts on the platform. Note: We have added logic to prevent double counting third-party fees during the breaking change period. |
total_cost_ecpm |
money | 123.45 |
(total_cost/imps) * 1,000 | The total cost per 1,000 imps. |
total_cost_ecpc |
money | 123.45 |
total_cost/clicks | The total cost per click. |
total_cost_ecpa |
money | 123.45 |
total_cost/conversions | The total cost per conversion. |
network_profit_ecpm |
money | 123.45 |
((booked_revenue + reseller_revenue - total cost)/imps) * 1,000 | Network profit per 1,000 imps. |
network_profit_ecpc |
money | 123.45 |
(booked_revenue + reseller_revenue - total cost)/clicks | Network profit per click. |
network_profit_ecpa |
money | 123.45 |
(booked_revenue + reseller_revenue - total cost)/conversions | Network profit per conversion. |
network_profit_margin |
money | 123.45 |
(booked_revenue + reseller_revenue - total cost)/(booked_revenue + reseller_revenue) | Network profit margin. |
buying_currency_total_segment_data_costs |
money | 123.45 |
total_segment_data_costs * advertiser_exchange_rate | All costs related to usage of segments in the data marketplace. It is applicable when specific segments are applied in line items and associated pricing is displayed in the platform. It is in the currency the buyer used to purchase the inventory. |
selling_currency_total_segment_data_costs |
money | 123.45 |
total_segment_data_costs * publisher_exchange_rate | All costs related to usage of segments in the data marketplace. It is applicable when specific segments are applied in line items and associated pricing is displayed in the platform. It is in the currency the seller used to sell the inventory. |
Example
Create JSON formatted report request
{code}$ cat network_publisher_analytics
{
"report":
{
"report_type":"network_publisher_analytics",
"columns":[
"hour",
"buyer_member_id",
"inventory_source",
"gender",
"imps_total",
"imps_sold",
"imps_default",
"clicks",
"total_convs",
"ctr",
"convs_rate"
],
"row_per":[
"hour",
"buyer_member_id",
"inventory_source_id",
"gender"
],
"report_interval":"last_48_hours",
"format":"csv"
}
}
{code}
POST
the request to the reporting service
{code}$ curl -b cookies -c cookies -X post -d @network_publisher_analytics "https://api.appnexus.com/report?publisher_id=4642"
{
"response":{
"status":"OK",
"report_id":"f4ebb93755dd01dde4fc157f86198ea9"
}
}
{code}
GET
the report status from the report service
Make a GET
call with the Report ID to retrieve the status of the report. Continue making this GET
call until the execution_status
is "ready"
. Then use the report-download service to save the report data to a file, as described in the next step.
{code}$ curl -b cookies -c cookies "https://api.appnexus.com/report?id=f4ebb93755dd01dde4fc157f86198ea9"
{
"response":{
"status":"OK",
"report":{
"name":null,
"created_on":"2010-05-25 19:37:31",
"json_request":"{\"report\":{\"report_type\":\"network_publisher_analytics\",\"columns\":[\"hour\",\"buyer_member_id\",\"inventory_source\",
\"gender\",\"imps_total\",\"imps_sold\",\"imps_default\",\"clicks\",\"total_convs\",\"ctr\",\"convs_rate\"],
\"row_per\":[\"hour\",\"buyer_member_id\",\"inventory_source_id\",\"gender\"],\"report_interval\":\"last_48_hours\",
\"filters\":[{\"publisher_id\":\"4642\"}]}}",
"url":"report-download?id=b97897a7864dd8f34e7457226c7af592"
},
"execution_status":"ready"
}
}
{code}
GET
the report data from the report download service
To download the report data to a file, make another GET
call with the Report ID, but this time to the report-download service. You can find the service and Report ID in the url
field of the previous GET
response. When identifying the file that you want to save to, be sure to use the file extension of the "format"
that you specified in your initial POST
.
Note
If an error occurs during download, the response header will include an HTTP error code and message. Use -i
or -v
in your call to expose the response header.
{code}$ curl -b cookies -c cookies 'https://api.appnexus.com/report-download?id=b97897a7864dd8f34e7457226c7af592' > /tmp/network_publisher_analytics.csv
{code}
Note
There is a limit of 100,000 rows per report when you download them as XLSX and Excel file.