1 2 Previous Next

Data Collection

21 Posts

Useful details on testing configuration and debugging of the mobile SDKs.



QA and Validation Setup

This first setup can be used without having access to the app source code or setting any special debug settings in the SDK itself.


Download a traffic monitoring tool: Wireshark

Watch the Webtrends requests being made from your app as they happen.

Download Wireshark.  Wireshark is a free open source network request and packet analyzer (Wikipedia).  Install it onto a machine where you can run an emulator for the app or plug your device(s) into and make your internet requests through.


When you have Wireshark running and your emulator or device proxied through your internet connection.

Note that some devices require you to have the development environment at least partially installed to allow you to proxy through the computer.  This doesn't mean you need the source code though.


Wireshark will listen to all your traffic through any of your network connections.  Here are a couple screen shots to show you how to

1. Attach Wireshark to one of your network connections.  It supports "virtual" connections too from VMs, etc.


2. Filter the Wireshark traffic to listen to HTTP traffic and not everything or you'll be flooded with too much information


3. Once you have traffic requests from your device flowing, watch for events to the domain name dc.webrends.com.  All actions will show up here.  Please note though that Webtrends defaults all traffic as HTTPS meaning it is secure transport.  That means that while you can see the events, you can't see the individual parameters because they are sent in the POST body and listening tools can't examine the contents of HTTPS (or that would be pretty poor security


Click around and watch your app kick off Webtrends events as they happen.


If you want to debug the actual parameters being sent you need to change the Webtrends protocol to HTTP instead.  This is, naturally, only recommended for QA and Development and you should ship your app using HTTP.



Alternative:  Fiddler

Download Fiddler

Fiddler is a simpler and easier to use tool, the only reason it doesn't get my preferred status is because you need to set up a proxy for it to be able to see your app emulator traffic which, while not difficult, is one extra step that can trip you up.



Development and Debugging Setup

If you have access to the app source code, you can make the following changes to assist in testing and debugging of the app.


Set to HTTP instead of HTTPS

This allows you to use the same setup as above (using Wireshark or Fiddler) and you can also look at the contents of the HTTP POST requests.  This is incredibly useful because you can then see what kinds of events are being sent on which actions as well as to examine the parameter values.


The settings is wt_dc_url

Edit the webtrends.plist or webtrends.xml (as the platform demands).

Instructions here and/or here.


Parameters and Events

Here is a document of all the Webtrends parameters that will be sent from the SDKs.  There are pivot tables by event type, device platform, etc.


Debugging Mode

Set the SDK to debug mode.  This has two effects: it writes event execution in the SDKs to the app dev tools terminal logging and it also echoes back the event that the Webtrends servers saw and interpreted from the event that was sent.  This response is in place of the simple HTTP return code and you can see the parameters as they are being recorded by Webtrends servers.


The setting is wt_dc_debug

Instructions here and/or here.

DC API Debugging

If you want the Webtrends servers themselves to simply respond with the full log file line that is being recorded, you can change the wt_dc_url to contain the debug setting.  If you are debugging with the SDK itself, this step is unnecessary.

Webtrends Mobile SDKs Move Market into Next Gen Mobile Analytics

Webtrends remains committed to be the leader and innovator in the mobile analytics space and we have a really exciting update today and that is the latest release of our mobile SDKs with hybrid app and cross-channel analytics support.


We've created a significant update to our iOS, Android and Windows Phone SDKs to incorporate these new features.


What does "Cross-channel" mean in mobile?

  • Outbound Cross-channel:  Do you have any web links in your apps that send users out to your web site in the mobile browser?
  • In-app Cross-channel:  Do any of your apps have web content in them pulled from your web servers?
  • Inbound Cross-channel: Do you have web site links that launch your app (these special links are called CURLs or "custom URLs")?


Apps that contain web content (in a web view or other container) users aren't changing channels at all, they are already in two channels at once, your online web content and your native app. And when a user moves from web site to app or app to web site, this is "crossing channels" from native to web content.


In most cases, you simply aren't getting the insight you need out of your analytics because either the content viewed is pulled from online or alternatively the ROI of your app is realized based on a conversion event that happens outside of your app (like ad clicks or purchase/lead gen events that happen in the mobile browser).


Webtrends mobile SDKs for Android, iOS and Windows Phone bridge these channels by joining your visitors from web to native app into a complete view of the session.  That means you can follow a session through ad click, to app launch, through the app user experience and back out to the (same or different) web site for a conversion event.


It also works for embedded online content inside your app like a service or product catalog, individual articles or media items viewed, etc.



What is a Hybrid App?

Most apps include web content, even apps predominantly built with native controls.  Images, products, text, feeds... the real insight into your app is usually contained in the specific content, not in the screen layout it is viewed in.


Other apps are HTML5 based and sometimes are predominantly web content (sometimes they are entirely HTML based in a simple native app wrapper) in order to unify the user experience across multiple mobile OS platforms.


Our hybrid apps can automatically sync sessions that contain html from a webview to the clicks, gestures and screens viewed in the native app.  And if your app is all or mostly HTML, we have simple convenience methods you can exercise in your HTML to track the same screens, clicks and content viewed just as though it was a native app.



Visitor ID Options

We've also added new ways to ID your visitors to match your privacy policy.

We support using the iOS Advertiser ID, the Publisher ID, the Android device ID, a random user ID (for maximum anonymity) or even setting your own custom ID (like using your authenticated user IDs).


Web Apps

In addition to our traditional SDKs for native apps (and HTML5 based apps in native containers) we have created a JavaScript that allows you instrument your web apps (apps that run entirely within a browser, mobile or otherwise) with app behaviors.  Screen views, click events, gestures, app search events and product views, etc. are all easily triggered to send analytics with a single line of code using our convenience methods.  We'll do all the parameter sending and mobile device analytics for you.


Other Goodies

We've added more programmatic ways to configure and control our SDKs.  This means that you can use your own app code to change, enhance or queue events.



Getting Started

Download the SDK for iOS, Android, or WP8 inside the zip.  You'll also find a Hybrid App instructions guide for each.

Take a look at the new "Hybrid Mobile Application" section.

Mobile Library for iOs

Mobile Library for Android

Mobile Library for Windows Phone 8

The Webtrends for SAP WCEM Installation Guide has been updated.



SAP Web Channel's latest product delivers end-to-end processes for E-Commerce, E-Marketing, E-Service, and Web Channel Analytics on a robust and easily extensible Web Channel platform, including 3rd party solutions.


Webtrends has created a compelling integration with the latest SAP WCEM platform with rapid time to value.

See the Installation guide here for the Webtrends integration instructions:

https://developer.webtrends.com/docs/DOC-1261 (please note you need to be logged in with your developer network login to view this document).



For more information on how to add SAP to your available Webtrends Analytics 10 spaces, contact your account manager and we'll get you up and running quickly.

What are v10.2 plugins

Webtrends new JavaScript tag is a major innovation in analytics tagging.  We've made it easy to add additional feature and capabilities without retagging your site.  You can now just drop in a plugin.


We want to create a community effort to create and enhace our plugins partly because the market is evolving rapidly and we're committed to being the most nimble analytics company.


Plugins can utilize any of our new features available in our tag:





Advanced Multitrack events


Custom data



The plugins can cause the Webtrends event to wait for attributes to become available, they can duplicate the event with different parametes, etc.



Webtrends "official" plugins

Webtrends has created several plugins that we will carefully maintain all revisions for including

  • Facebook: likes and social widget tracking, Facebook app parameter passing, Facebook page analytics, etc.
  • Webtrends Ads: customers using Webtrends Ads will have a simple plugin.
  • Webtrends Heatmaps: customers that wish to you the Webtrends Heatmaps will have a simple plugin.

Webtrends plugins that are dev community supported

Webtrends is always innovating and we'd like to share some of our expertise in tracking interesting new web enabled widgets, apps and content.These plugins will be made available from Webtrends development as a developer community support effort.  They are not "official" Webtrends plugins and as such we hope the developer network will review them, enhance them and submit their own modifications for others to review.  Webtrends will continue to update them as well (hopefully from your feedback and suggestions) but will not have official Tech Support on them.

  • Cross-channel visit/visitor matching: matches sessions and IDs from one channel to another including mobile apps to browsers, social channels, etc.
  • Twitter: twitter on-page widgets automatic tracking of article tweets, follows, and more
  • Youtube: embedded youtube video tracking
  • Google+: tracks +1 clicks
  • HTML Apps: adds parameters and simple functions to call from an HTML app that will allow you to create metrics that are similar to an offline or native app.



Where can I get these plugins?

This section will be updated soon with links to all the plugins

Now that the Webtrends JS v10.2 plugin for Facebook has been released, details can be found herehttp://help.webtrends.com/en/jstag/index.html.

Upgrading Questions

Upgrading your tags should be a very easy process.


Generate a new tag

First, generate a new tag from either your Analytics 10 space (click settings > edit in your space administration).

More on generating the tag in this post here.


Simpler html tagging process

Because the tag itself is asynchronous, you won't need a separate header include statement in addition to the inline html, it's a single simple block of code.


Please read the documentation on how to use the new tag.

In addition, I've answered a few questions below...



Are parameters still the same?

Of course.  You won't have any need to update reports or other product configuration for out-of-the-box features.


Multitrack Details

Multitrack will continue to work as it used to for the most part.  In fact it will work better.

More details on the great new multitrack features can be found in a separate post.


Generally the biggest change to multitrack is for customers using the "track all links" or dcsAll type code where all clicks, links, etc. on a page were tracked.  For most, this was an undesirable overkill way of tracking specific links on a page that they didn't want to create individual multitrack events for.  The new selector-based system of the v10.2 tag makes this far easier to track what you want with very little effort rather than the shotgun approach.


For customers that legitimately want the dcsAll, we're creating a simple plugin for the 10.2 that you can use.


What about reading the Webtrends meta parameters?

These will work as normal too.  Many customers use these meta parameters as an easy way to track products, skus and other Webtrends features without creating any code, evars or or other manual coding steps.


These all use Webtrends meta names that start with WT, DCSext or DCS and are automatically found and passed in the Webtrends data collection of the 10.2 JS.


The only difference in the way10.2 handles the meta values is for adding additional custom meta tags to listen for.  In the Webtrends JS, you register which meta tags you want to pass.  In the past this was done using the dcsExt which has changed slightly:



What about my customizations?

Most customizations by far were multitrack related (custom events), meta tagging (products and custom parameters), or parameter based (WT params appended to URLs).  These have all been addressed above and have favorable replacements in v10.2.


But some customers have obviously created clever and sophisticated customizations on their own. Naturally, you'll need to look closer at your other customizations before jumping onto 10.2.  Talk to your account manager if you would like to have some consultants help you out.


Minimized Tag

As noted, the tag comes in both minimized and unminized versions.  The unminimized tag is generally to support the readability and customization of the tag.

Webtrends Tag Builder

Webtrends Tag Builder tool hasalso been updated to create the new JavaScript tags.



The Tag Builder landing pageasks if you want to create the 9.x style or new 10.2 JS tag.  Since weknow many people have 9.x configuration files that they use for generating theWebtrends tag that is no longer applicable for 10.2, clearly some people willwant to load their config at least one last time to inventory theirconfiguration they used in 9.x.


v10.2 Zip Contents

The output of the new TagBuilder for v10.2 is a zip file that contains the inline html code block, anoptional method of using a "loader" so that all the inline html isexecuted from a simple include statement, as well as both a minimized andunmimized copy of the JS tag.


Is the 9.x JavaScript stillused/supported?

You can still use your previousWebtrends JavaScript and it's certainly supported.

As mentioned, tag builder willstill optionally allow you to create the 9.x style JS.

But we think you'll want tomove to 10.2 naturally.




Analytics Spaces and v10.2

Web site spaces

Analytics 10 default "WebSite" space will now create v10.2 JavaScript by default.  The outputis the same as what you will get from the Webtrends Tag Builder only all theadditional options are set at their default.


Facebook ("page" and"app") spaces

This is an exciting new area ofinnovation in the v10.2 tag.  We have a separate post on this topic alone.


Mobile web site space

Mobile web site spaces werealready creating a slimmed down version of the new Webtrends v10 async tag.

Theoutput of parameters is the same

New Features of Webtrends async JavaScript v10.2

In case you missed the kickoff post, take a look now.


Webtrends Heatmaps

Webtrends is adding some truly amazing heatmap overlay built-in to your Analytics 10 spaces.  More information on this new feature can be found on the Webtrends product site.


Social analytics features built-in

Webtrends is the leader in social analytics: in addition to our Analytics 10 spaces for Facebook apps and pages, Webtrends has provided tags that uniquely track Facebook social widget interactions, Facebook app tracking, referrals, clickthrough campaign sessions, etc.  With v10.2, our JS tag includes tracking these feature with on page or customized JavaScript. It's a single click to add this into your tags.


Plugins for easy extensibility

The new built-in social analytics has been made possible through a  powerful plugin architecture allows for easily adding new capabilities to the tagging without modifying your Webtrends JS at all.  Webtrends has created several plugins and we expect to see partner and community plugins to follow.  More details below.


Selector-based Event tracking

A very exciting new feature is that using the JQuery type selector based capabilities of the new JS, it is incredibly easy to create events that execute on a wide variety of criteria from document clicks, to off-site clicks to anchor links and ajax calls.  Simply add a selector for the object type you want and we can execute our click tracking (aka Webtrends "multitrack").


"Transform" events and page load tap points

As part of the JS design, there is now the ability to add parameters to the Webtrends data collection requests before page load, access elements in the dom, transform the Webtrends request before it is sent, or duplicate the event (for further manipulation).


Performance General

This isn't the first release of Webtrends asynchronous JavaScript tagging, we've been using it since 2010 in various versions of our tag.  But there are lots of aspects to performance worth noting in v10.2.  Generally, the actual execution of the JavaScript itself has never been slow on modern hardware but that doesn't mean that performance can't be improved upon.


Compact and Minimizes to a very small footprint

The tag is much smaller.  It minimizes to a very compact size, only a fraction of the 9.x JS tag.  The new tag has been optimized to minimize well using the Google Closure Compiler.


This means that bandwidth limited devices can download the tag with very little data transfer.


Asynchronous explained

Traditional JS files are launched from inline "blocking" html which means that as the html page loads, it will wait for the JS to execute before continuing on.  This meant it was always best to have the JS execute at the end of a web page to avoid any user experience issues.  This isn't always ideal and could result in some undercounting of statistics too (bounces for one).  Asynchronous JS means it will load and execute and allow all other html to continue loading as well.

  • Non-blocking, can load anywhere on page
  • Potentially higher execution rate
  • In combination with compact size, can make bandwidth limited devices execute with higher accuracy.  Smaller means faster download, and asynchronous means it can load at the top of the page.




New Webtrends async JavaScript v10.2


Blog Series

This is the kickoff post in a series of blogs related to the exciting new Webtrends JavaScript version 10.2.

This series of blogs will help you take off with the new Webtrends JS.

As each new post is made, this post will be updated with links.





List of what's new and great in v10.2

  • Webtrends Heatmaps
  • Social analytics features built-in
  • Plugins for easy extensibility
  • Selector-based Event tracking
  • "Transform" events and page load tap points
  • Partner/customer add-ons
  • Asynchronous
  • High Performance
  • Compact for bandwidth limited devices
  • New Webtrends Tag Builder


Where/when do I get the new tag?

Available now.

Either from creating your Analytics 10 web site space or from the Webtrends Tag Builder




Full documentation on the new JS can be found here.  Topics include customizing the tag, details on adding plugins, etc.

If anything in my posts contradicts what you see in the documentation (hopefully not) you can probably trust the documentation first

I just had the opportunity to discuss the topic of managing Webtrends parameters with multitrack events and thought I'd bring the details to this forum for others that might be interested.


Please note that all the examples below are assuming you have a current Webtrends JS (sometimes called the "v9" tag) from http://tagbuilder.webtrends.com



Multitrack Explained

Webtrends' JS tag has some convenient features for creating and sending specialized events such as specific click actions, ajax requests, etc.

Typically, when a developer wants to add a custom event, there is head scratching as to how to make sure the necessary parameters for data collection will be present on the events.


The dcsMultitrack function is the method exposed to devs to easily bundle up the Webtrends parameters and fire off a new event on or after a page load or user action.


dcsMultitrack will make sure that the needed Webtrends parameters are present on the hits and it allows you to add new custom params (no limit on custom params, you can send whatever you want).  It also retains any existing parameters that you may have added from the content page that the multitrack event was called on.




Need "Base" Multitrack Event... no saved parameters

As easy as it is to send a custom event using Multitrack, there are a few scenarios that vary from the typical requirement: namely, what if you don't want all the Webtrends parameters loaded from initial Webtrends tag to be included? 


Example: you have a click action where you want to capture a custom parameter for the click action but don't want it to be part of the content groups, product & campaign parameters that existed on the initial page load. 


Firing the base multitrack event will include all the parameters from the initial data collection request when the tag fired and, therefore, you could see more counts of some events than you wanted.




Solution: dcsCleanup

Fortunately, there is an easy solution.


The WT JS also includes a function called dcsCleanup.  Running this function leaves the capabilities of the Webtrends tag to be active but it cleans out all the Webtrends parameters attached to the event.  Specifically:  the "WT.___", the "DCS" and "DCSExt" parameters.


Simply add the dcsCleanup after your base dcsCollect event (it can be fired at any time).


<script type="text/javascript">

var _tag=new WebTrends();



<script type="text/javascript">







You can certainly add any parameters you _do_ want back in (content groups, page title WT.ti, etc.) and, in fact, you really should add some kinds of parameters.  But the ones created from the page view event won't be on there.


After Cleanup don't forget to create a DCS.dcsuri value

After cleanup, there aren't any "page" parameters left around so you still need to create one before sending off your event.  The URI value is normally the page url that the event occurred on.  





Additional Notes

Please note that multitrack events, without the page view parameters are considered to be stock click events.  These will not add to your page view counts and won't show up as "pages" in your reports.  This is naturally as designed but if you have a scenario that you want to use multitrack to create "page" type events make sure you put the appropriate parameters on these events.  Example: an Ajax container where click actions are refreshing the data inside and you want each new piece of content to be viewed as a "page". 


Optional: non-page view parameter WT.dl=1

Optional: if you don't want this to count as a page view event either, remember to pass a WT.dl=1  (any non-zero value is excluded from being counted as a page view).

One of the more significant new features included in Apple's iOS 5 release is iCloud. iCloud is your "hard drive in the sky" that keeps your devices in sync, and also serves as a backup mechanism.  Each user is given 5GB of free storage, with additional storage available for purchase.


As part of the iCloud rollout, Apple has issued new storage guidelines for developers.  These guidelines state that only user-generated data should be stored in the <Application_Home>/Documents folder.  This data is automatically backed up to iCloud and goes against the 5GB cap.  If an app stores too much data in this folder (as deemed by Apple), then it can be rejected from the App Store.


The Webtrends iOS Mobile SDK had been storing event data in Documents folder.  In our latest release ( we changed over to use <Application_Home>/Library/Caches folder instead.  If any event data exists in the Documents folder during an app upgrade, the SDK will automatically move it to the Library/Caches folder as well.  We recommend that you update your apps to use the latest release of the SDK as soon as possible. 




iOS Data Storage Guidelines (login required)



iOS Developer Library - File System Basics



In August 2011 TechCrunch reported that Apple will be phasing out access to the unique device identifier or UDID on iOS devices such as iPhones and iPads.  The Apple developer documentation cited in the report mentioned that UDID has been "deprecated in iOS 5".  This caused some concern in the mobile analytics community because vendors commonly use the UDID to identify visitors.


We believe that this is an early warning from Apple to give developers time to come up with alternatives.  We believe the feature will be marked as deprecated in iOS 5 but will still be available for use for a reasonable amount of time.  This phased approach to deprecation would be consistent with Apple's documentation on deprecated API usage, and also consistent with Apple's approach historically.


Webtrends Visitor Id

The first time a Webtrends-enabled app is run, a visitor id is established and written to application-specific persistent storage.  Thereafter the app uses the stored visitor id.  By default the Webtrends SDK for iOS uses a hashed version of the UDID for the visitor id.  You can already configure the Webtrends SDK for iOS to use a randomly generated value for the visitor id instead of the UDID.  This is done by adding the following lines to the Webtrends.plist file:



After making this configuration change, the updated app should be posted to the App Store.  Users who download the new version will then be tracked using the random vistor id.



In light of this announcement from Apple, Webtrends will modify its Mobile SDK for iOS.  The new version of the SDK will default to the randomly generated visitor id.  Until then, customers can achieve this result by using the above mentioned configuration setting.



  • Apple Sneaks A Big Change Into iOS 5: Phasing Out Developer Access To The UDID


  • Using SDK-Based Development - Deprecated API Usage


Mobile SDKs for Webtrends Analytics 10 Spaces

Webtrends recent release of the Analytics 10 platform made it incredibly easy to get your mobile app analytics up and running.

This release of our mobile SDKs adds deeper analytics events as well as additional app attributes.


It also further defines your events between app actions and app screen views.


New Features

  • v1.1 Adds new Application attributes to your configuration XML/plist.  You now have an app name, app category and publisher attribute.  We realize that many of our developers and customers have several to many apps and this is sometimes spread across multiple versions, publishers and app categories and these attributes are now recorded in your Webtrends spaces.
  • v1.1 Add new advanced analytics methods:
    • Ad Impressions
    • Ad Clicks
    • Search Events

These new event types are in addition to the existing product, media and other events in the 1.0 SDKs.


  • v1.1 adds several new event types and breaks them out of the formerly catchall "screen views". 


  • v1.1 adds significant performance improvements and are updated and tested on newer SDKs for the various platforms.  Full details will be in each post for the individual SDKs.

Import Note on Screen Views and App Events


With the addition of the Screen Views metric in Analytics 10 release, our latest SDKs include some changes to prevent non-view events from showing up in this metric. Previously all events including app start, terminate, clicks, background and other non-view events were included in the page view totals. If you are updating your SDK please keep in mind there will be a few changes to data showing in Webtrends Analytics. 


How will this change affect me? 

Screen views might drop significantly. Don't panic. All events are still being collected and you can see them all in the various reports for those event types (like app system events, in app ads, etc.). They just aren't "screens".


In the case that you have only implemented the basic automated method, you might find that the metric will show zero.We suggest that at a minimum you implement screen level tracking -- See below for links to related documentation.


While we feel these changes are important, we understand that you might want to keep things as they are now.  If you want to undo this change you can find steps here.


Upgrade Steps

  1. Carefully look at the new config parameters in the XML/plist files and configuration parameters.  The new App attributes mean that they aren't identical to the previous versions and you need to configure them.
  2. Add a screen view events if you are not currently tracking.
  3. Finally, update the SDK itself


On-premises use of SDKs

The SDKs are supported for versions 9.2 forward.



Thanks for the Feedback!

Thanks for all the developer feedback we've received.  It's been very helpful and we've added quite a few of the suggestions (and some others we're working on now). We hope you're happy with our latest release.


As we continue to innovate in mobile analytics, we always want to hear what additional features and data you would like to see from us.










I wanted to post some exciting details about our Webtrends product for SharePoint 2010.


Webtrends announced a new offering and partnership with Microsoft as a preferred analytics provider.

Details on this product can be found on our corporate web site here:




What does this mean from a technical/developer perspective?



The new product,,,

  • Is incredibly easy to integrate Webtrends into SharePoint

What we have created is a solution that integrates into SharePoint with a click of a button via our Webtrends for SharePoint feature installer.


  • Automatically tracks SharePoint specific data points and metrics like:
    • WebParts
    • Breadcrumb navigation
    • Multiple Site Collections
    • Documents and actions
    • Users


  • Has a more streamlined javascript that is faster, easier to drop in and easier to customize.


  • All of this can be set up and launched within the Webtrends A10 space creation wizard.



Documentation and technical details can be found here:





Windows Phone 7 Mobile SDK 1.0 Released


We are pleased to announce the availability of our Windows Phone 7 Mobile SDK.  The SDK is functionally equivalent to our other Mobile SDK offerings.  The SDK is comprised of a component DLL and a configuration file that you add to your Visual Studio project.  The SDK can be used in either Silverlight or XNA applications on Windows Phone 7.


We strive to make the process of adding analytics to your mobile application a simple task.  Let us know how we did by sending an email to developer@webtrends.com.


SDK Documentation:



SDK Download:


Filter Blog

By date:
By tag: