INFOnline Measurement pseudonymous (GZIP body) (infonline/ioam-tx-body-gzip
)
operated by: INFOnline GmbH
(get company information on datarequests.org, go to tracker entry in the Exodus database)Unlike Census Measurement, which works anonymously without identifiers, INFOnline Measurement pseudonymous “is designed as a pseudonymous system (with client identifiers)”.
According INFOnline’s own documentation, “[…] the pseudonymous INFOnline Measurement may only be loaded and executed if there is active consent from the user of [the] web page. […] The following also applies to apps: Only start the session of pseudonymous measurement if you have the user’s consent.”
Endpoint URLs
These are URLs or regexes of endpoints the tracker sends data to. We use these to determine which adapter to apply to a request. Some trackers use the same endpoint for several formats. In this case we use additional logic to match the adapter to the request, refer to the code for more information.https://de.ioam.de/tx.io
https://at.iocnt.net/tx.io
Decoding steps
Every tracking library has its own way of transmitting tracking data, often even several. They are regularly pretty convoluted, nested encoding schemes. Because of that, the adapter needs to decode the request information into a consistent format. We try to keep keys and paths intact, but the structure results from our decoding. All steps used in the decoding for this adapter are documented here.- Parse the request body as a query string. Store that in the variable
parsedBody
. - Get the property at JSONPath
ae
in the variableparsedBody
. Store that in the variableae
. - Decode the variable
ae
as a Base64 string. Store that in the variabledecodedAe
. - Decompress the variable
decodedAe
as a GZIP archive. Store that in the variableunzippedAe
. - Parse the variable
unzippedAe
as JSON. Store that in the result for the request body atae
. - Get the cookie
i00
. Store that in the result for the cookies ati00
.
1parsedBody = parseQueryString(body)
2ae = parsedBody.ae
3decodedAe = decodeBase64(ae)
4unzippedAe = gunzip(decodedAe)
5res.body.ae = parseJson(unzippedAe)
6res.cookie.i00 = cookie.i00
Observed data transmissions
This is data that we observed being transmitted by this tracker. Not every request contains all of this data. The context of the data describes where we found the data in the request, the path describes the location of the data in the decoded request. The examples are a selection of observed values.References
- Documentation for
$.ae..events[?(@.identifier == 'application' && @.state == 'enterForeground')].state
: https://docs.infonline.de/infonline-measurement/en/integration/lib/iOS/Vorgaben_zum_Aufruf/#events - Documentation for
$.ae..events[?(@.identifier == 'application' && @.state == 'enterBackground')].state
: https://docs.infonline.de/infonline-measurement/en/integration/lib/iOS/Vorgaben_zum_Aufruf/#events - Documentation for
$.ae..events[?(@.identifier == 'application' && @.state == 'becomeActive')].state
: https://docs.infonline.de/infonline-measurement/en/integration/lib/iOS/Vorgaben_zum_Aufruf/#events - Documentation for
$.ae..events[?(@.identifier == 'application' && @.state == 'resignActive')].state
: https://docs.infonline.de/infonline-measurement/en/integration/lib/iOS/Vorgaben_zum_Aufruf/#events - Documentation for
$.ae..events[?(@.identifier == 'application' && @.state == 'start')].timestamp
: https://docs.infonline.de/infonline-measurement/en/integration/lib/iOS/Vorgaben_zum_Aufruf/#events - Documentation for
$.ae..events[?(@.identifier == 'view' && @.state == 'appeared')].category
: https://docs.infonline.de/infonline-measurement/en/integration/lib/iOS/Vorgaben_zum_Aufruf/#events - Documentation for
$.ae..events[?(@.identifier == 'view' && @.state == 'refreshed')].category
: https://docs.infonline.de/infonline-measurement/en/integration/lib/iOS/Vorgaben_zum_Aufruf/#events