This page helps you to understand the types of events and how to send events to Contlo.
Analyzing events helps in understanding how users interact with an application. There are four types of events in the Contlo SDK:
System events
These events are fired automatically by the SDK.
- App launched: This event is fired when the app is launched from the background or killed state.
- App installed: This event is fired when a user installs or reinstalls the app, or clears app data, and launches it for the first time.
- App updated: This event is fired when a user opens the app for the first time after updating.
Message events
These events are related to push notifications that are automatically sent to Contlo.
- Mobile push received: This event is fired when the SDK receives the notification payload from Contlo.
- Mobile push clicked: This event is fired when the user clicks the notification.
Custom events
These events are the user journey events that you would track across the user journey. You can send the custom events using the sendEvent()
method. Refer to the code given below:
Contlo.sendEvent(eventName: "event name")
You can send additional parameters in the sendEvent()
method. Refer to the examples below:
Example 1: You can send events with custom properties mapped to the event being sent. Refer to the code given below:
let map = ["eventKey": "eventData"]
Contlo.sendEvent(eventName: "event Name",
eventProperty: map
)
Example 2: You can also send profile properties (mapped to the profile of the current user) to Contlo:
let map = ["eventKey": "eventData"]
let profileMap = ["userType": "paid"]
Contlo.sendEvent(eventName: "event Name",
eventProperty: map,
profileProperty: profileMap
)
Charged event
This is a special event that captures details of customer purchases, including items, categories, transaction amount, transaction ID, and information about the respective user. Recording a purchase against a user marks them as a customer in Contlo. This enables you to compare your funnel reports between customers and non-customers.
Properties
The charged event has the following properties:
Parameter | Type | Description |
---|---|---|
event_id | string | Used to map the event. |
transacation_value | string | The total transaction amount attributed to the revenue. |
variant_id | string | The corresponding variant(s) ID for which the transaction is taking place. |
event_type | string | Type of event (Charged) |
currency | string | Currency code of variant prices. Follows ISO 4217:2015 format. |
transaction_id | string | Unique identifier of the transaction. |
string | Email ID of the customer | |
phone number | string | Phone number of the customer. |
product_id | string | The corresponding product (s) ID for which the transaction is taking place. |
time | Long | Epoch time in milliseconds. |
Sample JSON:
{
"event_id":95962,
"event":"order_placed",
"email":"[email protected]",
"phone_number":"+911234567890",
"properties":{
"event_type":"charged",
"transaction_value":6600,
"transaction_id":"pay_N0km1m5ZSVp5kd",
"order_id":"12344abc",
"currency":"inr",
"total_discount":123.34,
"shipping_price":100.00,
"subtotal_price":200,
"total_tax":1234.00,
"product_ids":[
"20998",
"18318",
"18312"
],
"collection_ids":[
],
"variant_ids":[
"20998INR",
"18318INR",
"18312INR"
],
"product_prices":[
100,
200,
300
],
"product_quantities":[
2,
1,
1
]
},
"device_event_time":1669899600000
}
Please note the following when sending a charge event:
- Please send 0 if there is no discount/shipping price etc. and do not send null.
- The total price is before adding the tax and discount.
- Ensure to keep the products updated on Contlo to avoid any mismatch of product ID mapping.
- No. of items in the arrays for product prices and quantity should be equal.