Data engineeringDecember 19, 2018

Enterprise mobile tagging best practices with Cognetik and mParticle

Learn how using Cognetik and mParticle can help you track app users' engagement data without adding to your engineering debt.

Most enterprises have complex tracking requirements compared to smaller companies. Enterprises want to track everything that is available about the user, the product, the promotion, the state of the UI, and more on every user action. By using a customer data platform, like mParticle, brands can centralize and cleanse their data from across their stack for analysis, transformation, and orchestration. While a customer data platform can provide many benefits, installing mParticle into your app requires some effort from your app developers. This blog will cover how app developers are involved in the installation process and how using mParticle and enlisting Cognetik can help brands do more with their customer data without taking away from app developers' core product development time.

Collecting app data

mParticle’s SDK automatically captures sessions, app lifecycle events, and device telemetry. However, capturing app user engagement data still requires engineering effort. To capture complex, enterprise-level UI engagement data, app developers have to create a data layer object and pass it to mParticle’s SDK with each tracking call (a screen view or user action). Typically, that data layer is designed by the analytics team. Depending on tracking requirements, the analytics team will expect specific values in the data layer to be present or absent at specific moments within the app.

The data layer has to be populated by your app developers with certain values depending on the situation. For example, product and transaction details should be in the data layer on purchase confirmation screens, while promotional details should be present when a promotion is served to a user. This population of the data layer object can be surprisingly challenging for app developers because their time is largely allocated to feature development and bug fixing. Your business logic may not be terribly complex, but any level of complexity is more than your app developers can take on. App developers don't necessarily want to architect solutions for the analytics team’s business logic, nor do they want to learn vendor specific syntax.

Creating a data layer management library

To correctly populate the data layer prior to calling mParticle’s tracking functions, your app developers will likely create a data layer management library of their own. This library would perform the following actions:

  • Clear out values that are not needed on every screen
  • Persist certain values until certain screens
  • Combine values as requested by the analytics team
  • Prepare day-of-week and other time-based values
  • Pull eCommerce values from purchasing system APIs
  • Pull user details from customer APIs
  • Pull promotion and offer details from promotions APIs
  • Flag user actions, like log-ins and registration completions

How Cognetik can help

Cognetik’s engineers have installed numerous tracking tools into many apps. We have helped app developers through this challenge enough times to see the need for a universal data layer SDK. So we created one! Our SDK eases the process of downloading and installing vendor SDKs and also handles most of the bullet points listed above. Of course, it can’t pull values from your internal APIs for you. Your app developers will still need to do that in order to populate the values of the data layer. But, once provided with those values, our SDK will help the analytics team further manipulate those values and handle the persistence and clearing of values to match the analytics team’s business logic. Although it isn't publicly available yet, we plan to release our Data Layer SDK as open source software in 2019.

We believe in abstracting app developers away from vendor syntaxes and away from business logic as much as possible. We want your developers to have an easy time installing analytics into their app. We design data layers to be as minimal as possible, use plain-English variable names, and avoid vendor syntax. Then we guide the developers through their implementation of this data layer. Also, our SDK reduces the number of tracking methods for your developers to learn. They call our track function and we map that to the proper function in mParticle.

Assuring the quality of data collection

When installing tracking into mobile apps, you must also account for the inherent difficulty in QAing your data collection. mParticle’s mobile solution is a server-side tracking solution. The tracking call is sent from your app to mParticle, and then from their server to your chosen tracking vendors, like Adobe Analytics, Google Analytics, and/or the hundreds of available marketing analytics vendors. It is possible to use a proxy to see the tracking call from your app to mParticle so you can assure the quality of that part of the implementation.

However, it is not possible to use a proxy to see the call from mParticle’s server to the servers of the tracking vendors because you cannot place a proxy between those servers. This is where mParticle’s Live Stream feature shines. In the mParticle UI, you can view all of the fully formatted tracking calls being sent from mParticle to your analytics vendors. You can see your calls in real time and filtered to your device ID. Live Stream is imperative to your ability to assure the quality of your data collection.

Live Stream might point out an issue in your mParticle rules where the analytics team forgot to send a data layer value to one of your tracking vendors. Live Stream could also point out where a data layer value is missing or combined incorrectly by your app developers prior to being sent into mParticle. In your project planning, don’t forget to include some time for your app developers to correct data layer values uncovered by the analytics team prior to each launch.

Summary

mParticle is an excellent server-side TMS (server-side is what you want on mobile apps) and an excellent customer data platform (CDP). With a solid data layer, your mParticle implementation will be your data collection foundation for years to come.

About Cognetik

Cognetik is an analytics services and product company that empowers digital leaders to accelerate decision-making, improve digital experiences, and advance business transformation. Our engineers and architects are experts at mobile analytics implementation. We’ve installed Adobe Analytics and Google Analytics in many challenging configurations. mParticle is great at simplifying implementation, but it doesn’t remove your app developers from the installation. By enlisting in our services, you’ll be able to collect clean, insightful data so you can make solid decisions about the future of your app. Need help with taking the load off your app developers? Contact us today.

Get started with mParticle today

Connect with an mParticle expert to discuss how to integrate and orchestrate customer data the right way for your business.

Request a demo