Mobile App event specificity

A full event is the addition of event specific information and data gathered by the SDK. For each event you'll find in the documentation "events reference" all the possible properties and the mandatory ones.

Event SDK mapping

To create event, you will need to use classes from the SDK which represents the events. As this might be confusing, you'll find here a list of class name and their event counterparts.

All those class names are valid on both Android and iOS.

event name
class name

any custom event

TCCustomEvent

add_payment_info

TCAddPaymentInfoEvent

add_shipping_info

TCAddShippingInfoEvent

add_to_cart

TCAddToCartEvent

add_to_wishlist

TCAddToWishlistEvent

begin_checkout

TCBeginCheckoutEvent

generate_lead

TCGenerateLeadEvent

login

TCLoginEvent

page_view

TCPageViewEvent

purchase

TCPurchaseEvent

refund

TCRefundEvent

remove_from_cart

TCRemoveFromCartEvent

search

TCSearchEvent

select_content

TCSelectContentEvent

select_item

TCSelectItemEvent

sign_up

TCSignUpEvent

view_cart

TCViewCartEvent

view_item

TCViewItem

view_item_list

TCViewItemListEvent

COMMON SCHEMAS
class name

Item

TCItem

Product

TCProduct

User

TCUser

ENUMERATED VALUE
Class name

Payment methods

ETCPaymentMethod

Purchase status

ETCPurchaseStatus

Event specificity for mobile app

IOS and Android SDK add specific properties regarding the device and app. Those are in addition to event managed properties.

If you track your mobile applications without using the sdk (with the http tracking api), you should follow this specification to benefit from plug&play on destinations\

Here are an example of event playload :

{
   "event_name":"add_to_cart",
   "value":22.53,
   "currency":"EUR",
   "user": {
	   "consistent_anonymous_id": "b5c6aa4e-0532-40c0-bf6b-a77bff46d600",
	   "email": "toto@domain.fr",
	   "consent_categories": ["1", "3"]
   },
   "items":[
      {
         "id":"SKU_12345",
         "quantity":1,
         "product":{
            "id":"12345",
            "name":"Trex tshirt",
            "price":9.99
         }
      }
   ],
   "context":{
      "event_id":"8f6e05dd-6df0-476c-9c56-5d277fac7cea",
      "device":{
         "sdk_id":"a47f71c0-9561-4a26-96d6-0d8632095caa",
         "user_agent":"Mozilla\/5.0 (Linux; Android 13; sdk_gphone64_arm64 Build\/TE1A.220922.012; wv) AppleWebKit\/537.36 (KHTML, like Gecko) Version\/4.0 Chrome\/103.0.5060.71 Mobile Safari\/537.36",
         "manufacturer":"Google",
         "model":"sdk_gphone64_arm64",
         "name":"emu64a",
         "type":"android",
         "language":"en",
         "region":"US",
         "network":{
            "bluetooth":false,
            "cellular":false,
            "wifi":true
         },
         "os":{
            "name":"android",
            "version":"13"
         },
         "screen":{
            "width":1080,
            "height":1857,
            "density":2.625
         },
         "timezone":"Europe\/Paris",
         "lifecycle":{
            "session_id":"5ab5fd16-5ebd-42bb-8c9c-b12564370c83",
            "new_session":false,
            "first_execute":false,
            "is_first_visit":true,
            "session_duration":138200,
            "current_session":1673571497826,
            "current_visit":1673571497826,
            "current_version_first_visit":1673571497826,
            "first_visit":1673571497826,
            "last_visit":1673571497826,
            "last_call":1673571632270,
            "last_session_start":0,
            "last_session_last_hit":0,
            "foreground_time":137652,
            "background_time":548,
            "foreground_transitions":2,
            "session_number":1,
            "visit_number":1
         }
      },
      "app":{
         "name":"TCDemo ServerSide And Consent",
         "version":"1.0",
         "build":"1",
         "namespace":"com.tagcommander.tcdemo",
         "core_version":"5.3.1",
	 "consent_version":"5.4.2",
         "serverside_version":"5.3.1"
      },
      "event_timestamp":1673571636026
   }
}

Fields details

