Retrieving third-party performance data

Overview 

Many sites attempt to ensure a rich user experience with third-party Rich Internet Applications (RIAs), such as Twitter, Facebook, and TypePad. Each widget, plug-in, and script also presents the possibility of impacting user experience negatively by slowing down and negatively impacting website performance. Hence, monitoring third-party performance at the end-user/UI level is extremely important to ensure consistently excellent user experience.

The example below demonstrates how to filter third-party content from your existing data using Keynote’s NextGen API.

How to issue requests

As explained in Keynote NextGen API Reference, both the trend and table calls can be used with the combination of metrics and dimensions as needed. The info call below shows all the third-party metrics provided by Keynote Synthetic Monitoring:

https://ultraapi.keynote.com/v3/synthetic/info?login=<userlogin>&pass=<md5hashpassword>&list=metrics&actiontype=3rdparty

actiontype=3rdparty is a filter to provide third-party metrics.

Here is an output snippet for this call explaining just one metric:

{
   mask: "3_o_c",
   name: "3rd Party Object Count",
   desc: "Total number of 3rd Party Objects",
   unit: "number",
   actiontype: "3rdparty",
   supportedproduct: [
      "txp",
      "app",
      "mwp"
   ],
   supportedlevel: [
      "script",
      "page"
   ],
   supportedcomputation: {
      raw: [
         "min",
         "max",
         "avg"
      ]
   }
},

The output explains:

  • The mask of the metric, i.e. the way it should be called via the API (3_o_c)
  • Name and a brief description (3rd Party Object Count, Total number of 3rd Party Objects)
  • Unit of measurement (number)
  • Metric categorization (3rdparty)
  • Products that offer this metric (txp, app, mwp)
  • The monitoring level at which this metric is available, i.e., summary, page, or object level—this metric is supported at the summary and page levels (script, page).
  • Supported computation (raw, min, max, avg)

Sample call

https://ultraapi.keynote.com/v3/synthetic/table?rltime=7200000&metrics=count,nwtme&group=monid,mname,3catu,3cmpu,dmname&monid=<slot_ID>&login=<userlogin>&pass=<md5hashpassword>

 The call above asks for Network time and total number of data points grouped by:

  • monid: Monitor or slot ID
  • mname: Monitor or measurement name
  • 3catu: Third-party category name (Social networking/Advertising/Analytics, etc.)
  • 3cmpu: Third-party company name (Twitter/Amazon/Google Analytics, etc.)
  • dmname: Domain name of the third-party content

The output of the call returns total number of third-party contents grouped by category, company, and domain name at the summary (script) level. If page-level data is needed, pgeid (page ID) should be added to the grouping criteria (&group=pgeid) to get data grouped by page number.