Events are custom names you assign to different actions a user may take in your application. Events usually fall into three categories:

  • Page views
  • Button clicks
  • Form submissions

Tracking an event means sending the event name and related data to Outbound for message campaigns. For example, each time a user renews their membership, your system could send an event named renewMembership with some related data to Outbound. If your company has created a campaign in Outbound to respond to the renewMembership event, and the event identifies the user renewing her membership as Jane Doe, then Outbound sends a predefined message to Jane Doe -- perhaps thanking her for renewing her membership. See Users.

You can send the event data to Outbound using any of the following methods:

  • Use the Track Event endpoint in the Outbound REST API
  • Use the track() method in any of the Outbound integration options

You can define an event name in Outbound by simply sending an event with that name to Outbound. See Event properties below. You can also define event names with the Events page (Settings > Events) in Outbound before sending any events. If you define a name in Outbound, make sure the name of the events you send later matches exactly the name defined in Outbound.

Event properties

Events are represented by the following properties. Some Outbound libraries may not implement all the properties or use slightly different names. For implementation details, see the docs for your library.

Name Type Mandatory Description
event string yes The name of the event. Can be anything you want and contain any character
user_id string yes The Outbound id of the user. See Users
properties object no Custom properties associated with the event. See Properties below
timestamp timestamp no Unix timestamp for each event. See Timestamp below
Properties attribute

The team in your organization responsible for creating Outbound campaigns may ask for additional information about an event so they can customize or personalize a message for each user. For example, after a user renews a membership, they might want to mention in the thank you message that the user's membership is valid until a certain date.

Use the properties attribute to provide more detail about the user's action. Example:

"properties": {
  "membership_valid": true,
  "membership_renewalDate": "2018-06-12"

The properties property is always an object, even if you only have one property:

"properties": {
  "membership_renewalDate": "2018-06-12"

You can nest properties:

eventProperties = {
  total: "45.00",
  membership: {
    valid: true,
    renewalDate: "2018-06-12"
  items: 5

The team responsible for setting up campaigns can insert the example values in a message by selecting the membership.valid or membership.renewalDate property from the "@" variable list in the Outbound message editor.

To view the existing properties for every event in Outbound, open the Events page and click on the Plus (+) icon on the left side of an event's name.



You can specify your own time stamp for each event. The timestamp attribute should be a UNIX epoch time in seconds. Example:

"timestamp": 1529366403
JSON example

For other data formats, see the docs for your integration option.

  "event": "renewMembership",
  "user_id": "",
  "properties": {
    "membership_valid": true,
    "membership_renewalDate": "2018-06-12"
  "timestamp": 1529366403