Here are fields automatically added by the sdk.

(*) IP Address is not collected by our libraries, but instead filled in by our servers when it receives a message for client side events only.

context

Field name
Example value
Description
Platform

event_id

8f6e05dd-6df0-476c-9c56-5d277fac7cea

A random UUID generated at the serialization of the event instance

Both

event_timestamp

1673571636026

Timestamp of the event sending time.

Both

context.app

Field name
Example value
Description
Platform

namespace

com.tagcommander.TCDemo

The app name-space

Both

name

TCDemo

The app name

Both

build

1

The application build ID

Both

version

1.1

The app version

Both

serverside_version

5.1.0

The server-side module’s version

Both

core_version

5.1.0

The core module’s version

Both

consent_version

5.3.3

The consent module’s version

Both

context.device

Field name
Example value
Description
Platform

manufacturer

Apple

The manufacturer of the hardware

Both

model

iPhone7.3

The device model

Both

name

maguro

The device given name

Both

sdk_id

C32272DB0-C21E-11E4-8DFC-AA07A5B093DB

A random UUID generated at the first launch of the SDK

Both

timezone

Europe/Paris

The detailed timezone

Both

type

android

The os name

Both

language

en

The device default language

Both

region

US

The device default region

Both

The next fields require consent and are added when you call "addAdvertisingIDs" from the ServerSide class.

Field name
Example value
Description
Platform

advertising_id

705EB54D-9FC7-4730-BF1B-A5D0494E1D8C

Either IDFA or AAD

Both

idfv

5E35A9BA-C945-4A79-80B6-D89139471308

IDFV

iOS

ad_tracking_enabled

true

Has the user enabled ad tracking

Both

user

User contains all fields declared inside https://doc.commandersact.com/developers/tracking/events-reference/common-events#user

Field name
Example value
Description
Platform

consistent_anonymous_id

b5c6aa4e-0532-40c0-bf6b-a77bff46d600

Anonymous id generated for consent. Usualy the same as sdk_id

Both

consent_categories

["1","2","10019","10018","13001"]

List of accepted categories

Both

ID

"anything"

No default value but can be used by client if they need a specific ID

Both

consentID

b5c6aa4e-0532-40c0-bf6b-a77bff46d600

ID used to send consent information. Default to consistent_anonymous_id

Both

context.device.os

Field name
Example value
Description
Platform

name

ios

The operating system name

Both

version

15.5

The OS version

Both

context.device.screen

Field name
Example value
Description
Platform

width

390

The device’s screen width

Both

height

844

The device’s screen height

Both

density

2

The device’s screen density

Android

context.device.network

Field name
Example value
Description
Platform

bluetooth

false

Is the bluetooth connected

Both

cellular

true

Is the cellular connected

Both

carrier

T-Mobile US

Carrier's name (only when cellular is connected)

Android

wifi

false

Is the wifi connected

Android

context.device.lifecycle

Field name
Example value
Description
Platform

session_id

F318C0D1-1DDB-4B53-9326-F2078A97CD38

An id specific to this session

Both

new_session

false

True if this hit is the first of a new session

Both

session_duration

8291

The time spent during this session

Both

current_session

1655824764174

Timestamp of the start of the current session

Both

visit_number

1

Number of times the application was launched

Both

current_visit

1655824764174

Timestamp of the start of the current visit

Both

current_version_first_visit

1655824764174

Timestamp of the first visit for this application version

Both

session_number

1

The number of sessions

Both

first_visit

1655824764174

Timestamp of the first app visit

Both

last_visit

1655824764174

Timestamp of the last visit

Both

last_call

1655824772416

Timestamp of the previous hit

Both

last_session_start

0

Timestamp of the start of the previous session

Both

last_session_last_hit

0

Timestamp of the last hit sent during the previous session

Both

foreground_transitions

2

Number of times the app when from background to foreground

Both

foreground_time

8278

Time the application spent in foreground

Both

background_time

0

Time the application spent in background

Both

first_execute

false

Is this the first hit of this cold launch

Both

is_first_visit

true

Is this the first launch of this application. (together with first execute you can validate a new installations)

Both

Last updated