08 Fall
MOBILE
Adobe Measurement Deployment Guide
Mobile Apps
Adobe Measurement Deployment Guide for Mobile Apps
Adobe Measurement Deployment Guide for Mobile Apps
2
1 Business Requirements By following the instructions in this guide when deploying analytics on mobile apps, the business will be able to meet Adobe's best practice recommendations for analytics & optimization of mobile apps. To integrate industry specific recommendations with mobile best practices, the business may wish to consider engaging with Adobe Consulting Services. Also, the business may wish to add other business-specific requirements in Section 5.
Adobe Measurement Deployment Guide for Mobile Apps
3
2 Setup Before initiating analytics code rollout, several steps must be completed to create an optimal data collection and reporting environment.
Task Action Instructions Business Impact Owner Complete
2.1 Set Up CNAMEs
Step 1: Confirm appropriate data center value with Adobe contact—value will be either 112 OR 122.
Step 2: Setup CNAME to be used in analytics request from non-secure pages
mm.domain.com CNAME domain.112.2o7.net
OR
mm.domain.com CNAME domain.122.2o7.net
Step 3: [Optional] Set up CNAME to be used in analytics request from secure pages
smm.domain.com CNAME domain.102.112.2o7.net
OR
smm.domain.com CNAME domain.102.122.2o7.net
Step 4: [Optional] Coordinate purchase and upload of secure certificate to reside on Adobe's servers for secure CNAME with Adobe contact.
Note: subdomain and domain values should be changed to match desired values for site; and primary domain of CNAME should match primary domain of measured site for optimal visit and visitor accuracy.
CNAMEs have only nominal value for Mobile Apps as visitor identification does not leverage cookies
2.2 Create Report Suites
Create separate report suites (data buckets) for each site to be deployed. If report suites have already been created, confirm ids to be used. Report suites may be created in the SiteCatalyst Administration Console, or by an Adobe representative.
Note: Adobe recommends segmenting traffic from mobile apps into a separate report suite than is used for the mobile web. Typically, each app will have two report suites—one for production traffic and one for development/testing.
App-based report suite structure provides optimal reporting at the level the business can perform optimizations
Incorrect values for report suite id will result in lost data.
Adobe Measurement Deployment Guide for Mobile Apps
4
2.3 Generate Collection Code
Generate collection code using the SiteCatalyst Administration Console. To generate app code, go to SiteCatalyst > Admin Console > Code Manager. Select "App Measurement for iPhone/Android/Blackberry'" as the code type and the report suite which corresponds with the site which will be measured.
2.4 Review Documentation
App Measurement Implementation Manuals (SiteCatalyst > Help > Knowledge Base > Supporting Docs > Manuals > App Measurement for iPhone/Adroid/Blackberry)
2.5 Configure Report Suites
Coordinate report suite configuration with Adobe contact. Launching without correct configuration may limit data availability and reporting
2.6 Settings The following settings should be configured on the report suite:
Add the Correct Configurations
2.7 Customize Menu
Assign friendly names to custom variables:
SiteCatalyst > Admin > Report Suites > [select report suite] > Edit Settings
> Traffic > Traffic Variables
> Conversion > Conversion Variables
> Conversion > Success Events
Hide Unused & Empty Reports:
SiteCatalyst > Admin > Report Suites > [select report suite] > Edit Settings > General > Customize Menus
Adobe Measurement Deployment Guide for Mobile Apps
5
2.8 Set Up VISTA Rules
Reference Customization (Section 4) for any required VISTA rules. If cost is associated with rules, ensure necessary paperwork has been completed.
Adobe Measurement Deployment Guide for Mobile Apps
6
3 Code Deployment Once the appropriate steps have been taken to set up the reporting environment, the next step is to rollout the basic mobile measurement code. The code in this example is for rollout of the iPhone App Measurement libraries, but steps are very similar for Android and Blackberry platforms.
Task Action Instructions Business Impact Owner Complete
3.1 Install Measurement Libraries
Install proper app measurement libraries for platform.
OMAppMeasurement.h (Objective-C header file) libOmnitureAppMeasurement-iPhoneSimulator.a (Simulator Library) libOmnitureAppMeasurement-iPhoneDevice.a (Production Library)
3.2 Instantiate Instance & Configure
1. Instantiate Instance: reference whitepaper and iphone_config.h file for examples
2. Configure Global Variables: the following variables should be set in the configuration section of the code:
Variables with Constant Values s.account = @"rsid"; s.trackingServer = @"mm.domain.com" s.trackingServerSecure = @"smm.domain.com"
3.3 Send Analytics Call s track on each page/screen view to sent analytics.
(void)screenLoad { s.pageName = @"page"; [s track]; }
Adobe Measurement Deployment Guide for Mobile Apps
7
4 Best Practice Customization Deploy the following variables to meet Adobe's best practices for measuring mobile applications.
Task Action Instructions Business Impact Owner Complete
4.1 Customize Configuration
Configure Global Variables: the following variables should be set in the configuration section of the code:
Variables with Constant Values s.prop10 = @"iphone" //app platform s.prop11 = @"stockpicker" //app name s.prop12 = @"handango" //app distribution channel s.eVar13 = @"4/20/2009" //app install date Variables Which Don't Need Configuration s.prop3 = @"D=User-Agent" s.prop6 = @"D=c10%2b%22:%22%2bc11%2b%22:%22%2bgn" s.hier1 = @"D=c6" s.eVar1 = @"D=c1" s.eVar4 = @"D=c4" s.eVar5 = @"D=c5" s.eVar6 = @"D=c6" s.eVar12 = @"D=c12"
4.2 Content Naming Standards
1. Page: set page name (gn) to the content categories and sub categories plus name of page.
s.pageName = @"level1:level2:pagename"
2. Site Sections: set site section level 1 (ch) and site section level 2 (c8) to the correct respective parts of the content hierarchy.
s.channel = @"level1" s.prop8 = @"level2"
3. Content Type: set content type (c9) to the type of content consumed (e.g. story, content, video, download, audio, gallery, etc.)
s.prop9 = @"story"
4. Custom Page View Event: set a custom page view event (event1) on every
Adobe Measurement Deployment Guide for Mobile Apps
8
page.
s.events = @"event1"
5. Timeparting: Ask Adobe representative to set up Timeparting VISTA rule on timeparting variables (c7 & v7)
Note 1: There may be a cost associated with VISTA setup. If desired, timeparting variables can be set using server-side code in place of VISTA.
Note 2: There may be an additional cost associated with setting a custom page view event on every page.
4.3 Send Analytics 1. First App Launch:
(void)appFirstLaunch { s.pageName = @"home:appfirstlaunch"; s.channel = @"home"; s.prop4 = @"vz"; //carrier s.prop5 = @"84660"; //location s.prop9 = @"content"; s.events = @"event1,event4"; s.eVar11 = @"stockpicker 1.1" [s track]; }
2. Subsequent App Launches:
(void)appLaunch { s.pageName = @"home:applaunch"; s.channel = @"home"; s.prop4 = @"vz"; //carrier s.prop5 = @"84660"; //location s.prop9 = @"content"; s.events = @"event1,event3"; [s track]; }
3. App Update:
(void)appUpdated { s.pageName = @"home:appupdated"; s.channel = @"home"; s.prop9 = @"content";
Adobe Measurement Deployment Guide for Mobile Apps
9
s.events = @"event1,event5"; s.eVar11 = @"stockpicker 1.2" //app version [s track]; }
4. Normal Page/Screen Views:
(void)appView { s.pageName = @"home:news:story1"; s.channel = @"home"; s.prop8 = @"news"; s.prop9 = @"story"; s.events = @"event1"; [s track]; }
5. Search Results:
(void)appLaunch { s.pageName = @"search:searchresults"; s.channel = @"search"; s.prop9 = @"search"; s.prop1 = @"dividend rules"; s.prop2 = @"50"; s.events = @"event1,event2"; [s track]; }
Adobe Measurement Deployment Guide for Mobile Apps
10
5 Business-Specific Requirements Deploy the following additional variables to meet optimization objectives of the business.
Task Action Instructions Business Impact Owner Complete
Sample Code:
Adobe Measurement Deployment Guide for Mobile Apps
11
6 Validation Ensure code has been deployed properly and reports meet business objectives prior to rollout to production.
Task Action Instructions Business Impact Owner Complete
6.1 Validate Hits are Sent
Leverage the debugging console that comes pre-packaged with the app development software tools used to create the application. Alternately, a packet sniffer installed on the network may also be used for debugging.
Note: Adobe recommends deploying collection code to a dev or QA environment using a 'dev' report suite to verify code is set up correctly prior to pushing to production environment.
Validate code has been correctly deployed
6.2 Validate Adobe Reports
Log in to Adobe SiteCatalyst account and validate reports are populated correctly. Validate reports are populated correctly and reporting will meet required objectives
6.3 Production Push
Once validation of hits and reports has occurred, push collection code to production environment.
Adobe Measurement Deployment Guide for Mobile Apps
12
7 Appendices
7.1 Variable Key The following table provides a lookup key between query string parameters, JavaScript, and XML Tags.
Query String JavaScript/ActionSource/Application SDK Variable
XML Tag
gn s.pageName pageName
sv s.server server
gt s.pageType pageType
ch s.channel channel
c1 - c50 s.prop1 – s.prop50 prop1-prop50
h1 - h5 s.hier1 - s.hier5 hier1-hier5
v0 s.campaign campaign
state s.state state
zip s.zip zip
ev s.events events
pl s.products products
pi s.purchaseID purchaseID
v1 - v50 s.eVar1 – s.eVar50 eVar1-eVar50
Adobe Measurement Deployment Guide for Mobile Apps
13
ce s.charSet
cc s.currencyCode currencyCode
D s.dynamicVariablePrefix
cdp s.cookieDomainPeriods NA
cl s.cookieLifetime (s_vi cookie lifetime in seconds)
NA
/5/ or /1/ s.mobile NA
r s.referrer (Referring URL) referrer
g s.pageURL (Current URL) pageURL
vid s.visitorID (customer managed visitor id)
visitorID
Variables Automatically Set: variables that are typically set directly by the Adobe JavaScript file are shown below. These variables can be populated in the image beacon to send data to the corresponding report:
pid Page identifier for ClickMap
pidt Page identifier type for ClickMap
oid Object identifier for ClickMap
ot Object tag name for ClickMap
oi Source index for ClickMap
pe (lnk_d, lnk_e, lnk_o) Link Type linkType
Adobe Measurement Deployment Guide for Mobile Apps
14
pev1 Link URL linkURL
pev2 Link Name linkName
pev3 Video Reports mediaName
mediaLength
mediaPlayer
mediaSession
IP Address IP Address ipaddress
domain
Accept-Language Header Accept-Language Header language
/b/ss/rsid/ s_account reportSuiteID
User-Agent Header User-Agent Header userAgent
Blanked for Mobile Hits: The following variables typically set by JavaScript will be blanked as part of Adobe processing if the User-Agent of the hit is identified as a mobile device:
s Screen resolution (Width x height) resolution
c Screen color depth (8, 16, 32, etc.) colorDepth
j JavaScript version (1.0, 1.2, 1.3, etc.) javaScriptVersion
v Java enabled ('Y' or 'N') javaEnabled
bw Browser client window width in pixels browserWidth
bh Browser client window height in pixels browserHeight
Adobe Measurement Deployment Guide for Mobile Apps
15
t Browser time information "DAY/MONTH/YEAR HOUR:MIN:SEC WEEKDAY TIMEZONEOFFSET"
timezone
k Cookies supported ('Y' or 'N') cookiesEnabled
ct Connection type ('modem' or 'lan') connectionType
hp Is current page browser's home page ('Y' or 'N')
homePage
p ';' Separated list of Netscape plug-in names
plugins