SEARCH
Showing results for 
Search instead for 
Do you mean 
Reply
Highlighted
SOASTA Employee
Posts: 10
Registered: ‎08-01-2014

SOASTA mPulse FAQ

[ Edited ]

This Frequently Asked Questions (FAQ) documentation will be updated on a regular basis to help as a first stop for answering your questions about the configuration, deployment, and use of mPulse on your web site.  Another great resource is the mPulse Setup guide.  

 

General

  1. What is SOASTA mPulse? 
  2. What is Boomerang?
  3. What is the Data Science Workbench (DSWB)?
  4. Will mPulse slow down my site?
  5. What is the difference between mPulse Lite, mPulse Pro, and mPulse Enterprise?
  6. I did not get my email after registering for mPulse Lite?
  7. What kinds of web sites are compatible with mPulse?
  8. What kinds of browsers are compatible with mPulse?
  9. Does mPulse work with mobile-optimized web sites?
  10. Does mPulse work with sites built on Single Page Application (SPA) frameworks?
  11. Does mPulse work with sites that use Content Distribution Networks?

Deployment

  1. Where do I need to deploy the mPulse Javascript tag on my web site?
  2. How large is the Javascript tag that I need to deploy?
  3. Can I use my tag management system to deploy mPulse on my site?
  4. How can I find the version of Boomerang I have deployed?
  5. How can I test what will happen if mPulse or the third-party tag management system I use to inject t...
  6. Can I suspend beacons from being collected?
  7. What is the size of the first-party cookie that Boomerang uses for session ID tracking?
  8. What is the expiration set to for the session cookie used by mPulse?
  9. Why are the requests for config.js being rejected with HTTP 403 Forbidden errors?

Configuration

  1. What limitations are there in the use of Javascript variables in the mPulse App configuration?
  2. What limitations are there in the use of XPaths for custom metric collection?
  3. Can I change the maximum number of page elements for which Resource Timing data will be collected?
  4. How do I get component-level data for Resource Timings for all of the domains on my site?
  5. Can mPulse be used to monitor a site that is only accessible via IP address (not accessible via a do...
  6. How do I configure mPulse to collect additional custom parameters?
  7. When defining a URL Pattern for a custom metric, timer, or dimension, why does my regular expression...
  8. Is there a way to delay the sending of a beacon until some time after the onload event?
  9. What happens with the site visitor's IP address information if I turn on the "Strip IP Address From ...

Data Collection

  1. What percentage of site traffic is captured with mPulse?
  2. When are beacons of data sent to mPulse?
  3. How large is the beacon of performance data and metrics sent to SOASTA for each page view?
  4. What kinds of personal user data are collected in beacons, and how can I manage it to remain in comp...
  5. How do you identify and group key pages on my site for analysis?
  6. What is a metric?  What is a custom metric?
  7. Can I track conversion rates or order totals with mPulse?
  8. What is a timer?  What is a custom timer?
  9. What kinds of timers does mPulse collect?
  10. Does mPulse collect timers for 'first paint' or 'initial render'?
  11. What is a dimension? What is a custom dimension?
  12. Why do I see "Your tenant does not allow Dimensions" in my App config?
  13. What kinds of dimensions does mPulse collect?
  14. How does mPulse identify the operating systems and browsers used by real users?
  15. How does mPulse identify and track user sessions?
  16. How does mPulse calculate the duration (in time) of a session?
  17. What happens if a user closes their browser before the page load is complete?
  18. Will mPulse collect data on my synthetic performance monitoring tests?
  19. Does mPulse have support for A/B testing?
  20. How can mPulse measure ‘above the fold’ render time?
  21. Why did my bounce rate change when I turned on 'Auto-XHR' data collection?

Using the Data

  1. How long does it take for beacon data to be available in the SOASTA Dashboards?
  2. How long is mPulse data stored?
  3. Can I get breakdowns by regions inside a country?
  4. When does mPulse use medians and when does mPulse use means?
  5. What does SOASTA mean by "Page Load Time"?
  6. What does SOASTA mean by the terms "Back-End Time" and "Front-End Time"?
  7. When I add the "Back-End Time" and "Front-End Time" together, the sum does not equal the "Page Load ...
  8. How is the Margin of Error in mPulse dashboards calculated?
  9. What range of Page Load Times does mPulse consider valid?
  10. Can I filter XHR vs. non-XHR traffic in mPulse?
  11. When I go into the Waterfall Dashboard and choose ‘last 3 days,’ or any pre-selected time filter, wh...
  12. Why are my conversion numbers really skewed in the What-If Dashboard?

Exporting, Importing, and Sharing Data

  1. Can I retrieve aggregated data for use in my own analytics engines or tools?
  2. Can I get the raw beacon data?
  3. Can I import data to use in Dashboards from an external source like AppDynamics?
  4. Can I share dashboards with custom links?
  5. Can I restrict some user accounts on mPulse to be read-only?
  6. Can I restrict users to be able to view only certain Dashboards?

Single Page Applications (SPA)

  1. What Single Page Application (SPA) frameworks does mPulse support for measuring?
  2. If I have a SPA that is not entirely using AngularJS (or some other supported framework), can I meas...
  3. Does mPulse distinguish between XHR requests that are generated by user actions and other XHR reques...
  4. How do I configure A/B testing for various versions of my SPA within mPulse?

Bandwidth Testing

  1. How does mPulse collect metrics on site visitor bandwidth?
  2. Will mPulse bandwidth testing slow down the user experience for my site?
  3. How large are the files that a bandwidth test will load?
  4. How often are mPulse bandwidth tests performed for any particular site visitor?
  5. Can I throttle or limit the bandwidth testing?
  6. Can I disable bandwidth testing for mobile site visitors?
  7. Should I host the image files used for bandwidth testing on my origin server or on my CDN?
  8. Can I perform bandwidth testing on an HTTPS site?

Support

  1. Does mPulse have a professional services offering?
  2. Where do I go to get more help?

 

GENERAL

 

Q1: What is SOASTA mPulse? 

A1: mPulse is SOASTA’s Real User Measurement (RUM) solution.  mPulse collects detailed data directly from a user’s browser or mobile application, including performance timers such as bandwidth and page load times as well as business metrics like bounce rate, conversion rates, or order totals.  mPulse also gathers mobile user metrics like user location, device type, carrier speed and application usage.  You get actionable views of this data via stunning dashboards that are populated instantly via the industry’s first in-memory analytics engine. You are provided real time views of real user activity broken down by such segments as page groups, browser type, bandwidth distribution, and geography.  The mPulse product data sheet is here: https://www.soasta.com/wp-content/uploads/2016/09/mP-DS-Data-Sheet-v5a.pdf

 

Q2: What is Boomerang?

A2: boomerang.js is open source Javascript code (BSD license) that was developed in 2010 to implement Real User Measurement (RUM).  mPulse is built using boomerang.js.  Boomerang was created by Philip Tellis, who founded LogNormal, Inc., the first company to offer a RUM product.  LogNormal was acquired by SOASTA in 2012, and today Philip is Chief Architect at SOASTA.  SOASTA maintains the open source version of Boomerang, which can be found here: https://github.com/SOASTA/boomerang/

 

Q3: What is the Data Science Workbench (DSWB)?

A3: The SOASTA Data Science Workbench is an analytics platform that allows data scientists, engineers, business analysts, and decision makers to quickly and easily acquire actionable business intelligence from their data. This includes analysis of 100% of their customer experience data collected via mPulse as well as any other data sets available. Users can easily access this information, then slice, dice and analyze the data in a variety of different visual formats.  Every customer experience beacon is unpacked, transformed and loaded nightly by SOASTA into a SOASTA designed schema in Amazon Redshift.  Interact with your data using an online, interactive Explore & Discover user interface based on the Julia scientific programming language developed at MIT.  Pre-developed functions and statistical models are available to quickly get you started.  For more information, see: http://www.soasta.com/wp-content/uploads/2015/05/dswb_data_sheet_v3.pdf.

 

Q4: Will mPulse slow down my site?

A4: The mPulse Team has ensured that your client's performance comes first, and that performance is not adversely affected by the measurement tool in use.  Our Boomerang implementation is designed with the smallest possible footprint, whether Boomerang is loaded into a mobile browser or into some other browser type.  mPulse conserves the limited parallel connections available to the web browser or mobile app and has a far–future header that spreads out its necessary requests over time. SOASTA's Javascript calls will not block your critical client requests.  For more information, see http://cloudlink.soasta.com/t5/Knowledge-Base/mPulse-Boomerang-Overhead/ba-p/31152 and http://cloudlink.soasta.com/t5/mPulse-Technical-Articles/The-mPulse-Script-Loader-Why-it-is-ok-for-o...

 

Q5: What is the difference between mPulse Lite, mPulse Pro, and mPulse Enterprise?

A5: mPulse Lite gives you a chance to try mPulse on your own site for free, but has some limitations in scope and functionality.  With mPulse Lite, you are limited to a smaller number of beacons (page views) per day and you cannot define custom metrics or custom timers.  You also have a limited number of Page Groups available, and you cannot create custom Dashboards.  Upgrading to mPulse Pro from mPulse Lite is easy and you can use your already created App configurations from mPulse Lite without having to start over.  mPulse Pro increases the number of logins you can have for users, allows access to the Waterfall Analysis Dashboard, custom dashboards, bandwidth testing, more page groups, and allows up to 1 million beacons/month. mPulse Enterprise is the right solution for sites with more than 1 million page views per month, and offers even more features including the What-If Analysis Dashboard, unlimited page groups and users, more custom metrics and timers, and access to aggregated and raw data.  You can sign up for mPulse Lite here: http://www.soasta.com/free/ and you can watch our Getting Started with mPulse Lite video here: http://www.soasta.com/getting-started-mpulse/

 

Q6: I did not get my email after registering for mPulse Lite?

A6: Please be sure to check your spam filters and whitelist donotreply@soasta.com.  If you are still having issues, please contact SOASTA via the Contact Support page.

 

Q7: What kinds of web sites are compatible with mPulse?

A7: mPulse can function effectively in both multi-page sites and single-page sites.  By default, mPulse measures the time it takes to load a full page. This works well if you have a standard multi-page site. If your application runs as a single page that loads content from the back end using things like XHR or JSON-P, mPulse can handle that as well, recoding timers for XHR actions.  For more details on setting up the Javascript tag to capture AJAX calls, see the mPulse Setup Guide: http://cloudlink.soasta.com/t5/Knowledge-Base/mPulse-Setup/ba-p/13897  For details on the mPulse Boomerang AngularJS Plugin, see: http://cloudlink.soasta.com/t5/Knowledge-Base/mPulse-Boomerang-AngularJS-Plugin/ba-p/40991.

 

Q8: What kinds of browsers are compatible with mPulse?

A8: Any browser that supports Javascript will work with mPulse.  mPulse can collect more detailed performance timers from browsers that support the World Wide Web Consortium (W3C) Navigation Timing API.  For legacy browser versions, mPulse still collects page-level timer information, and can estimate front-end versus back-end time, even though it is not measured directly in these older browsers.  Element level performance details used in the Waterfall Analysis Dashboard are collected from browsers that support the W3C Resource Timing API.  For connections to the mPulse UI and API, we require that the browser or client support a minimum of TLS 1.2. 

See http://caniuse.com/#search=TLS%201.2 for a list of browsers with TLS 1.2 support.

See http://caniuse.com/#search=Navigation%20Timing%20API for a list of browsers that support the Navigation Timing API.  

See http://caniuse.com/#search=Resource%20Timing for a list of browsers that support Resource Timing.

 

Q9: Does mPulse work with mobile-optimized web sites?

A9: mPulse is compatible with desktop-optimized, mobile-optimized, and Responsive Web Design (RWD) sites.  There is nothing special that you need to do in configuration for mobile that is different from desktop.

 

Q10: Does mPulse work with sites built on Single Page Application (SPA) frameworks?

A10: mPulse has first-class support for sites built on the AngularJS, Backbone.js, Ember.js, and other SPA frameworks.  

 

Q11: Does mPulse work with sites that use Content Distribution Networks?

A11: mPulse will work with sites that use CDNs.  There is nothing special that you need to do in configuration.

  

 

DEPLOYMENT

 

Q12: Where do I need to deploy the mPulse Javascript tag on my web site?

A12: SOASTA strongly recommends that the mPulse Javascript tag load as early as possible in the page load to ensure that the code is executed and ready when the first onLoad events (indicating the complete page load) occur.  Our best practice recommendation is to load the tag in the <HEAD> of the base page HTML of each page on the site.  If the tag cannot be loaded in the <HEAD> of the document (perhaps because it needs to be loaded through a tag management system by corporate policy, for example), it should be loaded as soon as possible in the <BODY>.  The earlier in the page load that the Javascript is executed, the more accurate will be the metrics from legacy browsers that do not support the W3C Navigation Timing API.  For more information on this, see: http://cloudlink.soasta.com/t5/mPulse/Tag-Manager-Improvements/ta-p/40522.  

 

Q13: How large is the Javascript tag that I need to deploy?

A13: 878 bytes.

  

Q14: Can I use my tag management system to deploy mPulse on my site?

A14: Ideally, the mPulse Javascript tag should load as early as possible in the page load.  It is best if the tag completely loads before the page’s onload event fires, especially for legacy browsers that do not support the Navigation Timing API.  If the Boomerang library loads after the onload event, Page Load Time on browsers that do not support Navigation Timing will include the time between the onload event and when the Boomerang library actually loaded.  For more details on this, see: http://cloudlink.soasta.com/t5/mPulse/Tag-Manager-Improvements/ta-p/40522.  Some tag management services support the ability to load tags early, but others always or almost always load mPulse after the onload event, and would not be as desireable for use with mPulse. Some specific details about deploying mPulse using Tealium can be found here: http://cloudlink.soasta.com/t5/mPulse-Technical-Articles/Tealium-Integration-Guide/ba-p/27622 

 

Q15: How can I find the version of Boomerang I have deployed?

A15: The version of Boomerang used for any beacon is displayed in the Beacon Details widget of the Waterfall Dashboard in the Page Construction tab.  Alternatively, in your browser, load the URL http://c.go-mpulse.net/boomerang/<API-KEY> replacing the API-KEY with the value of the API Key assigned to your App.  When you have received the response to this request, search for the substring "BOOMR.version=".  The version of Boomerang being sent to users with your API Key will be in the double-quoted string that follows, e.g.: BOOMR.version="0.9.1422498372".  On UNIX or MacOS systems, you can also run the following from the command line to get the Boomerang version number:

 

curl -A 'Mozilla/5.0' http://c.go-mpulse.net/boomerang/<API-KEY> 2>/dev/null | grep 'BOOMR.version=' | sed -e 's/.*BOOMR.version=/BOOMR.version=/;s/;.*//'

 

Q16: How can I test what will happen if mPulse or the third-party tag management system I use to inject the mPulse Javascript snippet go down?

A16: One potential problem you'll face with any third-party call on your site is when the browser makes the request but no response comes back because servers are down, or if the response takes very long, like if they were under a DDoS attack.  To test for this possibility, SOASTA recommends using the "SPOF" or "Single Point of Failure" feature of WebPageTest.  In the configuration of the WebPageTest run, enter the domain name of the third-party call whose failure you want to simulate.  To simulate a failure of the mPulse calls, use c.go-mpulse.net.  For more information on this tool, see: http://www.webpagetest.org/

 

Q17: Can I suspend beacons from being collected?

A17: Yes.  You can log into the mPulse site (http://mpulse.soasta.com/) and suspend the delivery of beacons from any app on which you have mPulse deployed.  This will not remove the mPulse Javascript tag from the site or prevent the loading of the Boomerang library in the browser, but no beacons will be sent to mPulse until suspend beacons is unchecked.

 

Q18: What is the size of the first-party cookies that Boomerang uses for session ID tracking?

A18: The cookies can be up to 5400 bytes in size.  Boomerang has code that will stop using the cookie if it starts to get larger than 5400 bytes to minimize overhead of mPulse on any application.  In practice, most cookies are 100 to 400 bytes.

 

Q19: What is the expiration set to for the session cookie used by mPulse?

A19: Seven (7) days after last use.  mPulse can also be configured to not use session-tracking cookies.

 

Q20: Why are the requests for config.js being rejected with HTTP 403 Forbidden errors?

A20: An HTTP 403 Forbidden response almost always means that the mPulse Javascript file is being requested with an API key that does not match the top level domain of the page being loaded in the browser.  This is a part of the security mechanism SOASTA uses to prevent third parties from copying the tag from your site and using it on their own site.  If you need to deploy the exact same Javascript snippet (including the same API key) on development/QA servers in a pre-production environment that will be used on the production site, you can use the Development Server List feature in the App configuration to specify development servers whose traffic should be excluded from the mPulse Dashboards.  For more information, see: http://cloudlink.soasta.com/t5/Knowledge-Base/Why-Does-the-mPulse-JavaScript-Get-a-403-Error-on-a-No....

 

 

CONFIGURATION

 

Q21: What limitations are there in the use of Javascript variables in the mPulse App configuration?

A21: Javascript variable names can be used to configure Page Group definitions, custom timers, custom metrics, and for the A/B Testing variable.  The only allowed characters in a JS variable name are [a-zA-Z0-9_.$] and the variable must start with [a-zA-Z_$] and cannot end with the . character.  More complex Javascript variables such as dataLayer[0]['pageName']` will not work.

 

Q22: What limitations are there in the use of XPaths for custom metric collection?

A22: Most modern browsers fully support parsing XPaths to identify specific page elements in the Document Object Model (DOM) of the page.  However, some browsers do not, with Internet Explorer and BlackBerry Browser being the most commonly encountered exceptions.  mPulse has two options for XPaths that can work with both IE and other modern browsers.  If the XPath specified for the custom metric is directly to an element with an ID (for example //*[@id="checkoutOrderTotalValue"]), then mPulse will use a document.getElementById call to directly get the value in that element.  There is also a very limited-functionality XPath parser built into Boomerang that can be used for IE and other browsers that do not have parsers built in.  This limited parser works for XPaths that only include exact tag names using @id or are rooted at the document root (for example /html/body/div/div/a/span).  This latter approach is riskier, as changes to the page structure could change the absolute XPath to the element you want to collect.  SOASTA recommends updating your page's HTML to include an ID for any element whose value you wish to capture in a custom metric as the most reliable approach to data collection.

 

Q23: Can I change the maximum number of page elements for which Resource Timing data will be collected?

A23: By default, most browsers will limit their reporting of Resource Timing to the first 150 requests on the page.  You can, however, place Javascript on your pages to increase the buffer size that the browser will use for those pages with more than 150 individual page elements.  See http://cloudlink.soasta.com/t5/mPulse-Technical-Articles/Increasing-the-default-number-of-resources-... for more details.

 

Q24: How do I get component-level data for Resource Timings for all of the domains on my site?

A24: The timing values collected by mPulse come from the W3C Resource Timing API, a standard Javascript API that is implemented in modern web browsers.  Because the information is exposed through Javascript, the Resource Timing API is subject to the cross-origin security limitations that browsers enforce on scripts.  In order to get component-level timing details for elements served from a different origin server than the origin server that delivers the base page HTML, you will need to have HTTP response headers configured to allow Cross Origin Resource Sharing (CORS).  See http://cloudlink.soasta.com/t5/mPulse-Technical-Articles/CORS-and-Resource-Timing-in-mPulse/ba-p/406... for more details.

 

Q25: Can mPulse be used to monitor a site that is only accessible via IP address (not accessible via a domain name)?

A25: No.  mPulse requires that the site be reachable via a domain name.

 

Q26: How do I configure mPulse to collect additional custom parameters?

A26: There are times that you might want to include custom parameters on the beacon that is sent to mPulse, generally for types of data that are not suitable for collection with Custom Dimensions. For example, collecting a unique customer ID or session ID might be useful for in-depth analysis of issues, but cannot be effectively accessed in the real-time mPulse dashboards because there are too many unique values. With some simple Javascript on the page, custom parameter data can be sent along with the mPulse beacon. This custom parameter data will not show up inside the mPulse dashboards, except for the Waterfall Dashboard where you can see it in the raw beacons details section.  You can use custom parameters in the DSWB. See http://cloudlink.soasta.com/t5/mPulse/Adding-custom-parameters-to-an-mPulse-beacon/ta-p/42148 for details on the Javascript that needs to be inserted on the site to add these custom parameters to the beacon of data that is sent back to SOASTA.

 

Q27: When defining a URL Pattern for a custom metric, timer, or dimension, why does my regular expression not work?

A27: When configuring custom timers, metrics, or dimensions, mPulse uses URL Patterns as part of the configuration.  URL Patterns are not the same as regular expressions.  A URL pattern only supports the following parameters:

  • A wildcard on the URL, e.g.: *orderconfirmation.jsp*
  • A strict URL that explicitly defines the target URL to be measured

 

Q28: Is there a way to delay the sending of a beacon until some time after the onload event?

A28:In certain cases, you may want to delay the mPulse beacon from firing on the load event.  SOASTA recommends some JS code that can be appended to the main beacon code that you copy out of the mPulse UI to accomplish this. See http://cloudlink.soasta.com/t5/mPulse/Delay-the-mPulse-beacon-from-firing-for-X-seconds/ta-p/43367 for more details.

 

Q29: What happens with the site visitor's IP address information if I turn on the "Strip IP Address From Raw Beacon Logs" feature in the App configuration?

A29:The IP address is acquired via the TCP/IP headers between the browser and our CDN's servers. The CDN uses this IP to do IP-based rate limiting and if the request passes the rate limiting step, it forwards the request to the SOASTA collector server. This is the first point at which it enters SOASTA's system. From this point, we use the IP address to do geolocation, identify the ISP the user is on, and determine the network connection type (cable/DSL, cellular, corporate, dialup) using third-party databases that contain mappings based on IP address. After these dimensions have been determined, the next step for the IP address is to write it to the raw beacon log in Amazon S3. At this point, if the "Strip IP Address From Raw Beacon Logs" flag is set, then the IP address value is replaced with a string value "redacted" and the IP address is no longer present in the system.

 

 

DATA COLLECTION

 

Q29: What percentage of site traffic is captured with mPulse?

A29: mPulse will send beacon data for 100% of all page loads on a web site.  Because mPulse does not sample the data collection of metrics and timers, the margin of error can be kept as small as possible, resulting in a more complete and accurate portrayal of site health.  Note: mPulse Lite and mPulse Pro both have limitations regarding the total number of samples per month, and sites that begin to exceed those limits will see throttling on the data collection.  

 

Q30: When are beacons of data sent to mPulse?

A30: Beacons are fired immediately upon page load or when specifically called by AJAX or SPA navigation actions on a page. You should see the collected beacons in your mPulse dashboards within seconds, except for the Waterfall Dashboard, where beacons may take up to two minutes to be available.

 

Q31: How large is the beacon of performance data and metrics sent to SOASTA for each page view?

A31: The size of the beacon can vary depending on the number of custom metrics, timers, and dimensions collected on the page, whether or not the beacon includes Resource Timing data, and how many resources the page uses.  Beacons without Resource Timing data will typically be 2K to 3K in size.  Beacons with Resource Timing data can be twice as large or larger.

 

Q32: What kinds of personal user data are collected in beacons, and how can I manage it to remain in compliance with privacy regulations?

A32: By default, mPulse does not collect Personally Identifiable Information (PII) data as defined in United States privacy law.  All data stored in raw or aggregate format is only available outside of the customer’s tenant to key SOASTA personnel. Domain specific data is NOT shared between tenants.  mPulse offers domain administrators the ability to disable cookies for session tracking, the ability to exclude IP addresses of site visitors from the raw data storage, as well as the ability to exclude query string parameter details from stored URLs.  More information on this topic is available on request.

 

Q33: How do you identify and group key pages on my site for analysis?

A33: In mPulse, Page Groups identify and segment the web app into logical page groupings (e.g. Home page, Search Results, Login, Add to Cart, etc.).  You have multiple options to identify Page Groups in mPulse.  You can identify types of pages based on Javascript variables on the page, using query string parameter values in the base document URL, substrings of the base document URL, or by applying a regular expression to the base document URL.  For advanced situations, you can also add custom Javascript to identify a page as well.

 

Q34: What is a metric?  What is a custom metric?

A34: mPulse considers metrics to be non-performance data resulting from user actions during a customer visit.  These can include bounce rate, conversion rate, order totals, number of items in cart, number of shares traded, etc.  Bounce rate, session length, and session duration are metrics built into mPulse.  Most other metrics (including conversion and order total) will need to be defined as custom metrics.  Custom metrics are only available to mPulse Pro and mPulse Enterprise customers.

 

Q35: Can I track conversion rates or order totals with mPulse?

A35: Most of the metrics that you will be interested in (such as conversions, order totals, number of items in cart, number of shares traded, etc.) will need to be defined as custom metrics.  You can define custom metrics using Javascript variables, URL patterns, or using XPaths on the page.  mPulse can track percentages (such as for computing conversion rate) or numbers (such as for computing order totals or number of items purchased).  Custom metrics are only available to mPulse Pro and mPulse Enterprise customers.

 

Q36: What is a timer?  What is a custom timer?

A36: Timers are performance data, such as DNS lookup time, SSL connection time, front-end time, back-end time, and page load time.  Timers are always measured in minutes, seconds, or milliseconds.  For modern browsers, mPulse will collect all of the timers defined in the W3C Navigation Timing API.  Custom timers can be defined to identify other key performance moments during a page load.  Some examples include time to first image, time to sidebar load, time to load content served from a specific third-party resource, etc.  Custom timers are only available to mPulse Pro and mPulse Enterprise customers.

 

Q37: What kinds of timers does mPulse collect?

A37: By default, mPulse collects performance data for page load time and will collect all the timers defined by the W3C Navigation Timing API for those browsers that implement it.  For older browsers, mPulse estimates front-end and back-end performance timing.  mPulse can also collect custom timers using values from the W3C Resource Timing API and the User Timing API for those browsers that implement them. For a full list of all the parameters delivered in an mPulse beacon, see: http://cloudlink.soasta.com/t5/Knowledge-Base/mPulse-Beacon-Parameters/ba-p/26676.  For an up-to-date list of browser support for the Navigation Timing and Resource Timing APIs, see: http://caniuse.com/#search=Navigation%20Timing%20API and http://caniuse.com/#search=Resource%20Timing.

 

Q38: Does mPulse collect timers for 'first paint' or 'initial render'?

A38: Unfortunately, there is no standard defined by the World Wide Web Consortium (W3C) for browsers to report a standard timer value for when the user first sees visual changes in the browser viewport. Some browsers have developed their own reporting numbers and mPulse will collect those where they are available. You can view or filter on those values in the Waterfall Dashboard and use them in custom queries in the Data Science Workbench (DSWB). However, because different browsers calculate their numbers differently, making them not directly comparable with each other, those timers are not available for use in the other mPulse real-time dashboards. Currently, we collect this value for the following browsers:
     Chrome: window.chrome.loadTimes().firstPaint
     Internet Explorer: window.performance.msFirstPaint
     Edge: window.performance.msFirstPaint

 

Q39: What is a dimension?  What is a custom dimension?

A39:  In mPulse, dimensions are non-performance data about the user visit that help us categorize page views into useful segments for analysis.  Some dimensions capture details about the technology used by the visitor, including browsers, operating system, device details, and network details.  mPulse also collects geography and ISP details.  Most other dimensions will need to be defined as custom dimensions.  Popular custom dimensions include identifying pages served to logged-in or return users versus those served to not-logged-in or first-time visitors, identifying mobile-optimized versus desktop-optimized versions of pages, capturing the language or regional edition used for the page content, identifying a product family (kitchen, bath, outdoors, etc.) separately from the Page Group, tracking which application server or hosting server was used to generate the page, tracking pages with embedded videos or other features versus those without, and hooking into the JS variables used with complex multi-level A/B testing.  Custom dimensions are only available to mPulse Pro and mPulse Enterprise customers.

 

Q40: Why do I see "Your tenant does not allow Dimensions" in my App config?

A40: Dashboard performance may decrease if a custom dimension returns more than 100 unique values.  So, categorical dimensions work well because they can only return a limited number of possible values, whereas user-identifying parameters like usernames, user IDs, or session IDs are not compatible with mPulse custom dimensions.  mPulse customers new to the feature will be guided through configuration in an approval process to ensure success.  You will see the 'Your tenant does not allow Dimensions' message in the App configuration dialog until you have gone through the Custom Dimension approval process for the first time.

 

Q41: What kinds of dimensions does mPulse collect?

A41: By default, mPulse collects Beacon Type (page view or XHR), Country, Region (for select countries), Browser Family, Browser Version, Operating System, OS Version, Device Type (Desktop, Tablet, Mobile, Other), Device Manufacturer (for mobile devices), Device Model (for mobile devices), Connection Type (Cable/DSL, Corporate, Cellular, Dialup), and ISP (for select countries). mPulse has an A/B Test Variable feature for simple A/B test dimensions, and all other dimensions can be collected with Custom Dimensions.  For more information on custom dimensions, and how to configure them, see: http://cloudlink.soasta.com/t5/mPulse-Resources/Custom-Dimensions/ta-p/42812.

 

Q42: How does mPulse identify the operating systems and browsers used by real users?

A42: mPulse relies upon the industry standard UA-Parser project to parse the User-Agent string of the HTTP request and pull out browser family and version, operating system family and version and a few other fields. For more details on the UA-Parser project, see: https://github.com/ua-parser/

 

Q43: How does mPulse identify and track user sessions?

A43: mPulse sets a session cookie on the primary domain that allows us to track that user session.  Boomerang does not track users beyond a session.  mPulse has a default session timeout of 30 minutes, but can be configured to any number of minutes between 1 and 60.  mPulse will consider a user session open until 30 minutes (or the customized number of minutes) after the last beacon was sent. Session-based percentages (bounce rate, conversion rate, etc.) are recorded at the end of the session.  mPulse can be configured not to use session-tracking cookies, which would disable the ability to track session-based metrics.

 

Q44: How does mPulse calculate the duration (in time) of a session?

A44: mPulse calculates the session start time as the minimum value timestamp of page navigation start (if the browser supports Navigation Timing API) or boomerang start (for legacy browsers). The session end time is the last event time seen on the session (either the load event of the final page or the final unload event). Capturing the dwell time for the final page in a session is the most challenging. If an unload beacon arrives after the final page view in a session (about 70% of the time it will not arrive), we change the session end time to the timestamp of that final unload beacon. Unfortunately, about 70% of the time we are never get a final beacon for an unload event. Mobile browsers almost never send it because the page is only unloaded when the browser is force killed. In the case of desktop browsers, there is also a high probability that the network connection gets garbage collected by the browser before the request goes out if the browser/tab is closed. In those cases, the session end time will be the time when the final page in the session completely loaded and will not include any dwell time after the page load.

 

Q45: What happens if a user closes their browser before the page load is complete?

A45: If the user closes their browser before the page load is complete, mPulse will often still receive a beacon from that page load, as the browser will fire an "unload" event, which triggers beacon delivery in the Boomerang code. If the beacon is fired before the onload event, one of the parameters in the beacon data (rt.abrt) will indicate that the user aborted the page load before it was complete. Data from those beacons is used for session calculations such as session length and session duration, but the timers in those beacons are considered untrusted and not used. There is also a 50-60% chance that we will not receive the beacon if the user closed the browser during a page load.

 

Q46: Will mPulse collect data on my synthetic performance monitoring tests?

A46: If you are using a synthetic performance monitoring system on your site (such as those offered by Keynote, Compuware Gomez, AlertSite, etc.) you probably do not want to be beaconing back performance information for these non-human page views.   All of the most popular synthetic performance monitoring services intentionally modify the User-Agent string (by appending specific sub-strings like “KTXN”, “GomezAgent” or “AlertSite” to the end of the string) that they send when making connection to your web site, so that they can be uniquely identified.  mPulse uses these identifiers to filter out the robot traffic using the same mechanism as when you Suspend Beacons manually in the mPulse domain configuration dialog.  For more information: http://cloudlink.soasta.com/t5/mPulse-Technical-Articles/204-Response-for-config-js-from-Synthetic-M... 

 

Q47: Does mPulse have support for A/B testing?

A47: mPulse can use a Javascript variable set on the page to identify different versions of pages during A/B testing.  Despite being called A/B testing, the variable is actually not limited to just two potential values, so multiple versions of a site can be separately analyzed.  This feature in mPulse can also be used for other purposes, such as tracking logged-in versus not-logged-in versions of pages.  Note: The A/B Testing feature is only available to mPulse Enterprise customers.

 

Q48: How can mPulse measure ‘above the fold’ render time?

A48: With the mPulse Custom Timers feature, you can use a JavaScript variable or User Timing mark instrument a timer that fires close to the bottom of the fold. This is the recommended method to capture ‘above the fold’ timing.  For a good example, see https://speedcurve.com/blog/user-timing-and-custom-metrics/ 

 

Q49: Why did my bounce rate change when I turned on 'Auto-XHR' data collection?

A49: SOASTA mPulse calculated Bounce Rate as the percentage of user sessions with a single beacon.  If your site uses AJAX and there are XHR requests made after onload on a visitor's landing page view, you can expect to have more than one beacon for that session, even if the user does not visit a second page.   mPulse does not automatically filter out XHR beacons from bounce rate calculations because you might have a site (such as a Single Page Application, or SPA, design site) where those XHR beacons represent user actions or navigations that you want to treat in the same way as new page requests for session-based metrics like bounce rate.  If you prefer to exclude those XHR requests from the Bounce Rate calculation, you should create Page Group rules that match the URLs for the XHR requests using regular expressions, and in those rule definitions, check the "subresource" checkbox.   mPulse will not use beacons assigned to "subresource" Page Groups in calculating Bounce Rate or other session-based metrics.

 

USING THE DATA

 

Q50: How long does it take for beacon data to be available in the SOASTA Dashboards?

A50: Beacons are fired immediately upon page load or when specifically called-for AJAX actions happen on a page, and (with the exception on the Waterfall dashboard) you should see the data in your mPulse dashboards within seconds. The Waterfall Dashboard uses a separate database to handle and process the individual beacon data.  This secondary database is loaded in a batch process from the raw JSON beacon logs.  The batch processing means that beacons may not be available in the Waterfall dashboard for up to two minutes after the page view.  This CloudLink article is a good start for new users learning the features available in the mPulse Dashboards: http://cloudlink.soasta.com/t5/Knowledge-Base/mPulse-Analytics-mPulse-Dashboard/ba-p/14303

 

Q51: How long is mPulse data stored?

A51: Data is stored at minute-level granularity for different lengths of time for the three different mPulse product tiers.  mPulse Lite customers get 30 days of data retention, mPulse Pro customers have 90 days of data retention, and mPulse Enterprise customers enjoy 18 months of data retention.  For even longer-term data storage options, mPulse Enterprise customers can use the Aggregate API or raw beacon access features of the product to collect and store the data in their own data warehouses.

 

Q52: Can I get breakdowns by regions inside a country? 

A52: mPulse Pro and mPulse Enterprise customers receive regional breakdowns for the US, Canada, and the UK by default.  Breakdowns by region for a limited number of other countries are available as a configurable option with approval.  mPulse Lite customers are limited to country-level breakdowns.

 

Q53: When does mPulse use medians and when does mPulse use means?

A53: By default, mPulse reports on median (50th percentile) for any timer or other measurement that uses data across multiple users of the site or application.  You can adjust this to any arbitrary percentile value between 1 and 100.  For timers and measurements within a single user session, however, mPulse reporting uses the arithmetic mean.  For sessions, each data point is based on the arithmetic mean of the load times of all pages of a single user across a single session.

 

Q54: What does SOASTA mean by "Page Load Time"?

A54: Page Load Time, as reported in mPulse, is the time from the page request to the "onload" or "load" event in the browser. In the event that the Boomerang library was not already in the browser cache and was not loaded in the browser before the onload event, and the browser does not support the Navigation Timing API, then Page Load Time can also include the time between onload and when the Boomerang library was first loaded.  For more details on this, see: http://cloudlink.soasta.com/t5/mPulse/Tag-Manager-Improvements/ta-p/40522.

 

Q55: What does SOASTA mean by the terms "Back-End Time" and "Front-End Time"?

A55: In SOASTA mPulse, "Back-End Time" is the time it takes the server to dynamically generate or fetch the base document after a new page request.  The portion of the page load time that follows the "Back-End Time" is what SOASTA mPulse calls "Front-End Time". That timer includes all the remaining time to load the page, including fetching both static and dynamic assets on the page, delays processing Javascript or CSS, time to initialize plug-ins like Flash, and other browser-side delays until the onload event has fired.  For more details on these two timers, see: http://cloudlink.soasta.com/t5/References-and-Resources/Back-End-Time-and-Front-End-Time-in-SOASTA-m...

 

Q56: When I add the "Back-End Time" and "Front-End Time" together, the sum does not equal the "Page Load Time" in the dashboard.  Why not?

A56: By default, mPulse reports on median (50th percentile) for each of these timers.  You cannot compare the sum of medians to the median of sums.  For example, if you had three beacons with the following timers:

 

Front End: 3100ms, Back End: 100ms, Page Load: 3200ms
Front End: 3000ms, Back End: 200ms, Page Load: 3200ms
Front End: 3200ms, Back End: 200ms: Page Load: 3400ms

The resulting medians would be 3100 ms for Front-End Time, 200 ms for Back-End Time, and 3200 ms for page load time.  As you can see, the sum of the median Front-End Time and the median Back-End Time does not equal the median page load time.  This is true for all percentiles, not just the 50th percentile (median).

 

Q57: How is the Margin of Error in mPulse dashboards calculated?

A57: The Margin of Error is a statistical computation on the sample based on a confidence interval at 95% confidence level.  The smaller the margin of error, the higher confidence that the value being presented is an accurate representation of the result.

 

Q58: What range of Page Load Times does mPulse consider valid?

A58: The mPulse UI will only use beacon data when the beacon has a page load time between 1 and 600,000 ms (10 minutes).  If you are analyzing your own raw beacon data, SOASTA recommends that you incorporate a similar restriction in your computations as a best practice.

  

Q59: Can I filter XHR vs. non-XHR traffic in mPulse?

A59: Yes, mPulse dashboards can use a “Beacon Type” filter that lets you filter traffic to use only Page View beacons, use only XHR beacons, or use all beacons.  The "Beacon Type" filter is availble on all of the system dashboards.  If you enable XHR beacons, the "Beacon Type" filter option is not automatically added to the filter bar of existing custom dashboards, but you can add it just as you would any other filtering option.

 

Q60: When I go into the Waterfall Dashboard and choose ‘last 3 days,’ or any pre-selected time filter, why don’t I see any beacons?

A60: The Waterfall Dashboard will only display beacons for a 60 minute (or shorter) time frame in the most recent 18 months.  The beacons that you see in the list in the Beacons widget of the dashboard will be from the first 60 minutes starting from the beginning of the date/time in the filter you select. If you chose 'Last 30 days', for example, it will be the first 60 minutes from 30 days ago.  It’s highly recommended that you use the ‘between’ option in the Date/Time filter to choose a specific hour in which you know beacons exist.

 

Q61: Why are my conversion numbers really skewed in the What-If Dashboard?

A61: The What-If Dashboard calculates the conversion percentage rate based on the sum of the conversion metric values from beacons in completed user sessions divided by the number of completed sessions.  This works perfectly if the value used for the Conversion custom metric is a boolean value of either ‘0’ or ‘1’.  If you are using a Javascript variable for the custom metric and it is not returning either of these numeric values, the number will not accurately represent a conversion percentage. If you use a URL Pattern to define the Conversion custom metric, Boomerang automatically assigns a 0 or 1 to the metric value for each beacon.

 

 

EXPORTING, IMPORTING, AND SHARING DATA

 

Q62: Can I retrieve aggregated data for use in my own analytics engines or tools?

A62: The Aggregate API for mPulse is a unified REST API that allows mPulse Enterprise customers to fetch aggregate data and receive a JSON response with mPulse data.  Data for a given date is aggregated per minute for the given 24-hour period. Data returned will always be limited to one calendar day in the timezone. If the date is 'today' it is still aggregated per minute, only from midnight to the current time (e.g. the time of the query).  Data sets, navigation timing, custom timers and metrics are supported.  The Aggregate API is not available for mPulse Lite or mPulse Pro customers.  For more details on the mPulse Aggregate API, see: http://cloudlink.soasta.com/t5/Knowledge-Base/mPulse-Aggregate-API/ba-p/17077

 

Q63: Can I get the raw beacon data?

A63: The raw data  that SOASTA collects can be very large in size and requires a more efficient transfer mechanism than REST API.  mPulse Enterprise customers can have the raw data uploaded directly to their own bucket in the Amazon Web Services (AWS) Simple Storage Service (S3).  Raw data access is not available for mPulse Lite or mPulse Pro customers.  For more information, see the "Amazon S3 Upload Setup for Domain-Specific Beacon Logs" section on this page:

http://cloudlink.soasta.com/t5/Knowledge-Base/mPulse-Administration-Beacon-Settings/ba-p/15483

 

Q64: Can I import data to use in Dashboards from an external source like AppDynamics?

A64: With SOASTA mPulse, you can include data from External Sources in your custom dashboards to give you a richer, more meaningful view into the user experience.  Once configured, AppDynamics widgets can be added to dashboards alongside other mPulse widgets. mPulse presents aggregate data at any capacity supported by the user’s AppDynamics credentials.  For more information on AppDynamics integration in mPulse, see http://cloudlink.soasta.com/t5/Knowledge-Base/Integrating-AppDynamics-as-an-External-Data-Source/ba-....

 

Q65: Can I share Dashboards with custom links?

A65: Yes.  When sharing a dashboard with a link, you can choose to have the link be either Private (authentication with an mPulse login is required) or Public (login is not required, but the dashboard will be read-only, allowing others to view the dashboard but not make any changes to its configuration.)  For more information on sharing dashboards in mPulse, see http://cloudlink.soasta.com/t5/mPulse-Resources/Share-Dashboard/ta-p/43482.

  

Q66: Can I restrict some user accounts on mPulse to be read-only?

A66: With mPulse, you can create User accounts with different levels of data access and privilege.  Users can be Administrators allowed to create new apps and new users, while other users can be restricted from making any changes to the system.  For more information on using the Permissions features in mPulse, see: http://cloudlink.soasta.com/t5/CloudTest-Technical-Articles/Permission-Feature/ba-p/19633

 

Q67: Can I restrict users to be able to view only certain custom Dashboards?

A67: Yes, users can be restricted from viewing certain custom dashboards.  This could be very useful for allowing certain Users access to technical performance data without revealing potentially sensitive business metrics like conversion rate or order totals.  For more information on using Permissions in mPulse, see: http://cloudlink.soasta.com/t5/CloudTest-Technical-Articles/Permission-Feature/ba-p/19633

 

 

SINGLE PAGE APPLICATIONS

 

Q68: What Single Page Application (SPA) frameworks does mPulse support for measuring?

A68: SOASTA mPulse has native support for the following Single Page Application Frameworks:

  • AngularJS: Both the default AngularJS router and UI router are supported.
  • Backbone.js: The standard Backbone.js router is supported. 
  • Ember.js: The standard Ember.js router is supported. 
  • React.js: Support for React is on the mPulse product roadmap.
  • Others: We support other SPA frameworks as long as they use the HTML5 History API or change the location hash state. 

 

Q69: If I have a SPA that is not entirely using AngularJS (or some other supported framework), can I measure and track my application?

A69: mPulse will measure and track every part of the SPA that is using one of the above frameworks (and common implementations). If there are some pages that have the SPA framework and some that don’t have a SPA framework, there are configuration options that should be put on the page to tell Boomerang this. (See http://cloudlink.soasta.com/t5/mPulse-Resources/mPulse-Boomerang-AngularJS-Plugin/ta-p/43627 for the example code for AngularJS). For any part of the SPA that is not using one of the supported frameworks, we may need to do custom engineering to instrument mPulse with the app.

 

Q70: Does mPulse distinguish between XHR requests that are generated by user actions and other XHR requests?

A70: How mPulse processes XHR requests for Single Page Applications depends upon whether or not the “Automatically Instrument XHR Requests” checkbox is selected in the App configuration:

  • If just a “Framework” is selected, one beacon will be sent for each SPA navigation (hard or soft.)  mPulse considers all soft navigations that are part of the same application request initiated by the user to be a single page view. 
  • If a “Framework” and “Automatically Instrument XHR” are both selected, then one beacon will be sent for each SPA navigation (hard or soft), plus any XHRs that happen outside of a SPA navigation will get their own separate beacons as well.
  • If you want to track all XHRs that happen during an SPA navigation in addition to the SPA navigation beacon, there are configuration options available to have Boomerang send beacons for both.

 

Q71: How do I configure A/B testing for various versions of my SPA within mPulse?

A71: A/B Testing works the same for SPA apps as it does for non-SPA apps.

 

 

BANDWIDTH TESTING

 

Q72: How does mPulse collect metrics on site visitor bandwidth?

A72: mPulse Pro and mPulse Enterprise customers can perform bandwidth tests on real site visitors, but the feature is not turned on by default.  Bandwidth testing is done by having the site visitor browser make multiple requests for progressively larger and larger files from your web server or your CDN provider's servers. These files are in a non-compressible image format, to ensure that a known number of bytes are sent and received during the test. The specific files to use for the bandwidth test can be downloaded from the mPulse user interface, and you will need to provide the URL for their hosting location in the mPulse App configuration.  For more technical details about the way that Boomerang implements bandwidth testing, see: http://soasta.github.io/boomerang/doc/methodology.html   For more detailed information on bandwidth testing configuration in mPulse, see: http://cloudlink.soasta.com/t5/Knowledge-Base/Configuring-mPulse-to-measure-user-Bandwidth/ba-p/9430  

 

Q73: Will mPulse bandwidth testing slow down the user experience for my site?

A73: Image files for the bandwidth test are downloaded between complete page loads and the bandwidth testing is abandoned whenever new real user interaction begins.  If the testing is interrupted, then it will be restarted after the next page.  Site visitors should experience no degradation in site experience.

 

Q74: How large are the files that a bandwidth test will load?

A74: The set of images files that you will need to host range from about 11K to 9MB.  Boomerang will download images in ascending order of size until an image takes more than 1.2 seconds on average to load.  It will stop at that image and not go on to the larger images.  This means that users on very slow connections will only load the smallest images. 

 

Q75: How often are mPulse bandwidth tests performed for any particular site visitor?

A75: Bandwidth testing is only performed once every 7 days for each user.  This is managed by a cookie that is tied to the user’s subnet.  If either seven days have elapsed, or the user’s subnet has changed, mPulse may run a new bandwidth test from that user.  

 

Q76: Can I throttle or limit bandwidth testing?

A76: You can define a sampling percentage to limit bandwidth testing to a percentage of the real user population.  This can help control costs and resource consumption on your systems or the CDN you are using.

 

Q77: Can I disable bandwidth testing for mobile site visitors?

A77: Yes.  You can disable bandwidth testing for users on mobile network connections with a setting in the mPulse domain configuration dialog.  Mobile browsers or devices that can be identified as connected via WiFi or cable/DSL network connections may still run bandwidth tests.

 

Q78: Should I host the image files used for bandwidth testing on my origin server or on my CDN?

A78: The decision where to place bandwidth images depends on what you want to measure, and how your CDN provider charges you. Do you want to measure bandwidth to your origin server or to your CDN?  The images are not cached on the client, and we use cache-busting query string parameters to force an image reload. This is necessary to make sure we're testing the bandwidth to your server and not the bandwidth to a local browser cache. If you put the images on your CDN, your CDN will make a call back to your origin server every time a user gets tested unless you can configure your CDN provider to ignore query string parameters for these images.  Placing the bandwidth testing images on a CDN service will likely result in additional charges from the CDN provider.  SOASTA recommends that, if you wish to use a CDN, set the sampling percentage to a very low value at first to see what the cost impact will be.

 

Q79: Can I perform bandwidth testing on an HTTPS site?

A79: No.  Bandwidth testing is disabled over HTTPS.  The TLS handshake and encryption adds overhead to the bandwidth test and results in invalid measurements.  The bandwidth calculation algorithm is tuned for use on non-secure HTTP connections.

 

 

SUPPORT

 

Q80: Does mPulse have a professional services offering?

A80: Yes.  Packaged services, including Quick Starts (to help get your site up and running and your key stakeholders trained as quickly as possible), training, custom reporting, and business analysis consulting are available through SOASTA Professional Services.

 

Q81: Where do I go to get more help?

A81: mPulse customers with a professional services contract with SOASTA should first reach out to their Web Performance Consultant for help and advice.  For others, the first stop for support questions after this FAQ is searching for your question in SOASTA CloudLink (http://cloudlink.soasta.com/).   mPulse customers should register for the Premier section of CloudLink to gain access to an extensive Knowledge Base, over 100 training videos, an active community of users, tutorials, and other references.  On CloudLink Premier, you can also find detailed information on how mPulse Pro and mPulse Enterprise customers can submit bug reports, feature requests, and get email support from SOASTA.  mPulse Enterprise customers also get access to 24x7 phone support options.