Skip to content

Specifications for calling the IOMb Library

The user's app usage is captured by the app calling the IOMb Library on defined events that mark a user interaction.

The user interaction is referred to as an event.

Note The IOMb Library must be explicitly invoked by the app when the event occurs.

Furthermore, the IOMbLib measures certain system or app specific values automatically. For this purpose, the integration of the IOMbLib iOS must be done exactly as described in the section Integration of the IOMB Lib iOS.

Interpretation of events as mobile PI events

The specifications listed below define how the INFOnline Measurement Library is to be used in the context of SZM Mobile Applications measurement.

From a technical perspective, a distinction is made between 2 types of events:

PI events.

With PI events, the event is used to generate a page impression analogous to the stationary Web. A content code (referred to simply as "code" in the following) must be assigned to this event. This code can then be assigned to the various categories and serves as the basis for creating booking units. For PI events, the mobile impression specifications of the IVW must be observed:

"A mobile impression is a user action within a mobile site that leads or could lead to a call-up of an advertising medium. Each user action may only be counted once. User actions that do not lead to any potential advertising delivery may not be counted.

Prerequisites for assigning an MI to a site:.

Delivered content must bear (for mobile-enabled websites) the FQDN or (for apps) the app name of the site (or alias/redirect) or the assigned MEW or app name of the site.

User action:

An MI is triggered by an action performed by the user. This also includes: reload, opening an app, opening a browser.

No user action:

Calling up content through an automatic redirect (except redirects and alias)., automatic reload, calling up content when closing (also: background) a browser window or app, calling up content via robots/spiders and similar.

No Mobile Impression:

The scrolling within an already loaded content.

Non PI events.

Non PI events are user actions that are recorded as an event in the SZM system but do not result in a mobile impression being counted. No page code may be assigned to this event. Examples for non PI events are

  • Events automatically captured by the IOLib.
  • Events defined by the provider that do not represent a mobile PI but are still to be measured as events, e.g. in order to better track the use of the app by the users.

Guidelines for assigning page codes.

For PI events, the page code must be included as a unique identifier of the displayed content. The page code is specified by the app provider.

When specifying the content codes, the INFOnline code guidelines must be followed:

  • Length of the codes: A page code may contain a maximum of 255 characters.
  • Number of codes: a maximum of 2000 codes may be used.
  • Allowed characters: a-z, A-Z, 0-9; comma ","; hyphen "-"; underscore "_"; slash "/"


The following tables list events that are or can be collected in the measurement. The circumstances under which an event can lead to a Page Impression are also explained below.

Events automatically measured by the IOMb library

The following table describes the events for which the INFOnline Measurement Library is automatically called up. The events are user actions that are collected for technical reasons but do not result in the counting of a mobile impression. No page code may be assigned to this event.

Event Class Event Type Event Remark
IOMBAccessoryEvent TConnected, Disconnected Here's this -
IOMBApplicationEvent Start, EnterBackground, EnterForeground, ResignActive, BecomeActive, Terminate, Crashed App-specific event, e.g. start of app, termination of app, crash, etc. ResignActive: Incoming call, push notification alert, timer alert, etc. EnterFore/Background: App goes to background Terminate: App is terminated
IOMBInternetConnectionEvent Established, Lost, SwitchedInterface type of connectivity changes connection established or lost change from mobile to wifi or vice versa
IOMBWebViewEvent Init Hybrid measurement is activated -

PI events

In the following, events are listed which typically lead to the triggering of a PI event. The adoption of the schema is recommended. The events must be triggered manually. The procedure is described in chapter Logging an event. There is no automatic collection. PI events must be assigned a page code. This page code can then be assigned to the various categories and is used as the basis for creating booking units.


For PI events, the specifications for mobile impression of the IVW must be observed.

Event Class Event Type Event Remark
IOMBDeviceOrientationEvent Changed Orientation of the device LandscapeLeft / LandscapeRight or Portrait / Portrait UpsideDown
IOMBGestureEvent Shake -
IOMBViewEvent Appeared, Refreshed A view (aka "page") was displayed or updated with new data Examples; Appeared; initial call of a page Refreshed; search filter o. update of data
IOMBGameEvent Action, Started Gaming Events Action within a game Game started
IOMBAudioEvent Play, Pause, Stop, Next, Previous, Replay, SeekBack, SeekForward Audio Playback Play, Pause, Stop, Next/Previous Track, Forward/Rewind, Repeat
IOMBVideoEvent Play, Pause, Stop, Next, Previous, Replay, SeekBack, SeekForward Video Playback Play, Pause, Stop, Next/Previous Track, Fast Forward/Rewind, Repeat

Non PI events

The following are events that typically do not result in a PI being counted. However, if there are circumstances where a Mobile PI should also be generated here, these events can be used to enable this. Before using these events to generate PIs, please clarify the respective circumstances directly with the IVW office. If these events are to lead to the counting of PIs, this must also be triggered manually. A page code must then be assigned to this event. This page code can then be assigned to the various categories and serves as the basis for creating booking units.

