Structure: Tracking services
Purple supports various Tracking Services offered by third-party manufacturers. This leads to the need for the individual tracking services to be configured specifically for each service. The reasons include:
- Various APIs of the SDKs
- Different need for events and attributes per tracking service
Various APIs of the SDKs
Each tracking service offers a native SDK, which is integrated into the Purple app. The APIs of the integrated SDKs are basically similar, but are still very different. This means that, for example, an event must be configured differently for different tracking services.
Different need for events and attributes per tracking service
For their desired use cases, a Purple Customer uses the corresponding tracking services that best support these use cases. It can happen that a tracking service only supports a subset of the Purple Tracking functionality and, for example, only view events can be configured, or a tracking service is used exclusively for tracking purchases, in order to create reports and thus only purchase events need to be configured for this tracking service.
But now lets start with the structure!
The top level configures the tracking services level and is divided into a "default" section and a separate section for each integrated Tracking Service.
This division can be seen in the figure on the right.
The "default" section represents the fallback solution if no specific configurations exist for integrated tracking services and is always contained in the "tracking_config.json" file. This means that this "default" section can serve as a common configuration basis, but only makes sense in certain constellations of tracking services.
Fallback solution
For example, if an event "A" is fired for Firebase, then it is first checked whether Firebase has a config for this event "A". If the config is missing for Firebase, it is checked in the default area whether it is available.
The configuration of a tracking service is added with its own section. This section begins with a unique "tracking_service_key" under which the specific tracker configuration takes place.
The respective "tracking_service_key" of the various tracking services can be found in the technical descriptions of the individual trackers.
These technical descriptions of the tracking services can be found in the Tracking Services chapter.
An example of an extensive configuration on the top level might look like the figure on the right.
There you will see the "default" section and the sections for these tracking services:
- Adjust
- Airship
- Chartbeat
- Cleverpush
- Firebase