Ensure data quality while allowing for flexible data collection with constantly shifting requirements and technical standards.
Conceptualize the main flows of data you want to capture from your product using a flip chart, tools like Miro or LucidCharts or a simple flow diagram.
Image courtesy of LucidChart
Set up a meeting with your development team to finalize your specification and align on the implementation approach.
This step is crucial in terms of having the development team’s buy-in and support to implement your technical concepts. There can be multiple implementation paths to reach your result. For example:
- Implementing everything in one small part of your product first.
- Implementing your concept for one particular feature.
- Doing the work in one go (big bang) and running in parallel to your existing solution for some time.
A data layer is crucial in all implementations to provide information from your product in the right context to be captured. The actual attributes will depend on your data collection concept, but you will want to collect (if possible) any:
- User, company or product identifiers.
- Context information such as page, component or section identifiers.
- Any information that you would otherwise not have available to you post-collection such as subscription state.
Use HTML5 data-attributes to tag all the various elements on the page. Define a naming convention that is consistent, precise and flexible enough to adapt to all types of elements - even ones that don’t exist yet, like an audio player for an ecommerce site.
If using a third-party tool such as Mixpanel, Heap, Google Analytics or Matomo, set up basic monitoring that will alert you when no data is being collected. When using your data collection methods or a self-hosted version of a third-party tool, you can have more control over this process by checking raw data logs using advanced tools.