Google Analytics is a great tool for monitoring and reporting on website traffic and user interactions but what it doesn’t tell you is that 75% of the time your user’s zoom in two levels every time they start to use your map or that external soils layer you added is taking an average three seconds to load. Client side map monitoring adds the missing chapters needed to complete your geo-analytics storybook.
We’ll briefly walk-through how to setup your slippy map to start tracking analytics, what can be tracked, and what can be discovered.
14. It’s also important too…
Track the layer load times to prove assumptions
Or find out improvement is an Epic Failure
(awareness is the 1st step)
>sparkgeo
15. Layer Analytics
Monitor layer analytics for new maps
Layer load times
Monitor map health
>sparkgeo
16. Tool Use
Track which tools are used and how often to
justify keeping or removing specific tools,
as a result improving user experience
>sparkgeo
18. How do we track map analytics?
Mapping software dependent
OpenGeo Suite’s Mapmeter plugin
Google Maps API for Work it’s built-in
>sparkgeo
19. How about everyone else?
There are options!
Google Analytics
Sliptics
Let’s run through some examples…
>sparkgeo
20. Google Analytics
You’re likely already using it!
API allows for custom events to be tracked
>sparkgeo
_trackEvent(
category (string)
action (string)
opt_label (string)
opt_value (integer)
opt_noninteraction (boolean)
)
21. Google Analytics - Zoom Levels
Add Google supplied code snippet
>sparkgeo
25. Sliptics
Sparkgeo Project
Build a better map experience
Easy to implement
Little performance hit
Run alongside Leaflet, Google Map or OpenLayers
>sparkgeo
26. Sliptics - A/B Layer Test
Include Sliptics after the leaflet library
>sparkgeo
27. Sliptics - A/B Layer Test
Test 4
different
layers
>sparkgeo
We do geospatial development as well as traditional GIS consulting
and Work in both Canada and internationally…
- and we all live and play in Beautiful British Columbia, Canada
Currently track analytics for their website
Have 1 or many web maps
Track map analytics
- We weren’t tracking map analytics
- Google Analytics for lack of users on our Cat Tracking website
- NewRelic for bottlenecks
- Nothing specific around web map or the map user experience.
- Web maps are big investments,
- data
- mapping app,
- other moving parts.
Proud parent, Tweet, good map
But like any parent…you want that “A+” bumper sticker on your car.
This is why map analytics are important
Take it to the next level
make changes based on informed decisions
Ex: Justify tools
- Map analytics isn’t the mountain top guru with all the answers.
It’s not going to tell you why ‘X’ happens….
Detailed data is inaccurate
Show you trends on what’s happening
prove or disprove assumptions
provide the metrics to justify changes.
important analytics
Cool mapping platform
Easily add and stylize map layers
Layers are served as Map Tiles
Each style change….potential large re-render process
Additionally…Map layers created by clients are unique
Make the map tile rendering process more efficient
Map Users…where and how often
Tweak process
Pre-generate tiles for the San Francisco area and not the whole U.S.
Assumption: Still fast for most users…but with less server processing
Could track layer load times
Verify assumption
More tweaks to find a good balance of user experience (load times) and decreased server processing
EPIC FAILURE! Scrap it
Regardless Informed decision
Important for new maps
Track individual layer loads
Find that 3rd party data source is a better option for you or visa versa
Layer load times when server is under a load
Monitor the health of the map
- More users
- More data being added
May not be an issue for a lot of maps but still worth mentioning
Track which map tools are used and how often…may change over time
Justification keeping or removing
Use these analytics to make the mapping app less frustration and intimidating
- Informed decisions for change
Depending on your software, tracking and analyzing map analytics may be easy
Mapmeter - Plugin
Google Maps API for Work - Built-in
Not everyone is using an enterprise level mapping system
What are you options?
Google Analytics…Sliptics
Run through examples
Your already using it for website analytics
API allows for custom events to be tracked, courtesy of the track event method
Ex: Zoom level activity or Map Tool usage
After Google Analytics registration
Add Google supplied code snippet
Loads the GA javascript libraries
Don’t include twice
- Using leaflet for this example
- Creating a map and a layer here…nothing new here
want send analytics to GA, every time there is a zoom level change
Bind to the “zoomend” map event
That’s it…let’s try it out
** MAP ** -> all is good
**GA** -> Realtime: User on page, Events
Behaviour events
Custom Widget on Dashboard
Working on lately @ Sparkgeo
Start building better maps
Know what’s happening with our current maps…needed to track analytics
Google Analytics works great but we want track a wider range of geo-analytics…wanted to do something different
Needed to be easy to implement in new and existing maps
Support Leaflet, GMaps, OpenLayers
Little performance hit
Sliptics was born…(Slippy Map Analytics)
Run through an example: A/B Testing layers
Register site similar to google analytics
Get a tracking code…we’ll see where that comes in later
Include Sliptics JS library
Requires the leaflet library
want to test 4 different layers
using standard leaflet tile layer
but we are adding a sa_id property to each
uniquely identify layer for reporting
- randomly select a layer
create a map instance
with additions
track_id: Provided at registration
sa_id: Uniquely identify the map on the website
finally add the layer to the map
** GO TO MAP **
Test layers are changing
Pan & zoom around
- Tracking map analytics is going to help with making your good maps great
- Start with tracking these analytics first
-…and extend your tracking from there
And there are lots of options to help with analytics collection...
whether you are using one or a combination of platforms.
the goal is informed decisions
Questions
Sliptics
More information
Alpha/Beta testers