Track User Events
The Hackle SDK provides a feature to send user events to Hackle. By utilizing this feature at points where user behavior changes, you can gather meaningful data about user actions, enabling you to analyze user behavior.
Track
You can send user events using the Track()
method by providing an event and a user. If necessary, you can include a numeric value in the value
when sending user events.
- The
value
can only be of type number.
Example
Let's assume you want to collect an event key called "purchase" when a user clicks the "purchase" button. In this case, you may also want to collect the purchase amount. You can include the purchase amount in the value
in such cases.
import "github.com/hackle-io/hackle-go-sdk/hackle"
// Sending an event called "purchase" generated by a user with the identifier "ae2182e0"
// Example 1: Sending only the event key
user := hackle.NewUserBuilder().ID("ae2182e0").Build()
event := hackle.NewEvent("purchase")
hackleClient.Track(event, user)
/* Example 2: Sending the event key along with a numeric value */
user := hackle.NewUserBuilder().ID("ae2182e0").Build()
event = hackle.NewEventBuilder("purchase").
Value(13200). // Include the numeric value to be collected along with the event key in the value
Build()
hackleClient.Track(event, user)
In Example 1, only the event key is sent. In Example 2, a case is shown where the purchase amount is included in the value
to collect it.
Properties
The Hackle SDK supports adding properties to the Event object.
- Properties must be sent as key-value pairs.
- You can add up to a maximum of 64 properties to an event object.
Key
- It is recommended to create key names like regular variable names but make them easy to identify.
- The character limit for keys is 64 characters.
- Case is not sensitive. For example, "amount" and "AMOUNT" are recognized as the same key.
Value
- Values can be boolean, string, or number types.
- For string types, the character limit is 64 characters.
- For number types, the maximum integer length is 15 digits, and the maximum decimal length is 6 digits.
Example
In the example below, three properties (pay_method
, discount_amount
, is_discount
) are added:
import "github.com/hackle-io/hackle-go-sdk/hackle"
event = hackle.NewEventBuilder("purchase").
Property("pay_method", "CARD").
Property("discount_amount", 800).
Property("is_discount", true).
Build()
hackleClient.Track(event, user)
Updated about 1 year ago