Event Class Event Type Event Remark
IOMBViewEvent Disappeared A view (aka "Page") was abandoned A view (aka "Page") was abandoned
IOMBDocumentEvent Open Edit Close Document / List Edit List Edit Document Saved
IOMBDataEvent Cancelled, Refresh, Succeeded, Failed Data connection/ processing Data connection aborted Data was updated Data was successfully transferred Data was not transferred
IOMBDownloadEvent Cancelled, Start, Succeeded, Failed Download of data Download was initiated Download was aborted Download completed successfully Download failed
IOMBUploadEvent Cancelled, Start, Succeeded, Failed Upload of data Upload was initiated Upload was cancelled Upload completed successfully Upload failed
IOMBLoginEvent Succeeded, Failed, Logout Login Login completed successfully Login failed Logout completed/Session ended
IOMBGameEvent Finished, Won, Lost, NewHighscore, NewAchievemen Gaming Events Game finished Game(round) won Game(round) lost New Highscore achieved New Achievement achieved
IOMBHardwareButtonEvent Pushed Switch or button on device pressed Volume changed via rocker switch on device Device locked (power button pressed) Home button pressed
IOMBBackgroundTaskEvent Start, End A background process is started or ended Download or upload of larger files, which should possibly run in the background
IOMBOpenAppEvent Maps, Other Another app is started or app is exited via a URL Maps: Apple Maps is called Other: Other apps or URIs are called (Email, Phone, Websites, etc.)
IOMBAdvertisementEvent Open, Close Ads are shown or hidden Ad banner is opened or closed
IOMBIAPEvent Started, Finished, Cancelled In-app purchases are made IAP process is initiated (Start) IAP process is finished (Finished) IAP process is cancelled (Cancelled)
IOMBPushEvent Received Push Notifications A push notification is received
IOMBCustomEvent * User definable A CustomEvent can measure a user definable status or action (Intended for future use).

As soon as an event described under "Events to be triggered manually" is triggered in the app, the INFOnline Measurement Library is to be called up via logEvent. Here, an instance of the corresponding IOMBEvent subclass is to be passed as a parameter (see also IOMb Library iOS Functions).

The transmission of the non PI events to the INFOnline Measurement System is optional.


The non PI events have no influence on the range determination of your app.

These events can be used by you to quantitatively determine the frequency of occurrence of these events (in the INFOnline evaluation systems). It should be noted here that capturing and transmitting the non PI events uses technical resources (CPU time, network traffic, battery) on the end device.

With regard to the use of technical resources on the end device, we ask you to decide when planning the implementation of the integration of the MeasurementLibs whether your app should transmit NonPI events to the INFOnline Measurement System.

Special case "ViewRefreshed" event

In the event that a view is refreshed (IOMBViewEvent, type IOMBViewEventTypeRefreshed), note the following:


The event may only be logged (or the INFOnline Measurement Library called up) if the refresh of the data was triggered manually by the user. In case of an automatic refresh, the event must not be logged.

Brief description of TCF 2.0

The European General Data Protection Regulation (GDPR) defines almost all profile data collected via cookies or mobile ad identifiers as personal data. Anyone who collects visitor data on their web page must inform the user about its use. Particularly with modern advertising mechanisms such as RTB/RTA (Real Time Bidding/Advertising), a highly complex chain of different service providers is created that are involved in the processing and enrichment of user data. It must be known at every point and at every time which tracking and targeting processes of a user are permitted - and which must be refrained from. To ensure technical security, the industry association IAB Europe has developed the "Transparency and Consent Framework". In September 2019, the supplemented version 2.0 was published. On 15.08.2020, the rollout of this took place.

In addition to the user, the TCF defines three other categories of actors: vendors, publishers and Consent Management Platforms (CMPs).

  • Vendors are all service providers in the delivery chain who want to process data. They include, for example, website tracking systems, ad servers and adverification providers, demand and sell side platforms (DSPs and SSPs), and data management platforms (DMPs). Vendors must be registered with TCF and declare the purposes for which they want to process data. With this information, they can be viewed via the so-called Global Vendor List (GVL).

  • Publishers provide content and are in direct contact with consumers.

  • Consent Management Platforms (CMPs) are specialized service providers that operate the privacy centers and consent screens on web pages for publishers and advertisers, where they give users the opportunity to consent or object. As part of the TCF, they are responsible for providing the user's consent status to the delivery chain.

The TCF defines a standardized nomenclature for the communication between the different parties, the so-called signaling. For each vendor integrated by a publisher or advertiser on the pages, it is transmitted for the individual processing purposes whether the data processing is permitted and whether the user has made an explicit Opt-out.

In version 2.0, the TCF distinguishes between ten different purposes (Purposes) for the processing of tracking data. These are supplemented by a total of seven additional processing options and purposes that regulate specific use cases and their legal basis.

Application ID Processing Purpose Legal Basis
Setting cookies 01 Storing and/or retrieving information on a device Consent or not used
Technical Targeting 02 Selecting Simple Ads Consent, Legitimate Interest or Not Used
Profile Targeting 03 Creating a Personalized Ad Profile "
" 04 Selecting personalized ads "
" 05 Create a personalized content profile "
" 06 Selecting personalized content "
Tracking and market research 07 Measuring ad performance "
" 08 Measuring content performance "
" 09 Using market research to gain insights into target audiences "
Product Development 10 Developing and Improving Products "
Setting cookies 01 Storing and/or retrieving information on a device Consent or not used
Technical targeting 02 Selecting simple ads Consent, legitimate interest or not used

Table1: Overview of Purposes

Application ID Purpose of processing Legal basis
Exact location data and query of device properties for identification 01 Use exact location data Consent or not used
" 02 Actively query device properties for identification "

Table2: Overview of Purposes

According to the website at TCF2.0: INFOnline Consent String Notation ( at 1st mention explanation 'new generation of scalable central measuring procedures' in brackets)

Last update: May 22, 2023