Skip to main content
Skip table of contents

App Tracking: Push data to JENTIS

Before you start, the JENTIS App SDK uses the same approach as the web data layer. We recommend reading the JENTIS Data Layer—Data Model Reference article to better understand this documentation.

This article explains how to push data from your app to JENTIS using the App SDK. Expertise in app development will be needed for this.

General

In the JENTIS App SDK, we follow a push call stack approach. When the submit() function is called, the necessary information is included in the Data Submission Request sent to JENTIS, and the JENTIS SDK call stack is reset.

Track Push Events

iOS Implementation:

Track custom events with the push method. Events will be stored but not sent to the server:

CODE
TrackingService.shared.push([
    "track": "pageview",
    "title": "Home Page",
    "url": "https://example.com"
])

Android Implementation:

To track custom events, use the addToPush method. Events will be stored locally and not sent to the server until the submission method is called:

CODE
JentisTrackService.getInstance().push()

Submitting Data

When the submit function is called in the mobile environment, the data is transmitted to JENTIS and flagged with the status 'JENTIS Datalayer SENT', indicating successful submission.

iOS Implementation:

To submit stored events, you need to call the submit method. All events will be sent to the server and the local and deleted from the local queue:

CODE
try await TrackingService.shared.submit()

Android Implementation:

To submit stored events, you need to call the submitPushing method. All events will be sent to the server and the local and deleted from the local queue:

CODE
JentisTrackService.getInstance().submit()

Default Tracking

This data is added by default to every request by the JENTIS App SDK when the submit() function is executed.

iOS Implementation:

Key

Description

Example Value(s)

app_device_id

Unique device identifier UUID of the device

A1B2C3D4-5678-90AB-CDEF-1234567890AB

app_device_brand

The brand of the device

Apple

app_device_model

The device model

iPhone14,5 (for iPhone 13, see Lookup table for more Information)

app_device_os

The device operating system

iOS

app_device_os_version

The device OS version

15.0, 13.1

app_device_language

The device language

de, en

app_device_region

The device region specified in the device settings (not the current location)

US

app_device_width

The screen width of the device

390

app_device_height

The screen height of the device

844

app_device_carrier

The network carrier name of the device

Verizon, AT&T

app_device_network_type

The type of network connection

Wi-Fi, Cellular

app_application_name

The name of the application

ExampleApp

app_application_version

The app version

1.0, 2.1

app_application_build_number

The app build number

1, 2, 3

Android Implementation:

Key

Description

Example Value(s)

app_device_id

Unique device identifier UUID of the device

A1B2C3D4-5678-90AB-CDEF-1234567890AB

app_device_brand

The brand of the device

Samsung

app_device_model

The device model

Galaxy S21

app_device_os

The device operating system

Android

app_device_os_version

The device OS version

12, 11

app_device_language

The device language

en

app_device_region

US

app_device_width

The screen width of the device

1080

app_device_height

The screen height of the device

2340

app_device_carrier

The network carrier name of the device

Verizon, AT&T

app_device_network_type

The type of network connection

Wi-Fi, Cellular

app_application_name

The name of the application

JentisAppExample

app_application_version

The app version

1.0.12

app_application_build_number

The app build number

1

Tracking Examples

iOS Pageview:

CODE
TrackingService.shared.push([
    "track": "pageview",
    "pagetitle": "Demo-APP Pagetitle",
    "url": "https://www.demoapp.com"
])

TrackingService.shared.submit()

Android Pageview:

CODE
JentisTrackService.getInstance().push(mapOf(
  "track" to "pageview",
  "url" to "https://www.demoapp.com",
  "title" to "Demo-APP Pagetitle"
))

JentisTrackService.getInstance().submit()

iOS Productview:

CODE
TrackingService.shared.push([
    "track": "pageview",
    "pagetitle": "Demo-APP Productview"
])

TrackingService.shared.push([
    "track": "product",
    "type": "productview",
    "id": "123",
    "name": "Testproduct",
    "brutto": 199.99
])

TrackingService.shared.push([
    "track": "productview"
])

TrackingService.shared.submit()

Android Productview:

CODE
JentisTrackService.getInstance().push(mapOf(
    "track" to "pageview",
    "pagetitle" to "Demo-APP Productview"
))

JentisTrackService.getInstance().push(mapOf(
    "track" to "product",
    "type" to "productview",
    "id" to "123",
    "name" to "Testproduct",
    "brutto" to 199.99
))

JentisTrackService.getInstance().push(mapOf(
    "track" to "productview"
))

JentisTrackService.getInstance().submit()

iOS Add-to-Cart:

CODE
TrackingService.shared.push([
    "track": "product",
    "type": "addtocart",
    "id": "123",
    "name": "Testproduct",
    "brutto": 199.99
])

TrackingService.shared.push([
    "track": "addtocart"
])

TrackingService.shared.submit()

Android Add-to-Cart:

CODE
JentisTrackService.getInstance().push(mapOf(
    "track" to "product",
    "type" to "addtocart",
    "id" to "123",
    "name" to "Testproduct",
    "brutto" to 199.99
))

JentisTrackService.getInstance().push(mapOf(
    "track" to "addtocart"
))

JentisTrackService.getInstance().submit()

iOS Order / Purchase:

CODE
TrackingService.shared.push([
    "track": "pageview",
    "pagetitle": "Demo-APP Order Confirmed"
])

TrackingService.shared.push([
    "track": "product",
    "type": "order",
    "id": "123",
    "name": "Testproduct",
    "brutto": 199.99
])

TrackingService.shared.push([
    "track": "product",
    "type": "order",
    "id": "456",
    "name": "Testproduct 2",
    "brutto": 299.99
])

TrackingService.shared.push([
    "track": "order",
    "orderid": "12345666",
    "brutto": 499.98,
    "paytype": "creditcard"
])

TrackingService.shared.submit()

Android Order / Purchase:

CODE
JentisTrackService.getInstance().push(mapOf(
    "track" to "pageview",
    "pagetitle" to "Demo-APP Order Confirmed"
))

JentisTrackService.getInstance().push(mapOf(
    "track" to "product",
    "type" to "order",
    "id" to "123",
    "name" to "Testproduct",
    "brutto" to 199.99
))

JentisTrackService.getInstance().push(mapOf(
    "track" to "product",
    "type" to "order",
    "id" to "456",
    "name" to "Testproduct 2",
    "brutto" to 299.99
))

JentisTrackService.getInstance().push(mapOf(
    "track" to "order",
    "orderid" to "12345666",
    "brutto" to 499.98,
    "paytype" to "creditcart"
))

JentisTrackService.getInstance().submit()

Read next

App Tracking: Ad Attribution

App Tracking: Using your app data in the JENTIS Platform


If you have any questions or suggestions, contact us through our Helpdesk.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.